diff options
Diffstat (limited to 'monero_libwallet2_api_c')
| -rw-r--r-- | monero_libwallet2_api_c/CMakeLists.txt | 231 |
1 files changed, 178 insertions, 53 deletions
diff --git a/monero_libwallet2_api_c/CMakeLists.txt b/monero_libwallet2_api_c/CMakeLists.txt index 60be91c..f83f1e1 100644 --- a/monero_libwallet2_api_c/CMakeLists.txt +++ b/monero_libwallet2_api_c/CMakeLists.txt @@ -2,7 +2,10 @@ cmake_minimum_required(VERSION 3.4.1) project(wallet2_api_c) message(STATUS ABI_INFO = ${HOST_ABI}) -set (CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +# set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE) +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-lto") if(${HOST_ABI} STREQUAL "x86_64-w64-mingw32") set(CMAKE_SYSTEM_NAME Windows) @@ -27,7 +30,7 @@ if (${HOST_ABI} STREQUAL "host-apple-darwin" OR endif() endif() -if(${HOST_ABI} STREQUAL "x86_64-linux-android" OR +if(${HOST_ABI} STREQUAL "" OR ${HOST_ABI} STREQUAL "i686-linux-android" OR ${HOST_ABI} STREQUAL "aarch64-linux-android" OR ${HOST_ABI} STREQUAL "armv7a-linux-androideabi") @@ -60,7 +63,7 @@ set_target_properties(sodium PROPERTIES IMPORTED_LOCATION add_library(crypto STATIC IMPORTED) set_target_properties(crypto PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libcrypto.a) + ${EXTERNAL_LIBS_DIR}/lib/libcrypto.a) add_library(ssl STATIC IMPORTED) set_target_properties(ssl PROPERTIES IMPORTED_LOCATION @@ -72,20 +75,31 @@ set_target_properties(ssl PROPERTIES IMPORTED_LOCATION if(${HOST_ABI} STREQUAL "x86_64-linux-android" OR ${HOST_ABI} STREQUAL "aarch64-linux-android" OR ${HOST_ABI} STREQUAL "armv7a-linux-androideabi" OR ${HOST_ABI} STREQUAL "i686-linux-android") set(CMAKE_LINKER ${HOST_ABI}-ld) - set(BOOST_WTF "-mt-s") + set(BOOST_WTF "") + set(BOOST_WTF_DATE_TIME "${BOOST_WTF}") + set(BOOST_WTF_PART "") +elseif(${HOST_ABI} STREQUAL "aarch64-linux-gnu") + set(BOOST_WTF "") + set(BOOST_WTF_DATE_TIME "${BOOST_WTF}") set(BOOST_WTF_PART "") elseif(${HOST_ABI} STREQUAL "x86_64-w64-mingw32" OR ${HOST_ABI} STREQUAL "i686-w64-mingw32") - set(BOOST_WTF "-mt-s") + set(BOOST_WTF "") + set(BOOST_WTF_DATE_TIME "${BOOST_WTF}") set(BOOST_WTF_PART "_win32") elseif(${HOST_ABI} STREQUAL "host-apple-ios") set(BOOST_WTF "") + set(BOOST_WTF_DATE_TIME "${BOOST_WTF}") + set(BOOST_WTF_PART "") +elseif(${HOST_ABI} STREQUAL "x86_64-linux-gnu" AND ${MONERO_FLAVOR} STREQUAL "zano") + set(BOOST_WTF "") + set(BOOST_WTF_DATE_TIME "${BOOST_WTF}") set(BOOST_WTF_PART "") else() - set(BOOST_WTF "-mt") + set(BOOST_WTF "") + set(BOOST_WTF_DATE_TIME "${BOOST_WTF}") set(BOOST_WTF_PART "") endif() - add_library(boost_chrono STATIC IMPORTED) set_target_properties(boost_chrono PROPERTIES IMPORTED_LOCATION ${EXTERNAL_LIBS_DIR}/lib/libboost_chrono${BOOST_WTF}.a) @@ -102,23 +116,23 @@ set_target_properties(iconv-win PROPERTIES IMPORTED_LOCATION add_library(boost_date_time STATIC IMPORTED) set_target_properties(boost_date_time PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libboost_date_time${BOOST_WTF}.a) + ${EXTERNAL_LIBS_DIR}/lib/libboost_date_time${BOOST_WTF_DATE_TIME}.a) add_library(boost_filesystem STATIC IMPORTED) set_target_properties(boost_filesystem PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libboost_filesystem${BOOST_WTF}.a) + ${EXTERNAL_LIBS_DIR}/lib/libboost_filesystem${BOOST_WTF_DATE_TIME}.a) add_library(boost_program_options STATIC IMPORTED) set_target_properties(boost_program_options PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libboost_program_options${BOOST_WTF}.a) + ${EXTERNAL_LIBS_DIR}/lib/libboost_program_options${BOOST_WTF_DATE_TIME}.a) add_library(boost_regex STATIC IMPORTED) set_target_properties(boost_regex PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libboost_regex${BOOST_WTF}.a) + ${EXTERNAL_LIBS_DIR}/lib/libboost_regex${BOOST_WTF_DATE_TIME}.a) add_library(boost_serialization STATIC IMPORTED) set_target_properties(boost_serialization PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libboost_serialization${BOOST_WTF}.a) + ${EXTERNAL_LIBS_DIR}/lib/libboost_serialization${BOOST_WTF_DATE_TIME}.a) add_library(boost_system STATIC IMPORTED) set_target_properties(boost_system PROPERTIES IMPORTED_LOCATION @@ -130,7 +144,7 @@ set_target_properties(boost_thread PROPERTIES IMPORTED_LOCATION add_library(boost_wserialization STATIC IMPORTED) set_target_properties(boost_wserialization PROPERTIES IMPORTED_LOCATION - ${EXTERNAL_LIBS_DIR}/lib/libboost_wserialization${BOOST_WTF}.a) + ${EXTERNAL_LIBS_DIR}/lib/libboost_wserialization${BOOST_WTF_DATE_TIME}.a) ############# # Polyseed @@ -200,8 +214,13 @@ set_target_properties(wallet_api PROPERTIES IMPORTED_LOCATION ${MONERO_DIR}/build/${HOST_ABI}/lib/libwallet_api.a) add_library(wallet STATIC IMPORTED) -set_target_properties(wallet PROPERTIES IMPORTED_LOCATION - ${MONERO_DIR}/build/${HOST_ABI}/lib/libwallet.a) +if (${MONERO_FLAVOR} STREQUAL "zano") + set_target_properties(wallet PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/libwallet.a) +else() + set_target_properties(wallet PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/lib/libwallet.a) +endif() add_library(cryptonote_core STATIC IMPORTED) set_target_properties(cryptonote_core PROPERTIES IMPORTED_LOCATION @@ -216,8 +235,13 @@ set_target_properties(mnemonics PROPERTIES IMPORTED_LOCATION ${MONERO_DIR}/build/${HOST_ABI}/src/mnemonics/libmnemonics.a) add_library(common STATIC IMPORTED) -set_target_properties(common PROPERTIES IMPORTED_LOCATION - ${MONERO_DIR}/build/${HOST_ABI}/src/common/libcommon.a) +if (${MONERO_FLAVOR} STREQUAL "zano") + set_target_properties(common PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/libcommon.a) +else() + set_target_properties(common PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/common/libcommon.a) +endif() add_library(cncrypto STATIC IMPORTED) set_target_properties(cncrypto PROPERTIES IMPORTED_LOCATION @@ -236,8 +260,14 @@ set_target_properties(blockchain_db PROPERTIES IMPORTED_LOCATION ${MONERO_DIR}/build/${HOST_ABI}/src/blockchain_db/libblockchain_db.a) add_library(lmdb STATIC IMPORTED) -set_target_properties(lmdb PROPERTIES IMPORTED_LOCATION - ${MONERO_DIR}/build/${HOST_ABI}/external/db_drivers/liblmdb/liblmdb.a) +if (${MONERO_FLAVOR} STREQUAL "zano") + set_target_properties(lmdb PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/db/liblmdb/liblmdb.a) +else() + set_target_properties(lmdb PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/external/db_drivers/liblmdb/liblmdb.a) +endif() + add_library(easylogging STATIC IMPORTED) set_target_properties(easylogging PROPERTIES IMPORTED_LOCATION @@ -311,6 +341,56 @@ set_target_properties(hidapi PROPERTIES IMPORTED_LOCATION ${EXTERNAL_LIBS_DIR}/lib/libhidapi.a) ############# +# Zano +############# + +add_library(z STATIC IMPORTED) + +if(${HOST_ABI} STREQUAL "x86_64-w64-mingw32" OR ${HOST_ABI} STREQUAL "i686-w64-mingw32") + set_target_properties(z PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/zlib/libzlibstatic.a) +else() + set_target_properties(z PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/zlib/libz.a) +endif() + +add_library(miniupnpc STATIC IMPORTED) +set_target_properties(miniupnpc PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/miniupnp/miniupnpc/libminiupnpc.a) + +add_library(tor-connect STATIC IMPORTED) +set_target_properties(tor-connect PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/tor-connect/libtor-connect.a) + +add_library(mdbx STATIC IMPORTED) +set_target_properties(mdbx PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/db/libmdbx/libmdbx.a) + +add_library(ethash STATIC IMPORTED) +set_target_properties(ethash PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/contrib/ethereum/libethash/libethash.a) + +add_library(stratum STATIC IMPORTED) +set_target_properties(stratum PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/libstratum.a) + +add_library(currency_core STATIC IMPORTED) +set_target_properties(currency_core PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/libcurrency_core.a) + +add_library(rpc STATIC IMPORTED) +set_target_properties(rpc PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/librpc.a) + +add_library(crypto-zano STATIC IMPORTED) +set_target_properties(crypto-zano PROPERTIES IMPORTED_LOCATION + ${MONERO_DIR}/build/${HOST_ABI}/src/libcrypto.a) + +add_library(charset STATIC IMPORTED) +set_target_properties(charset PROPERTIES IMPORTED_LOCATION + ${EXTERNAL_LIBS_DIR}/lib/libcharset.a) + +############# # System ############# @@ -365,6 +445,8 @@ if (${MONERO_FLAVOR} STREQUAL "monero") set(BCUR_ENABLED bc-ur) elseif(${MONERO_FLAVOR} STREQUAL "wownero") target_compile_definitions(wallet2_api_c PRIVATE FLAVOR_WOWNERO) +elseif(${MONERO_FLAVOR} STREQUAL "zano") + target_compile_definitions(wallet2_api_c PRIVATE FLAVOR_ZANO) endif() if(NOT ${HOST_ABI} STREQUAL "x86_64-apple-darwin11" AND NOT ${HOST_ABI} STREQUAL "aarch64-apple-darwin11" AND NOT ${HOST_ABI} STREQUAL "host-apple-darwin" AND NOT ${HOST_ABI} STREQUAL "x86_64-host-apple-darwin" AND NOT ${HOST_ABI} STREQUAL "aarch64-host-apple-darwin" AND NOT ${HOST_ABI} STREQUAL "host-apple-ios") @@ -376,40 +458,87 @@ if(${HOST_ABI} STREQUAL "x86_64-apple-darwin11" OR ${HOST_ABI} STREQUAL "aarch64 set(EXPORTED_SYMBOLS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/monero_libwallet2_api_c.exp) elseif(${MONERO_FLAVOR} STREQUAL "wownero") set(EXPORTED_SYMBOLS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/wownero_libwallet2_api_c.exp) + elseif(${MONERO_FLAVOR} STREQUAL "zano") + set(EXPORTED_SYMBOLS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/zano_libwallet2_api_c.exp) endif() set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -exported_symbols_list ${EXPORTED_SYMBOLS_FILE}") set_target_properties(${TARGET} PROPERTIES LINK_DEPENDS ${EXPORTED_SYMBOLS_FILE}) endif() -target_link_libraries( wallet2_api_c +if (${MONERO_FLAVOR} STREQUAL "zano") + if(${HOST_ABI} STREQUAL "x86_64-linux-android" OR + ${HOST_ABI} STREQUAL "i686-linux-android" OR + ${HOST_ABI} STREQUAL "aarch64-linux-android" OR + ${HOST_ABI} STREQUAL "armv7a-linux-androideabi") + set(EXTRA_LIBS_ANDROID_ZANO charset iconv-win) + elseif(${HOST_ABI} STREQUAL "host-apple-ios") + set(EXTRA_LIBS_ANDROID_ZANO) + else() + set(EXTRA_LIBS_ANDROID_ZANO charset iconv-win lmdb mdbx stratum miniupnpc rpc) + endif() + set(API_IMPORTS + wallet + common + ${EXTRA_LIBS_ANDROID_ZANO} + unbound + z + tor-connect + + ethash + + currency_core + + crypto-zano + ssl + crypto + ) +else() + set(API_IMPORTS + + ${EXTRA_LIBS} + + wallet_api + wallet + cryptonote_core + cryptonote_basic + cryptonote_format_utils_basic + mnemonics + ringct + ringct_basic + net + common + cncrypto + blockchain_db + lmdb + easylogging + unbound + ssl + crypto + epee + blocks + checkpoints + device + device_trezor + multisig + version + randomx + hardforks + rpc_base + + polyseed + polyseed-wrapper + utf8proc + + ${EXTRA_LIBS_POLYSEED} + + ) +endif() - wallet_api - wallet - cryptonote_core - cryptonote_basic - cryptonote_format_utils_basic - mnemonics - ringct - ringct_basic - net - common - cncrypto - blockchain_db - lmdb - easylogging - unbound - epee - blocks - checkpoints - device - device_trezor - multisig - version - randomx - hardforks - rpc_base - ${EXTRA_LIBS} +target_link_libraries( wallet2_api_c + + + ${API_IMPORTS} boost_chrono boost_locale @@ -422,20 +551,16 @@ target_link_libraries( wallet2_api_c boost_thread boost_wserialization - polyseed - polyseed-wrapper - ${EXTRA_LIBS_POLYSEED} + ${EXTRA_LIBS_WOWNEROSEED} - utf8proc + ${BCUR_ENABLED} - ssl - crypto - sodium ${EXTRA_LIBS_WINDOWS} ${EXTRA_LIBS_APPLE} ${EXTRA_LIBS_ANDROID} ) + |
