From 99497b38f6c66462beaf1663b86029885e800834 Mon Sep 17 00:00:00 2001 From: Daniel Pfeifer Date: Thu, 9 Oct 2025 17:28:47 +0200 Subject: [PATCH] cmake: Unconditionally add .rc files to sources CMake ignores .rc files when compiling for non-Windows platform. Checking for WIN32 before adding an .rc file to sources is redundant. --- cmake/module/AddWindowsResources.cmake | 6 ------ src/CMakeLists.txt | 29 +++++++++++++++++--------- src/qt/CMakeLists.txt | 2 +- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/cmake/module/AddWindowsResources.cmake b/cmake/module/AddWindowsResources.cmake index 1cdcb6dfb27..8fad425a3e6 100644 --- a/cmake/module/AddWindowsResources.cmake +++ b/cmake/module/AddWindowsResources.cmake @@ -4,12 +4,6 @@ include_guard(GLOBAL) -function(add_windows_resources target rc_file) - if(WIN32) - target_sources(${target} PRIVATE ${rc_file}) - endif() -endfunction() - # Add a fusion manifest to Windows executables. # See: https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests function(add_windows_application_manifest target) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2b6840bbc39..15f5dd276b4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -164,10 +164,10 @@ if(ENABLE_WALLET) if(BUILD_WALLET_TOOL) add_executable(bitcoin-wallet bitcoin-wallet.cpp + bitcoin-wallet-res.rc init/bitcoin-wallet.cpp wallet/wallettool.cpp ) - add_windows_resources(bitcoin-wallet bitcoin-wallet-res.rc) add_windows_application_manifest(bitcoin-wallet) target_link_libraries(bitcoin-wallet core_interface @@ -302,8 +302,10 @@ endif() # Bitcoin wrapper executable that can call other executables. if(BUILD_BITCOIN_BIN) - add_executable(bitcoin bitcoin.cpp) - add_windows_resources(bitcoin bitcoin-res.rc) + add_executable(bitcoin + bitcoin.cpp + bitcoin-res.rc + ) add_windows_application_manifest(bitcoin) target_link_libraries(bitcoin core_interface bitcoin_common bitcoin_util) install_binary_component(bitcoin HAS_MANPAGE) @@ -313,9 +315,9 @@ endif() if(BUILD_DAEMON) add_executable(bitcoind bitcoind.cpp + bitcoind-res.rc init/bitcoind.cpp ) - add_windows_resources(bitcoind bitcoind-res.rc) add_windows_application_manifest(bitcoind) target_link_libraries(bitcoind core_interface @@ -352,8 +354,11 @@ target_link_libraries(bitcoin_cli # Bitcoin Core RPC client if(BUILD_CLI) - add_executable(bitcoin-cli bitcoin-cli.cpp init/basic.cpp) - add_windows_resources(bitcoin-cli bitcoin-cli-res.rc) + add_executable(bitcoin-cli + bitcoin-cli.cpp + bitcoin-cli-res.rc + init/basic.cpp + ) add_windows_application_manifest(bitcoin-cli) target_link_libraries(bitcoin-cli core_interface @@ -367,8 +372,10 @@ endif() if(BUILD_TX) - add_executable(bitcoin-tx bitcoin-tx.cpp) - add_windows_resources(bitcoin-tx bitcoin-tx-res.rc) + add_executable(bitcoin-tx + bitcoin-tx.cpp + bitcoin-tx-res.rc + ) add_windows_application_manifest(bitcoin-tx) target_link_libraries(bitcoin-tx core_interface @@ -381,8 +388,10 @@ endif() if(BUILD_UTIL) - add_executable(bitcoin-util bitcoin-util.cpp) - add_windows_resources(bitcoin-util bitcoin-util-res.rc) + add_executable(bitcoin-util + bitcoin-util.cpp + bitcoin-util-res.rc + ) add_windows_application_manifest(bitcoin-util) target_link_libraries(bitcoin-util core_interface diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt index ae557d86e3d..5ed3ddbc8df 100644 --- a/src/qt/CMakeLists.txt +++ b/src/qt/CMakeLists.txt @@ -257,10 +257,10 @@ add_subdirectory(locale) add_executable(bitcoin-qt WIN32 main.cpp + res/bitcoin-qt-res.rc ../init/bitcoin-qt.cpp ) -add_windows_resources(bitcoin-qt res/bitcoin-qt-res.rc) add_windows_application_manifest(bitcoin-qt) target_link_libraries(bitcoin-qt