diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3a229ddda..ec773ae02 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,6 +32,19 @@ add_definitions(-DSTATICLIB) # miniupnp changed their static define add_definitions(-DMINIUPNP_STATICLIB) +function (bitmonero_private_headers group) + source_group("${group}\\Private" + FILES + ${ARGN}) +endfunction () + +function (bitmonero_install_headers subdir) + install( + FILES ${ARGN} + DESTINATION "include/${subdir}" + COMPONENT development) +endfunction () + function (bitmonero_add_executable name) source_group("${name}" FILES diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 47456afbd..fcc30e192 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -32,7 +32,9 @@ set(common_sources dns_utils.cpp util.cpp) -set(common_headers +set(common_headers) + +set(common_private_headers base58.h boost_serialization_helper.h command_line.h @@ -43,9 +45,12 @@ set(common_headers util.h varint.h) +bitmonero_private_headers(common + ${common_private_headers}) bitmonero_add_library(common ${common_sources} - ${common_headers}) + ${common_headers} + ${common_private_headers}) target_link_libraries(common PRIVATE crypto @@ -54,3 +59,6 @@ target_link_libraries(common ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${EXTRA_LIBRARIES}) + +#bitmonero_install_headers(common +# ${common_headers}) diff --git a/src/connectivity_tool/CMakeLists.txt b/src/connectivity_tool/CMakeLists.txt index de52b0648..b3a495af9 100644 --- a/src/connectivity_tool/CMakeLists.txt +++ b/src/connectivity_tool/CMakeLists.txt @@ -29,11 +29,11 @@ set(connectivity_tool_sources conn_tool.cpp) -set(connectivity_tool_headers) +set(connectivity_tool_private_headers) bitmonero_add_executable(connectivity_tool ${connectivity_tool_sources} - ${connectivity_tool_headers}) + ${connectivity_tool_private_headers}) target_link_libraries(connectivity_tool PRIVATE cryptonote_core diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt index d13b9c8bc..4afcab9c8 100644 --- a/src/crypto/CMakeLists.txt +++ b/src/crypto/CMakeLists.txt @@ -47,7 +47,9 @@ set(crypto_sources slow-hash.c tree-hash.c) -set(crypto_headers +set(crypto_headers) + +set(crypto_private_headers blake256.h chacha8.h crypto-ops.h @@ -66,6 +68,9 @@ set(crypto_headers skein.h skein_port.h) +bitmonero_private_headers(crypto + ${crypto_private_headers}) bitmonero_add_library(crypto ${crypto_sources} - ${crypto_headers}) + ${crypto_headers} + ${crypto_private_headers}) diff --git a/src/cryptonote_core/CMakeLists.txt b/src/cryptonote_core/CMakeLists.txt index fd84a75ca..c18b01b5d 100644 --- a/src/cryptonote_core/CMakeLists.txt +++ b/src/cryptonote_core/CMakeLists.txt @@ -38,7 +38,9 @@ set(cryptonote_core_sources miner.cpp tx_pool.cpp) -set(cryptonote_core_headers +set(cryptonote_core_headers) + +set(cryptonote_core_private_headers account.h account_boost_serialization.h blockchain_storage.h @@ -58,9 +60,12 @@ set(cryptonote_core_headers tx_pool.h verification_context.h) +bitmonero_private_headers(cryptonote_core + ${crypto_private_headers}) bitmonero_add_library(cryptonote_core ${cryptonote_core_sources} - ${cryptonote_core_headers}) + ${cryptonote_core_headers} + ${cryptonote_core_private_headers}) target_link_libraries(cryptonote_core PUBLIC common diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt index fdf6d697c..3fbac07ed 100644 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -29,7 +29,9 @@ set(daemon_sources daemon.cpp) -set(daemon_headers +set(daemon_headers) + +set(daemon_private_headers daemon_commands_handler.h # cryptonote_protocol @@ -48,9 +50,12 @@ set(daemon_headers ../p2p/p2p_protocol_defs.h ../p2p/stdafx.h) +bitmonero_private_headers(daemon + ${daemon_private_headers}) bitmonero_add_executable(daemon ${daemon_sources} - ${daemon_headers}) + ${daemon_headers} + ${daemon_private_headers}) target_link_libraries(daemon PRIVATE rpc diff --git a/src/miner/CMakeLists.txt b/src/miner/CMakeLists.txt index 7f8669665..1c26e759e 100644 --- a/src/miner/CMakeLists.txt +++ b/src/miner/CMakeLists.txt @@ -29,14 +29,19 @@ set(simpleminer_sources simpleminer.cpp) -set(simpleminer_headers +set(simpleminer_headers) + +set(simpleminer_private_headers simpleminer.h simpleminer_protocol_defs.h target_helper.h) +bitmonero_private_headers(simpleminer + ${simpleminer_private_headers}) bitmonero_add_executable(simpleminer ${simpleminer_sources} - ${simpleminer_headers}) + ${simpleminer_headers} + ${simpleminer_private_headers}) target_link_libraries(simpleminer PRIVATE cryptonote_core diff --git a/src/mnemonics/CMakeLists.txt b/src/mnemonics/CMakeLists.txt index 845856538..4f2c36f4e 100644 --- a/src/mnemonics/CMakeLists.txt +++ b/src/mnemonics/CMakeLists.txt @@ -29,7 +29,9 @@ set(mnemonics_sources electrum-words.cpp) -set(mnemonics_headers +set(mnemonics_headers) + +set(mnemonics_private_headers electrum-words.h english.h japanese.h @@ -39,9 +41,12 @@ set(mnemonics_headers singleton.h spanish.h) +bitmonero_private_headers(mnemonics + ${mnemonics_private_headers}) bitmonero_add_library(mnemonics ${mnemonics_sources} - ${mnemonics_headers}) + ${mnemonics_headers} + ${mnemonics_private_headers}) target_link_libraries(mnemonics PRIVATE ${Boost_SYSTEM_LIBRARY}) diff --git a/src/rpc/CMakeLists.txt b/src/rpc/CMakeLists.txt index 31efe7d4c..ba71c8e63 100644 --- a/src/rpc/CMakeLists.txt +++ b/src/rpc/CMakeLists.txt @@ -29,14 +29,19 @@ set(rpc_sources core_rpc_server.cpp) -set(rpc_headers +set(rpc_headers) + +set(rpc_private_headers core_rpc_server.h core_rpc_server_commands_defs.h core_rpc_server_error_codes.h) +bitmonero_private_headers(rpc + ${rpc_private_headers}) bitmonero_add_library(rpc ${rpc_sources} - ${rpc_headers}) + ${rpc_headers} + ${rpc_private_headers}) target_link_libraries(rpc PRIVATE cryptonote_core diff --git a/src/simplewallet/CMakeLists.txt b/src/simplewallet/CMakeLists.txt index 310efc2f1..682e660da 100644 --- a/src/simplewallet/CMakeLists.txt +++ b/src/simplewallet/CMakeLists.txt @@ -30,13 +30,18 @@ set(simplewallet_sources simplewallet.cpp password_container.cpp) -set(simplewallet_headers +set(simplewallet_headers) + +set(simplewallet_private_headers simplewallet.h password_container.h) +bitmonero_private_headers(simplewallet + ${simplewallet_private_headers}) bitmonero_add_executable(simplewallet ${simplewallet_sources} - ${simplewallet_headers}) + ${simplewallet_headers} + ${simplewallet_private_headers}) target_link_libraries(simplewallet PRIVATE wallet diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt index d7fae541d..e32d86a59 100644 --- a/src/wallet/CMakeLists.txt +++ b/src/wallet/CMakeLists.txt @@ -30,16 +30,21 @@ set(wallet_sources wallet2.cpp wallet_rpc_server.cpp) -set(wallet_headers +set(wallet_headers) + +set(wallet_private_headers wallet2.h wallet_errors.h wallet_rpc_server.h wallet_rpc_server_commands_defs.h wallet_rpc_server_error_codes.h) +bitmonero_private_headers(wallet + ${wallet_private_headers}) bitmonero_add_library(wallet ${wallet_sources} - ${wallet_headers}) + ${wallet_headers} + ${wallet_private_headers}) target_link_libraries(wallet PUBLIC cryptonote_core