diff options
author | redfish <redfish@galactica.pw> | 2016-09-17 13:59:29 -0400 |
---|---|---|
committer | redfish <redfish@galactica.pw> | 2016-09-18 02:56:26 -0400 |
commit | e1c7af35d47c6f54628418f67128074c1bcd4858 (patch) | |
tree | 70bc29dbab48ac5e7d6c1b51dbbe0974704e7214 /src | |
parent | crypto: armv7: slow-hash: remove redundant source include (diff) | |
download | monero-e1c7af35d47c6f54628418f67128074c1bcd4858.tar.xz |
cmake: transitive deps and remove deprecated LINK_*
Keep the immediate direct deps at the library that depends on them,
declare deps as PUBLIC so that targets that link against that library
get the library's deps as transitive deps.
Break dep cycle between blockchain_db <-> crytonote_core.
No code refactoring, just hide cycle from cmake so that
it doesn't complain (cycles are allowed only between
static libs, not shared libs).
This is in preparation for supproting BUILD_SHARED_LIBS cmake
built-in option for building internal libs as shared.
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/blockchain_db/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/blockchain_utilities/CMakeLists.txt | 24 | ||||
-rw-r--r-- | src/common/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/crypto/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/cryptonote_core/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/cryptonote_protocol/CMakeLists.txt | 14 | ||||
-rw-r--r-- | src/daemon/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/daemonizer/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/mnemonics/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/p2p/CMakeLists.txt | 17 | ||||
-rw-r--r-- | src/ringct/CMakeLists.txt | 10 | ||||
-rw-r--r-- | src/rpc/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/simplewallet/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/wallet/CMakeLists.txt | 8 |
15 files changed, 63 insertions, 67 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55a276f06..a2e650928 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -66,7 +66,7 @@ function (bitmonero_add_executable name) add_executable("${name}" ${ARGN}) target_link_libraries("${name}" - LINK_PRIVATE + PRIVATE ${EXTRA_LIBRARIES}) set_property(TARGET "${name}" PROPERTY diff --git a/src/blockchain_db/CMakeLists.txt b/src/blockchain_db/CMakeLists.txt index 39459d5c4..7bca66b8b 100644 --- a/src/blockchain_db/CMakeLists.txt +++ b/src/blockchain_db/CMakeLists.txt @@ -60,18 +60,12 @@ bitmonero_add_library(blockchain_db ${blockchain_db_headers} ${blockchain_db_private_headers}) target_link_libraries(blockchain_db - LINK_PUBLIC + PUBLIC common crypto - cryptonote_core - ${Boost_DATE_TIME_LIBRARY} - ${Boost_CHRONO_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} ${LMDB_LIBRARY} ${BDB_LIBRARY} - LINK_PRIVATE ${Boost_FILESYSTEM_LIBRARY} - ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} + PRIVATE ${EXTRA_LIBRARIES}) diff --git a/src/blockchain_utilities/CMakeLists.txt b/src/blockchain_utilities/CMakeLists.txt index 6f62128cc..13093f6ad 100644 --- a/src/blockchain_utilities/CMakeLists.txt +++ b/src/blockchain_utilities/CMakeLists.txt @@ -63,11 +63,15 @@ bitmonero_add_executable(blockchain_import ${blockchain_import_private_headers}) target_link_libraries(blockchain_import - LINK_PRIVATE + PRIVATE cryptonote_core - blockchain_db - p2p - ${CMAKE_THREAD_LIBS_INIT}) + blockchain_db + p2p + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${Boost_THREAD_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBRARIES}) if(ARCH_WIDTH) target_compile_definitions(blockchain_import @@ -85,11 +89,15 @@ bitmonero_add_executable(blockchain_export ${blockchain_export_private_headers}) target_link_libraries(blockchain_export - LINK_PRIVATE + PRIVATE cryptonote_core - p2p - blockchain_db - ${CMAKE_THREAD_LIBS_INIT}) + blockchain_db + p2p + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${Boost_THREAD_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT} + ${EXTRA_LIBRARIES}) add_dependencies(blockchain_export version) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 7a2457c93..744559072 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -62,13 +62,15 @@ bitmonero_add_library(common ${common_headers} ${common_private_headers}) target_link_libraries(common - LINK_PRIVATE + PUBLIC crypto ${UNBOUND_LIBRARY} ${LIBUNWIND_LIBRARIES} ${Boost_DATE_TIME_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} + ${Boost_THREAD_LIBRARY} + PRIVATE ${EXTRA_LIBRARIES}) #bitmonero_install_headers(common diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt index ed668022f..28f845d47 100644 --- a/src/crypto/CMakeLists.txt +++ b/src/crypto/CMakeLists.txt @@ -74,6 +74,11 @@ bitmonero_add_library(crypto ${crypto_sources} ${crypto_headers} ${crypto_private_headers}) +target_link_libraries(crypto + PUBLIC + ${Boost_SYSTEM_LIBRARY} + PRIVATE + ${EXTRA_LIBRARIES}) if (ARM) option(NO_OPTIMIZED_MULTIPLY_ON_ARM diff --git a/src/cryptonote_core/CMakeLists.txt b/src/cryptonote_core/CMakeLists.txt index 4ebfd01e3..89bf2f682 100644 --- a/src/cryptonote_core/CMakeLists.txt +++ b/src/cryptonote_core/CMakeLists.txt @@ -73,7 +73,7 @@ bitmonero_add_library(cryptonote_core ${cryptonote_core_headers} ${cryptonote_core_private_headers}) target_link_libraries(cryptonote_core - LINK_PUBLIC + PUBLIC common crypto otshell_utils @@ -82,9 +82,9 @@ target_link_libraries(cryptonote_core ${Boost_DATE_TIME_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} - LINK_PRIVATE - ${Blocks} ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} + PRIVATE + ${Blocks} ${EXTRA_LIBRARIES}) diff --git a/src/cryptonote_protocol/CMakeLists.txt b/src/cryptonote_protocol/CMakeLists.txt index 0d759e9c4..21925b60e 100644 --- a/src/cryptonote_protocol/CMakeLists.txt +++ b/src/cryptonote_protocol/CMakeLists.txt @@ -32,16 +32,10 @@ project (bitmonero CXX) file(GLOB CRYPTONOTE_PROTOCOL *) source_group(cryptonote_protocol FILES ${CRYPTONOTE_PROTOCOL}) -#add_library(p2p ${P2P}) - -#bitmonero_private_headers(p2p ${CRYPTONOTE_PROTOCOL}) +#bitmonero_private_headers(cryptonote_protocol ${CRYPTONOTE_PROTOCOL}) bitmonero_add_library(cryptonote_protocol ${CRYPTONOTE_PROTOCOL}) -#target_link_libraries(p2p) -# LINK_PRIVATE -# ${Boost_CHRONO_LIBRARY} -# ${Boost_REGEX_LIBRARY} -# ${Boost_SYSTEM_LIBRARY} -# ${Boost_THREAD_LIBRARY} -# ${EXTRA_LIBRARIES}) +target_link_libraries(cryptonote_protocol + PRIVATE + ${EXTRA_LIBRARIES}) add_dependencies(cryptonote_protocol version) diff --git a/src/daemon/CMakeLists.txt b/src/daemon/CMakeLists.txt index a8c93aa0f..8f9a50f13 100644 --- a/src/daemon/CMakeLists.txt +++ b/src/daemon/CMakeLists.txt @@ -83,7 +83,7 @@ bitmonero_add_executable(daemon ${blocksdat} ) target_link_libraries(daemon - LINK_PRIVATE + PRIVATE rpc blockchain_db cryptonote_core @@ -98,9 +98,7 @@ target_link_libraries(daemon ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_REGEX_LIBRARY} ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} - ${UPNP_LIBRARIES} ${EXTRA_LIBRARIES}) add_dependencies(daemon version) set_property(TARGET daemon diff --git a/src/daemonizer/CMakeLists.txt b/src/daemonizer/CMakeLists.txt index 3ca6841e5..eee2c5091 100644 --- a/src/daemonizer/CMakeLists.txt +++ b/src/daemonizer/CMakeLists.txt @@ -61,14 +61,10 @@ bitmonero_add_library(daemonizer ${daemonizer_headers} ${daemonizer_private_headers}) target_link_libraries(daemonizer - LINK_PRIVATE + PUBLIC common ${Boost_CHRONO_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_REGEX_LIBRARY} - ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} - ${CMAKE_THREAD_LIBS_INIT} - ${UPNP_LIBRARIES} + PRIVATE ${EXTRA_LIBRARIES}) diff --git a/src/mnemonics/CMakeLists.txt b/src/mnemonics/CMakeLists.txt index 1d43a02e7..34670f32d 100644 --- a/src/mnemonics/CMakeLists.txt +++ b/src/mnemonics/CMakeLists.txt @@ -51,5 +51,5 @@ bitmonero_add_library(mnemonics ${mnemonics_headers} ${mnemonics_private_headers}) target_link_libraries(mnemonics - LINK_PRIVATE - ${Boost_SYSTEM_LIBRARY}) + PRIVATE + ${EXTRA_LIBRARIES}) diff --git a/src/p2p/CMakeLists.txt b/src/p2p/CMakeLists.txt index 73b39c45d..f59bc3189 100644 --- a/src/p2p/CMakeLists.txt +++ b/src/p2p/CMakeLists.txt @@ -36,12 +36,15 @@ source_group(p2p FILES ${P2P}) #bitmonero_private_headers(p2p ${P2P}) bitmonero_add_library(p2p ${P2P}) -#target_link_libraries(p2p) -# LINK_PRIVATE -# ${Boost_CHRONO_LIBRARY} -# ${Boost_REGEX_LIBRARY} -# ${Boost_SYSTEM_LIBRARY} -# ${Boost_THREAD_LIBRARY} -# ${EXTRA_LIBRARIES}) +target_link_libraries(p2p + PUBLIC + ${UPNP_LIBRARIES} + ${Boost_CHRONO_LIBRARY} + ${Boost_PROGRAM_OPTIONS_LIBRARY} + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${Boost_THREAD_LIBRARY} + PRIVATE + ${EXTRA_LIBRARIES}) add_dependencies(p2p version) diff --git a/src/ringct/CMakeLists.txt b/src/ringct/CMakeLists.txt index 078199bb0..e513c5a09 100644 --- a/src/ringct/CMakeLists.txt +++ b/src/ringct/CMakeLists.txt @@ -46,14 +46,8 @@ bitmonero_add_library(ringct ${ringct_headers} ${ringct_private_headers}) target_link_libraries(ringct - LINK_PUBLIC + PUBLIC common crypto - ${Boost_DATE_TIME_LIBRARY} - ${Boost_PROGRAM_OPTIONS_LIBRARY} - ${Boost_SERIALIZATION_LIBRARY} - LINK_PRIVATE - ${Boost_FILESYSTEM_LIBRARY} - ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} + PRIVATE ${EXTRA_LIBRARIES}) diff --git a/src/rpc/CMakeLists.txt b/src/rpc/CMakeLists.txt index 6e90d1a91..1716da75b 100644 --- a/src/rpc/CMakeLists.txt +++ b/src/rpc/CMakeLists.txt @@ -43,13 +43,11 @@ bitmonero_add_library(rpc ${rpc_headers} ${rpc_private_headers}) target_link_libraries(rpc - LINK_PRIVATE + PUBLIC cryptonote_core cryptonote_protocol - ${Boost_CHRONO_LIBRARY} - ${Boost_REGEX_LIBRARY} - ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} + PRIVATE ${EXTRA_LIBRARIES}) add_dependencies(rpc version) diff --git a/src/simplewallet/CMakeLists.txt b/src/simplewallet/CMakeLists.txt index 572819899..5745781ef 100644 --- a/src/simplewallet/CMakeLists.txt +++ b/src/simplewallet/CMakeLists.txt @@ -43,7 +43,7 @@ bitmonero_add_executable(simplewallet ${simplewallet_headers} ${simplewallet_private_headers}) target_link_libraries(simplewallet - LINK_PRIVATE + PRIVATE wallet rpc cryptonote_core @@ -51,8 +51,10 @@ target_link_libraries(simplewallet common mnemonics p2p - ${UNBOUND_LIBRARY} - ${UPNP_LIBRARIES} + ${Boost_CHRONO_LIBRARY} + ${Boost_PROGRAM_OPTIONS_LIBRARY} + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_THREAD_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) add_dependencies(simplewallet diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt index 96653556b..506eaef85 100644 --- a/src/wallet/CMakeLists.txt +++ b/src/wallet/CMakeLists.txt @@ -64,17 +64,19 @@ bitmonero_add_library(wallet ${wallet_api_headers} ${wallet_private_headers}) target_link_libraries(wallet - LINK_PUBLIC + PUBLIC cryptonote_core mnemonics - LINK_PRIVATE + p2p + ${Boost_CHRONO_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} + ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY} ${Boost_REGEX_LIBRARY} + PRIVATE ${EXTRA_LIBRARIES}) - # build and install libwallet_merged only if we building for GUI if (BUILD_GUI_DEPS) set(libs_to_merge wallet cryptonote_core mnemonics common crypto ringct) |