summaryrefslogtreecommitdiff
path: root/monero_libwallet2_api_c
diff options
context:
space:
mode:
authorcyan <cyjan@mrcyjanek.net>2024-11-08 15:23:04 +0000
committercyan <cyjan@mrcyjanek.net>2024-11-08 15:27:18 +0000
commit228c92021dafa1e76f7d39ecf1af5a0f843940d0 (patch)
tree642cd49522c747a6565000566bc4d45c8fa1fbb5 /monero_libwallet2_api_c
parentcb6dcd0ca499bfbd5e8c167dfbdff84b444d181c (diff)
migrate build system
Diffstat (limited to 'monero_libwallet2_api_c')
-rw-r--r--monero_libwallet2_api_c/CMakeLists.txt284
1 files changed, 24 insertions, 260 deletions
diff --git a/monero_libwallet2_api_c/CMakeLists.txt b/monero_libwallet2_api_c/CMakeLists.txt
index 790070a..37c739d 100644
--- a/monero_libwallet2_api_c/CMakeLists.txt
+++ b/monero_libwallet2_api_c/CMakeLists.txt
@@ -44,118 +44,12 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
set(MONERO_DIR ${CMAKE_SOURCE_DIR}/../${MONERO_FLAVOR})
-set(EXTERNAL_LIBS_DIR ${MONERO_DIR}/contrib/depends/${HOST_ABI})
-
-############
-# libsodium
-############
-
-add_library(sodium STATIC IMPORTED)
-set_target_properties(sodium PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libsodium.a)
-
-############
-# OpenSSL
-############
-
-add_library(crypto STATIC IMPORTED)
-set_target_properties(crypto PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libcrypto.a)
-
-add_library(ssl STATIC IMPORTED)
-set_target_properties(ssl PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libssl.a)
-
-############
-# Boost
-############
-
-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_PART "")
-elseif(${HOST_ABI} STREQUAL "x86_64-w64-mingw32" OR ${HOST_ABI} STREQUAL "i686-w64-mingw32")
- set(BOOST_WTF "-mt-s")
- set(BOOST_WTF_PART "_win32")
-elseif(${HOST_ABI} STREQUAL "host-apple-ios")
- set(BOOST_WTF "")
- set(BOOST_WTF_PART "")
-else()
- set(BOOST_WTF "-mt")
- 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)
-
-# win extra
-add_library(boost_locale STATIC IMPORTED)
-set_target_properties(boost_locale PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_locale${BOOST_WTF}.a)
-
-# win extra
-add_library(iconv-win STATIC IMPORTED)
-set_target_properties(iconv-win PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libiconv.a)
-
-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)
-
-add_library(boost_filesystem STATIC IMPORTED)
-set_target_properties(boost_filesystem PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_filesystem${BOOST_WTF}.a)
+set(EXTERNAL_LIBS_DIR ${CMAKE_SOURCE_DIR}/../contrib/depends/${HOST_ABI})
-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)
+find_package(PkgConfig REQUIRED)
-add_library(boost_regex STATIC IMPORTED)
-set_target_properties(boost_regex PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_regex${BOOST_WTF}.a)
+find_package(Boost REQUIRED COMPONENTS chrono filesystem program_options system thread date_time regex serialization locale)
-add_library(boost_serialization STATIC IMPORTED)
-set_target_properties(boost_serialization PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_serialization${BOOST_WTF}.a)
-
-add_library(boost_system STATIC IMPORTED)
-set_target_properties(boost_system PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_system${BOOST_WTF}.a)
-
-add_library(boost_thread STATIC IMPORTED)
-set_target_properties(boost_thread PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_thread${BOOST_WTF_PART}${BOOST_WTF}.a)
-
-add_library(boost_wserialization STATIC IMPORTED)
-set_target_properties(boost_wserialization PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libboost_wserialization${BOOST_WTF}.a)
-
-#############
-# Polyseed
-#############
-
-if(${HOST_ABI} STREQUAL "aarch64-meego-linux-gnu")
- add_library(polyseed STATIC IMPORTED)
- set_target_properties(polyseed PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib64/libpolyseed.a)
-else()
- add_library(polyseed STATIC IMPORTED)
- set_target_properties(polyseed PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libpolyseed.a)
-endif()
-
-add_library(polyseed-wrapper STATIC IMPORTED)
-set_target_properties(polyseed-wrapper PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/polyseed/libpolyseed_wrapper.a)
-
-if(${HOST_ABI} STREQUAL "x86_64-w64-mingw32" OR ${HOST_ABI} STREQUAL "i686-w64-mingw32")
- set(EXTRA_LIBS_POLYSEED polyseed-win)
- add_library(polyseed-win STATIC IMPORTED)
- set_target_properties(polyseed-win PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/external/polyseed/libpolyseed.dll.a)
-endif()
#############
# Wownero Seed
@@ -174,141 +68,11 @@ if (${MONERO_FLAVOR} STREQUAL "wownero")
endif()
endif()
-#############
-# Utf8proc
-#############
-
-add_library(utf8proc STATIC IMPORTED)
-set_target_properties(utf8proc PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/external/utf8proc/libutf8proc.a)
-
-#############
-# bc-ur
-#############
-
-add_library(bc-ur STATIC IMPORTED)
-set_target_properties(bc-ur PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/external/bc-ur/libbc-ur.a)
-
-
-#############
-# Monero
-#############
-
-add_library(wallet_api STATIC IMPORTED)
-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)
-
-add_library(cryptonote_core STATIC IMPORTED)
-set_target_properties(cryptonote_core PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/cryptonote_core/libcryptonote_core.a)
-
-add_library(cryptonote_basic STATIC IMPORTED)
-set_target_properties(cryptonote_basic PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/cryptonote_basic/libcryptonote_basic.a)
-
-add_library(mnemonics STATIC IMPORTED)
-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)
-
-add_library(cncrypto STATIC IMPORTED)
-set_target_properties(cncrypto PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/crypto/libcncrypto.a)
-
-add_library(ringct STATIC IMPORTED)
-set_target_properties(ringct PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/ringct/libringct.a)
-
-add_library(ringct_basic STATIC IMPORTED)
-set_target_properties(ringct_basic PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/ringct/libringct_basic.a)
-
-add_library(blockchain_db STATIC IMPORTED)
-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)
-
-add_library(easylogging STATIC IMPORTED)
-set_target_properties(easylogging PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/external/easylogging++/libeasylogging.a)
-
-add_library(unbound STATIC IMPORTED)
-set_target_properties(unbound PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libunbound.a)
-
-add_library(epee STATIC IMPORTED)
-set_target_properties(epee PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/contrib/epee/src/libepee.a)
-
-add_library(blocks STATIC IMPORTED)
-set_target_properties(blocks PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/blocks/libblocks.a)
-
-add_library(checkpoints STATIC IMPORTED)
-set_target_properties(checkpoints PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/checkpoints/libcheckpoints.a)
-
-add_library(device STATIC IMPORTED)
-set_target_properties(device PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/device/libdevice.a)
-
-add_library(device_trezor STATIC IMPORTED)
-set_target_properties(device_trezor PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/device_trezor/libdevice_trezor.a)
-
-add_library(multisig STATIC IMPORTED)
-set_target_properties(multisig PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/multisig/libmultisig.a)
-
-add_library(version STATIC IMPORTED)
-set_target_properties(version PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/libversion.a)
-
-add_library(net STATIC IMPORTED)
-set_target_properties(net PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/net/libnet.a)
-
-add_library(hardforks STATIC IMPORTED)
-set_target_properties(hardforks PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/hardforks/libhardforks.a)
-
-if (${MONERO_FLAVOR} STREQUAL "monero")
- set(RANDOMX_FLAVOR "randomx")
-elseif(${MONERO_FLAVOR} STREQUAL "wownero")
- set(RANDOMX_FLAVOR "randomwow")
-endif()
-
-add_library(randomx STATIC IMPORTED)
-set_target_properties(randomx PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/external/${RANDOMX_FLAVOR}/librandomx.a)
+# add_subdirectory("${CMAKE_SOURCE_DIR}/../external/utf8proc" ${CMAKE_BINARY_DIR}/utf8proc_build)
-add_library(rpc_base STATIC IMPORTED)
-set_target_properties(rpc_base PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/rpc/librpc_base.a)
-# TODO(mrcyjanek): fix (x86_64 maybe?)
-add_library(wallet-crypto STATIC IMPORTED)
-set_target_properties(wallet-crypto PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/crypto/wallet/libwallet-crypto.a)
+add_subdirectory("${CMAKE_SOURCE_DIR}/../${MONERO_FLAVOR}" ${CMAKE_BINARY_DIR}/${MONERO_FLAVOR}_build)
-add_library(cryptonote_format_utils_basic STATIC IMPORTED)
-set_target_properties(cryptonote_format_utils_basic PROPERTIES IMPORTED_LOCATION
- ${MONERO_DIR}/build/${HOST_ABI}/src/cryptonote_basic/libcryptonote_format_utils_basic.a)
-
-add_library(hidapi STATIC IMPORTED)
-set_target_properties(hidapi PROPERTIES IMPORTED_LOCATION
- ${EXTERNAL_LIBS_DIR}/lib/libhidapi.a)
#############
# System
@@ -381,6 +145,17 @@ if(${HOST_ABI} STREQUAL "x86_64-apple-darwin11" OR ${HOST_ABI} STREQUAL "aarch64
set_target_properties(${TARGET} PROPERTIES LINK_DEPENDS ${EXPORTED_SYMBOLS_FILE})
endif()
+find_package(OpenSSL REQUIRED)
+message(STATUS "Using OpenSSL include dir at ${OPENSSL_INCLUDE_DIR}")
+include_directories(${OPENSSL_INCLUDE_DIR})
+
+pkg_check_modules(SODIUM REQUIRED libsodium)
+message(STATUS "Using libsodium include dir at ${SODIUM_LIBRARIES}")
+get_cmake_property(_variableNames VARIABLES)
+#list (SORT _variableNames)
+#foreach (_variableName ${_variableNames})
+# message(STATUS "${_variableName}=${${_variableName}}")
+#endforeach()
target_link_libraries( wallet2_api_c
wallet_api
@@ -397,7 +172,7 @@ target_link_libraries( wallet2_api_c
blockchain_db
lmdb
easylogging
- unbound
+ # unbound
epee
blocks
checkpoints
@@ -410,31 +185,20 @@ target_link_libraries( wallet2_api_c
rpc_base
${EXTRA_LIBS}
- boost_chrono
- boost_locale
- boost_date_time
- boost_filesystem
- boost_program_options
- boost_regex
- boost_serialization
- boost_system
- boost_thread
- boost_wserialization
+ ${Boost_LIBRARIES}
polyseed
- polyseed-wrapper
+ polyseed_static
${EXTRA_LIBS_POLYSEED}
${EXTRA_LIBS_WOWNEROSEED}
- utf8proc
bc-ur
+ utf8proc
- ssl
- crypto
-
- sodium
-
+ ${SODIUM_LINK_LIBRARIES}
+ ${OPENSSL_LIBRARIES}
+
${EXTRA_LIBS_WINDOWS}
${EXTRA_LIBS_APPLE}
${EXTRA_LIBS_ANDROID}
- )
+ ) \ No newline at end of file