cmake: Add config/bitcoin-config.h support

This commit is contained in:
Hennadii Stepanov 2024-08-06 18:16:47 +01:00
parent fe5cdace5f
commit 27d687fc1f
No known key found for this signature in database
GPG Key ID: 410108112E7EA81F
3 changed files with 60 additions and 0 deletions

View File

@ -74,6 +74,16 @@ target_link_libraries(core_interface INTERFACE
$<$<CONFIG:Debug>:core_interface_debug> $<$<CONFIG:Debug>:core_interface_debug>
) )
# TODO: The `CMAKE_SKIP_BUILD_RPATH` variable setting can be deleted
# in the future after reordering Guix script commands to
# perform binary checks after the installation step.
# Relevant discussions:
# - https://github.com/hebasto/bitcoin/pull/236#issuecomment-2183120953
# - https://github.com/bitcoin/bitcoin/pull/30312#issuecomment-2191235833
set(CMAKE_SKIP_BUILD_RPATH TRUE)
set(CMAKE_SKIP_INSTALL_RPATH TRUE)
add_subdirectory(src)
message("\n") message("\n")
message("Configure summary") message("Configure summary")
message("=================") message("=================")

44
cmake/bitcoin-config.h.in Normal file
View File

@ -0,0 +1,44 @@
// Copyright (c) 2023-present The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or https://opensource.org/license/mit/.
#ifndef BITCOIN_CONFIG_H
#define BITCOIN_CONFIG_H
/* Version Build */
#define CLIENT_VERSION_BUILD @CLIENT_VERSION_BUILD@
/* Version is release */
#define CLIENT_VERSION_IS_RELEASE @CLIENT_VERSION_IS_RELEASE@
/* Major version */
#define CLIENT_VERSION_MAJOR @CLIENT_VERSION_MAJOR@
/* Minor version */
#define CLIENT_VERSION_MINOR @CLIENT_VERSION_MINOR@
/* Copyright holder(s) before %s replacement */
#define COPYRIGHT_HOLDERS "@COPYRIGHT_HOLDERS@"
/* Copyright holder(s) */
#define COPYRIGHT_HOLDERS_FINAL "@COPYRIGHT_HOLDERS_FINAL@"
/* Replacement for %s in copyright holders string */
#define COPYRIGHT_HOLDERS_SUBSTITUTION "@PACKAGE_NAME@"
/* Copyright year */
#define COPYRIGHT_YEAR @COPYRIGHT_YEAR@
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
/* Define to the full name of this package. */
#define PACKAGE_NAME "@PACKAGE_NAME@"
/* Define to the home page for this package. */
#define PACKAGE_URL "@PROJECT_HOMEPAGE_URL@"
/* Define to the version of this package. */
#define PACKAGE_VERSION "@PACKAGE_VERSION@"
#endif //BITCOIN_CONFIG_H

6
src/CMakeLists.txt Normal file
View File

@ -0,0 +1,6 @@
# Copyright (c) 2023-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or https://opensource.org/license/mit/.
configure_file(${PROJECT_SOURCE_DIR}/cmake/bitcoin-config.h.in config/bitcoin-config.h @ONLY)
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})