summaryrefslogtreecommitdiff
path: root/monero_libwallet2_api_c
diff options
context:
space:
mode:
Diffstat (limited to 'monero_libwallet2_api_c')
-rw-r--r--monero_libwallet2_api_c/CMakeLists.txt231
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}
)
+