diff options
35 files changed, 138 insertions, 135 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0c813b867..2761b32f7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,6 +49,7 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) message(STATUS "Setting default build type: ${CMAKE_BUILD_TYPE}") endif() +string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER) # ARCH defines the target architecture, either by an explicit identifier or # one of the following two keywords. By default, ARCH a value of 'native': @@ -63,11 +64,11 @@ if (NOT ARCH OR ARCH STREQUAL "" OR ARCH STREQUAL "native" OR ARCH STREQUAL "def else() set(ARCH_ID "${ARCH}") endif() -string(TOLOWER ${ARCH_ID} ARM_ID) -string(SUBSTRING ${ARCH_ID} 0 3 ARM_TEST) +string(TOLOWER "${ARCH_ID}" ARM_ID) +string(SUBSTRING "${ARCH_ID}" 0 3 ARM_TEST) if (ARM_TEST STREQUAL "arm") set(ARM 1) - string(SUBSTRING ${ARCH_ID} 0 5 ARM_TEST) + string(SUBSTRING "${ARCH_ID}" 0 5 ARM_TEST) if (ARM_TEST STREQUAL "armv6") set(ARM6 1) endif() @@ -179,6 +180,17 @@ else() endif() option(STATIC "Link libraries statically" ${DEFAULT_STATIC}) +# This is a CMake built-in switch that concerns internal libraries +if (NOT DEFINED BUILD_SHARED_LIBS AND NOT STATIC AND CMAKE_BUILD_TYPE_LOWER STREQUAL "debug") + set(BUILD_SHARED_LIBS ON CACHE STRING "Build internal libs as shared") +endif() +if (BUILD_SHARED_LIBS) + message(STATUS "Building internal libraries as shared") + set(PIC_FLAG "-fPIC") +else() + message(STATUS "Building internal libraries as static") +endif() + if(MINGW) string(REGEX MATCH "^[^/]:/[^/]*" msys2_install_path "${CMAKE_C_COMPILER}") message(STATUS "MSYS location: ${msys2_install_path}") @@ -365,8 +377,8 @@ else() set(COVERAGE_FLAGS "-fprofile-arcs -ftest-coverage --coverage") endif() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG}") # With GCC 6.1.1 the compiled binary malfunctions due to aliasing. Until that # is fixed in the code (Issue #847), force compiler to be conservative. @@ -103,7 +103,7 @@ library archives (`.a`). | libevent | 2.0 | NO | `libevent-dev` | `libevent` | NO | | | libunbound | 1.4.16 | YES | `libunbound-dev` | `unbound` | NO | | | libminiupnpc | 2.0 | YES | `libminiupnpc-dev` | `miniupnpc` | YES | NAT punching | -| libunwind | any | NO | `libunwind-dev` | `libunwind` | YES | stack traces | +| libunwind | any | NO | `libunwind8-dev` | `libunwind` | YES | stack traces | | ldns | 1.6.17 | NO | `libldns-dev` | `ldns` | YES | ? | | expat | 1.1 | NO | `libexpat1-dev` | `expat` | YES | ? | | GTest | 1.5 | YES | `libgtest-dev`^ | `gtest` | YES | test suite | @@ -263,6 +263,9 @@ service](utils/systemd/monerod.service) assumes that the user `monero` exists and its home is the data directory specified in the [example config](utils/conf/monerod.conf). +If you're on Mac, you may need to add the `--max-concurrency 1` option to +monero-wallet-cli, and possibly monerod, if you get crashes refreshing. + ## Internationalization See README.i18n diff --git a/contrib/otshell_utils/CMakeLists.txt b/contrib/otshell_utils/CMakeLists.txt index 7413e0dc5..464b125e4 100644 --- a/contrib/otshell_utils/CMakeLists.txt +++ b/contrib/otshell_utils/CMakeLists.txt @@ -9,6 +9,6 @@ file(GLOB otshell_utils_sources # All files in directory: "*.cpp" ) -add_library (otshell_utils STATIC ${otshell_utils_sources}) +add_library (otshell_utils ${otshell_utils_sources}) set_target_properties (otshell_utils PROPERTIES OUTPUT_NAME "otshell_utils") #target_link_libraries (upnpc-static ${LDLIBS}) # to add used libs diff --git a/external/db_drivers/liblmdb/CMakeLists.txt b/external/db_drivers/liblmdb/CMakeLists.txt index ec435d1c8..00b203e94 100644 --- a/external/db_drivers/liblmdb/CMakeLists.txt +++ b/external/db_drivers/liblmdb/CMakeLists.txt @@ -39,7 +39,7 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}") add_library(lmdb ${lmdb_sources}) target_link_libraries(lmdb - LINK_PRIVATE + PRIVATE ${CMAKE_THREAD_LIBS_INIT}) if(WIN32) target_link_libraries(lmdb diff --git a/external/unbound/CMakeLists.txt b/external/unbound/CMakeLists.txt index 4b82fab82..c1e2d6887 100644 --- a/external/unbound/CMakeLists.txt +++ b/external/unbound/CMakeLists.txt @@ -202,13 +202,13 @@ add_library(unbound ${compat_src} ${libunbound_src}) target_link_libraries(unbound - LINK_PRIVATE + PRIVATE ${OPENSSL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) if (WIN32) target_link_libraries(unbound - LINK_PRIVATE + PRIVATE iphlpapi ws2_32) endif () diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55a276f06..31694cf81 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 @@ -88,7 +88,7 @@ function (bitmonero_add_library name) # libwallet, which combines multiple components. set(objlib obj_${name}) add_library(${objlib} OBJECT ${ARGN}) - add_library("${name}" STATIC $<TARGET_OBJECTS:${objlib}>) + add_library("${name}" $<TARGET_OBJECTS:${objlib}>) set_property(TARGET "${name}" PROPERTY FOLDER "libs") 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/crypto/slow-hash.c b/src/crypto/slow-hash.c index 90fda3470..2ac303a36 100644 --- a/src/crypto/slow-hash.c +++ b/src/crypto/slow-hash.c @@ -939,7 +939,6 @@ void cn_slow_hash(const void *data, size_t length, char *hash) // ND: Some minor optimizations for ARMv7 (raspberrry pi 2), effect seems to be ~40-50% faster. // Needs more work. -#include "aesb.c" #ifdef NO_OPTIMIZED_MULTIPLY_ON_ARM /* The asm corresponds to this C code */ 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_core/miner.cpp b/src/cryptonote_core/miner.cpp index bad3f30bd..ec717a13d 100644 --- a/src/cryptonote_core/miner.cpp +++ b/src/cryptonote_core/miner.cpp @@ -391,7 +391,8 @@ namespace cryptonote }else { //success update, lets update config - epee::serialization::store_t_to_json_file(m_config, m_config_folder_path + "/" + MINER_CONFIG_FILE_NAME); + if (!m_config_folder_path.empty()) + epee::serialization::store_t_to_json_file(m_config, m_config_folder_path + "/" + MINER_CONFIG_FILE_NAME); } } nonce+=m_threads_total; 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/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 2c1d4096f..7260ecf8a 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -2484,11 +2484,12 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri } catch (const tools::error::not_enough_money& e) { - fail_msg_writer() << boost::format(tr("not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)")) % + LOG_PRINT_L0(boost::format("not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)") % print_money(e.available()) % print_money(e.tx_amount() + e.fee()) % print_money(e.tx_amount()) % - print_money(e.fee()); + print_money(e.fee())); + fail_msg_writer() << tr("Failed to find a way to create transactions"); } catch (const tools::error::not_enough_outs_to_mix& e) { @@ -2645,12 +2646,12 @@ bool simple_wallet::sweep_unmixable(const std::vector<std::string> &args_) } catch (const tools::error::not_enough_money& e) { - fail_msg_writer() << boost::format(tr("not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee).\n%s")) % + LOG_PRINT_L0(boost::format("not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)") % print_money(e.available()) % - print_money(e.tx_amount() + e.fee()) % + print_money(e.tx_amount() + e.fee()) % print_money(e.tx_amount()) % - print_money(e.fee()) % - tr("This is usually due to dust which is so small it cannot pay for itself in fees"); + print_money(e.fee())); + fail_msg_writer() << tr("Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees"); } catch (const tools::error::not_enough_outs_to_mix& e) { @@ -2877,12 +2878,12 @@ bool simple_wallet::sweep_all(const std::vector<std::string> &args_) } catch (const tools::error::not_enough_money& e) { - fail_msg_writer() << boost::format(tr("not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee).\n%s")) % + LOG_PRINT_L0(boost::format("not enough money to transfer, available only %s, transaction amount %s = %s + %s (fee)") % print_money(e.available()) % - print_money(e.tx_amount() + e.fee()) % + print_money(e.tx_amount() + e.fee()) % print_money(e.tx_amount()) % - print_money(e.fee()) % - tr("This is usually due to dust which is so small it cannot pay for itself in fees"); + print_money(e.fee())); + fail_msg_writer() << tr("Failed to find a way to create transactions. This is usually due to dust which is so small it cannot pay for itself in fees"); } catch (const tools::error::not_enough_outs_to_mix& e) { @@ -3305,7 +3306,7 @@ bool simple_wallet::show_transfers(const std::vector<std::string> &args_) for (std::list<std::pair<crypto::hash, tools::wallet2::unconfirmed_transfer_details>>::const_iterator i = upayments.begin(); i != upayments.end(); ++i) { const tools::wallet2::unconfirmed_transfer_details &pd = i->second; uint64_t amount = pd.m_amount_in; - uint64_t fee = amount - pd.m_amount_out; + uint64_t fee = amount - pd.m_amount_out - pd.m_change; std::string payment_id = string_tools::pod_to_hex(i->second.m_payment_id); if (payment_id.substr(16).find_first_not_of('0') == std::string::npos) payment_id = payment_id.substr(0,16); 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) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 75e75f258..65eab49d7 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -84,7 +84,7 @@ add_executable(hash-target-tests ${hash_targets_sources} ${hash_targets_headers}) target_link_libraries(hash-target-tests - LINK_PRIVATE + PRIVATE cryptonote_core) set_property(TARGET hash-target-tests PROPERTY diff --git a/tests/core_proxy/CMakeLists.txt b/tests/core_proxy/CMakeLists.txt index 2494a688c..3b86660c2 100644 --- a/tests/core_proxy/CMakeLists.txt +++ b/tests/core_proxy/CMakeLists.txt @@ -36,17 +36,12 @@ add_executable(core_proxy ${core_proxy_sources} ${core_proxy_headers}) target_link_libraries(core_proxy - LINK_PRIVATE + PRIVATE cryptonote_core cryptonote_protocol p2p - ${UPNP_LIBRARIES} - ${Boost_CHRONO_LIBRARY} - ${Boost_FILESYSTEM_LIBRARY} - ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} - ${EXPAT_LIBRARIES}) + ${EXTRA_LIBRARIES}) set_property(TARGET core_proxy PROPERTY FOLDER "tests") diff --git a/tests/core_tests/CMakeLists.txt b/tests/core_tests/CMakeLists.txt index 6f07fbd25..004b03492 100644 --- a/tests/core_tests/CMakeLists.txt +++ b/tests/core_tests/CMakeLists.txt @@ -62,14 +62,10 @@ add_executable(coretests ${core_tests_sources} ${core_tests_headers}) target_link_libraries(coretests - LINK_PRIVATE + PRIVATE cryptonote_core p2p - ${Boost_CHRONO_LIBRARY} - ${Boost_FILESYSTEM_LIBRARY} - ${Boost_SYSTEM_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} - ${EXPAT_LIBRARIES} ${EXTRA_LIBRARIES}) set_property(TARGET coretests PROPERTY diff --git a/tests/crypto/CMakeLists.txt b/tests/crypto/CMakeLists.txt index 86946aa5c..9c59cd79e 100644 --- a/tests/crypto/CMakeLists.txt +++ b/tests/crypto/CMakeLists.txt @@ -41,7 +41,9 @@ add_executable(crypto-tests ${crypto_sources} ${crypto_headers}) target_link_libraries(crypto-tests - ${Boost_SYSTEM_LIBRARY}) + PRIVATE + ${Boost_SYSTEM_LIBRARY} + ${EXTRA_LIBRARIES}) set_property(TARGET crypto-tests PROPERTY FOLDER "tests") diff --git a/tests/daemon_tests/CMakeLists.txt b/tests/daemon_tests/CMakeLists.txt index ae11ab5d5..5e2e4ad1e 100644 --- a/tests/daemon_tests/CMakeLists.txt +++ b/tests/daemon_tests/CMakeLists.txt @@ -35,15 +35,14 @@ add_executable(transfers ${transfers_sources} ${transfers_headers}) target_link_libraries(transfers - LINK_PRIVATE + PRIVATE useragent rpc cryptonote_core crypto common epee - ${GTEST_LIBRARIES} - ${Boost_LIBRARIES}) + ${GTEST_LIBRARIES}) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_transfers") add_custom_target(test_transfers diff --git a/tests/difficulty/CMakeLists.txt b/tests/difficulty/CMakeLists.txt index a9d24b981..9f1f04fe4 100644 --- a/tests/difficulty/CMakeLists.txt +++ b/tests/difficulty/CMakeLists.txt @@ -35,8 +35,9 @@ add_executable(difficulty-tests ${difficulty_sources} ${difficulty_headers}) target_link_libraries(difficulty-tests - LINK_PRIVATE - cryptonote_core) + PRIVATE + cryptonote_core + ${EXTRA_LIBRARIES}) set_property(TARGET difficulty-tests PROPERTY FOLDER "tests") diff --git a/tests/functional_tests/CMakeLists.txt b/tests/functional_tests/CMakeLists.txt index 41f3a9ec1..7e1845114 100644 --- a/tests/functional_tests/CMakeLists.txt +++ b/tests/functional_tests/CMakeLists.txt @@ -39,13 +39,13 @@ add_executable(functional_tests ${functional_tests_sources} ${functional_tests_headers}) target_link_libraries(functional_tests - LINK_PRIVATE + PRIVATE cryptonote_core wallet common crypto - ${UNBOUND_LIBRARY} ${Boost_REGEX_LIBRARY} + ${Boost_PROGRAM_OPTIONS_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) set_property(TARGET functional_tests diff --git a/tests/hash/CMakeLists.txt b/tests/hash/CMakeLists.txt index 426ecf6bf..7f79ee939 100644 --- a/tests/hash/CMakeLists.txt +++ b/tests/hash/CMakeLists.txt @@ -35,8 +35,9 @@ add_executable(hash-tests ${hash_sources} ${hash_headers}) target_link_libraries(hash-tests - LINK_PRIVATE - crypto) + PRIVATE + crypto + ${EXTRA_LIBRARIES}) set_property(TARGET hash-tests PROPERTY FOLDER "tests") diff --git a/tests/libwallet_api_tests/CMakeLists.txt b/tests/libwallet_api_tests/CMakeLists.txt index 416192cce..fc9a6d57b 100644 --- a/tests/libwallet_api_tests/CMakeLists.txt +++ b/tests/libwallet_api_tests/CMakeLists.txt @@ -38,9 +38,13 @@ add_executable(libwallet_api_tests ${libwallet_api_tests_headers}) target_link_libraries(libwallet_api_tests - LINK_PRIVATE + PRIVATE wallet + ${Boost_SERIALIZATION_LIBRARY} + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SYSTEM_LIBRARY} ${GTEST_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) set_property(TARGET libwallet_api_tests diff --git a/tests/net_load_tests/CMakeLists.txt b/tests/net_load_tests/CMakeLists.txt index 2c97acf51..58f9cc5af 100644 --- a/tests/net_load_tests/CMakeLists.txt +++ b/tests/net_load_tests/CMakeLists.txt @@ -36,16 +36,15 @@ add_executable(net_load_tests_clt ${clt_sources} ${clt_headers}) target_link_libraries(net_load_tests_clt - LINK_PRIVATE - otshell_utils - p2p - cryptonote_core + PRIVATE + otshell_utils + p2p + cryptonote_core ${GTEST_LIBRARIES} ${Boost_CHRONO_LIBRARY} ${Boost_DATE_TIME_LIBRARY} - ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) set(srv_sources @@ -58,16 +57,15 @@ add_executable(net_load_tests_srv ${srv_sources} ${srv_headers}) target_link_libraries(net_load_tests_srv - LINK_PRIVATE - otshell_utils - p2p - cryptonote_core + PRIVATE + otshell_utils + p2p + cryptonote_core ${GTEST_LIBRARIES} ${Boost_CHRONO_LIBRARY} ${Boost_DATE_TIME_LIBRARY} - ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) set_property(TARGET net_load_tests_clt net_load_tests_srv diff --git a/tests/performance_tests/CMakeLists.txt b/tests/performance_tests/CMakeLists.txt index 8ca5ece8e..37accb393 100644 --- a/tests/performance_tests/CMakeLists.txt +++ b/tests/performance_tests/CMakeLists.txt @@ -48,11 +48,10 @@ add_executable(performance_tests ${performance_tests_sources} ${performance_tests_headers}) target_link_libraries(performance_tests - LINK_PRIVATE + PRIVATE cryptonote_core common crypto - ${UNBOUND_LIBRARY} ${Boost_CHRONO_LIBRARY} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) diff --git a/tests/unit_tests/CMakeLists.txt b/tests/unit_tests/CMakeLists.txt index d36c2748c..b7fdc333f 100644 --- a/tests/unit_tests/CMakeLists.txt +++ b/tests/unit_tests/CMakeLists.txt @@ -62,7 +62,7 @@ add_executable(unit_tests ${unit_tests_sources} ${unit_tests_headers}) target_link_libraries(unit_tests - LINK_PRIVATE + PRIVATE ringct cryptonote_core blockchain_db @@ -70,11 +70,7 @@ target_link_libraries(unit_tests wallet p2p ${GTEST_LIBRARIES} - ${Boost_CHRONO_LIBRARY} - ${Boost_REGEX_LIBRARY} - ${Boost_SYSTEM_LIBRARY} - ${Boost_THREAD_LIBRARY} - ${UNBOUND_LIBRARY} + ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBRARIES}) set_property(TARGET unit_tests PROPERTY |