forked from such-gitea/wownero-lws
Port monero-lws to wownero-lws
Adapts monero-lws for Wownero cryptocurrency: - Rename all monero-lws-* binaries to wownero-lws-* - Update submodule to point to official Wownero repo - Use Wownero default ports (RPC: 34568, ZMQ: 34569) - Update data directory to ~/.wownero/light_wallet_server - Adapt next_difficulty() calls for Wownero API signature Key technical changes for Wownero compatibility: - BulletproofPlus (RCTTypeBulletproofPlus, type 8) commitment verification: Wownero stores BP+ commitments in 'divided by 8' form. Must call rct::scalarmult8() on outPk commitment before comparing with computed commitment (mask*G + amount*H). This is essential for amount decryption. - Pass rct_type to decode_amount() for proper commitment handling - Handle Wownero's ZMQ JSON format for ecdhTuple (32-byte mask/amount fields) No fork of Wownero is required - uses official codeberg.org/wownero/wownero.
This commit is contained in:
244
CMakeLists.txt
244
CMakeLists.txt
@@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2020, The Monero Project
|
||||
# Copyright (c) 2024-2025, The Wownero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -27,7 +28,7 @@
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
cmake_minimum_required(VERSION 3.5.0)
|
||||
project(monero-lws)
|
||||
project(wownero-lws)
|
||||
|
||||
enable_language(CXX)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
@@ -41,7 +42,7 @@ if (WITH_RMQ)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMLWS_RMQ_ENABLED")
|
||||
endif()
|
||||
|
||||
# If `MONERO_BUILD_DIR` is not specified, monero unit tests will be built with this hack
|
||||
# If `WOWNERO_BUILD_DIR` is not specified, wownero unit tests will be built with this hack
|
||||
set (LWS_BUILD_TESTS "${BUILD_TESTS}")
|
||||
set (BUILD_TESTS "Off")
|
||||
|
||||
@@ -64,10 +65,9 @@ if(STATIC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(MONERO_LIBRARIES
|
||||
set(WOWNERO_LIBRARIES
|
||||
daemon_messages
|
||||
serialization
|
||||
lmdb_lib
|
||||
net
|
||||
cryptonote_core
|
||||
cryptonote_basic
|
||||
@@ -80,6 +80,7 @@ set(MONERO_LIBRARIES
|
||||
blockchain_db
|
||||
common
|
||||
lmdb
|
||||
lmdb_lib
|
||||
device
|
||||
cncrypto
|
||||
randomx
|
||||
@@ -89,14 +90,15 @@ set(MONERO_LIBRARIES
|
||||
wallet-crypto
|
||||
)
|
||||
|
||||
set(MONERO_OPTIONAL wallet-crypto)
|
||||
set(WOWNERO_OPTIONAL wallet-crypto)
|
||||
|
||||
if (MONERO_BUILD_DIR)
|
||||
if (WOWNERO_BUILD_DIR)
|
||||
|
||||
set(MONERO_SEARCH_PATHS
|
||||
set(WOWNERO_SEARCH_PATHS
|
||||
"/contrib/epee/src"
|
||||
"/external/db_drivers/liblmdb"
|
||||
"/external/easylogging++"
|
||||
"/external/randomwow"
|
||||
"/src"
|
||||
"/src/crypto"
|
||||
"/src/crypto/wallet"
|
||||
@@ -104,22 +106,42 @@ if (MONERO_BUILD_DIR)
|
||||
"/src/lmdb"
|
||||
"/src/ringct"
|
||||
"/src/rpc"
|
||||
"/src/common"
|
||||
"/src/serialization"
|
||||
"/src/net"
|
||||
"/src/cryptonote_core"
|
||||
"/src/multisig"
|
||||
"/src/hardforks"
|
||||
"/src/checkpoints"
|
||||
"/src/blockchain_db"
|
||||
"/src/device"
|
||||
"/src/mnemonics"
|
||||
)
|
||||
|
||||
|
||||
#
|
||||
# Pull some information from monero build
|
||||
# Pull some information from wownero build
|
||||
#
|
||||
|
||||
# Needed due to "bug" in monero CMake - the `project` function is used twice!
|
||||
if (NOT MONERO_SOURCE_DIR)
|
||||
message(FATAL_ERROR "The argument -DMONERO_SOURCE_DIR must specify a location of a monero source tree")
|
||||
# Needed due to "bug" in wownero CMake - the `project` function is used twice!
|
||||
if (NOT WOWNERO_SOURCE_DIR)
|
||||
message(FATAL_ERROR "The argument -DWOWNERO_SOURCE_DIR must specify a location of a wownero source tree")
|
||||
endif()
|
||||
|
||||
# monero `master` and `release-v0.18` branches use different LIBSODIUM
|
||||
get_filename_component(WOWNERO_SOURCE_DIR "${WOWNERO_SOURCE_DIR}" ABSOLUTE)
|
||||
get_filename_component(WOWNERO_BUILD_DIR "${WOWNERO_BUILD_DIR}" ABSOLUTE)
|
||||
|
||||
message(STATUS "WOWNERO_SOURCE_DIR: ${WOWNERO_SOURCE_DIR}")
|
||||
message(STATUS "WOWNERO_BUILD_DIR: ${WOWNERO_BUILD_DIR}")
|
||||
|
||||
if (NOT EXISTS "${WOWNERO_BUILD_DIR}/CMakeCache.txt")
|
||||
message(FATAL_ERROR "Wownero cache not found at ${WOWNERO_BUILD_DIR}/CMakeCache.txt. Please ensure WOWNERO_BUILD_DIR is correct and Wownero has been configured.")
|
||||
endif()
|
||||
|
||||
# wownero `master` and release branches use different LIBSODIUM
|
||||
# find routines. So the upstream cmake names differ
|
||||
|
||||
load_cache(${MONERO_BUILD_DIR} READ_WITH_PREFIX monero_
|
||||
load_cache(${WOWNERO_BUILD_DIR} READ_WITH_PREFIX wownero_
|
||||
Boost_THREAD_LIBRARY_RELEASE
|
||||
CMAKE_CXX_COMPILER
|
||||
EXTRA_LIBRARIES
|
||||
@@ -127,13 +149,13 @@ if (MONERO_BUILD_DIR)
|
||||
usb_LIBRARY
|
||||
HIDAPI_INCLUDE_DIR
|
||||
HIDAPI_LIBRARY
|
||||
libzmq_INCLUDE_DIRS
|
||||
LMDB_INCLUDE
|
||||
monero_SOURCE_DIR
|
||||
wownero_SOURCE_DIR
|
||||
OPENSSL_INCLUDE_DIR
|
||||
OPENSSL_CRYPTO_LIBRARY
|
||||
OPENSSL_SSL_LIBRARY
|
||||
pkgcfg_lib_libzmq_zmq
|
||||
ZMQ_LIB
|
||||
ZMQ_INCLUDE_PATH
|
||||
sodium_LIBRARY_RELEASE
|
||||
SODIUM_LIBRARY
|
||||
UNBOUND_LIBRARIES
|
||||
@@ -143,67 +165,75 @@ if (MONERO_BUILD_DIR)
|
||||
PROTOLIB_LIBRARY
|
||||
)
|
||||
|
||||
if (NOT (monero_monero_SOURCE_DIR MATCHES "${MONERO_SOURCE_DIR}"))
|
||||
message(FATAL_ERROR "Invalid Monero source dir - does not appear to match source used for build directory")
|
||||
if (wownero_wownero_SOURCE_DIR AND NOT (wownero_wownero_SOURCE_DIR MATCHES "${WOWNERO_SOURCE_DIR}"))
|
||||
message(WARNING "Mismatch detected: wownero_wownero_SOURCE_DIR='${wownero_wownero_SOURCE_DIR}' vs WOWNERO_SOURCE_DIR='${WOWNERO_SOURCE_DIR}'. Proceeding anyway...")
|
||||
endif()
|
||||
|
||||
if (NOT (CMAKE_CXX_COMPILER STREQUAL monero_CMAKE_CXX_COMPILER))
|
||||
message(FATAL_ERROR "Compiler for monero build differs from this project")
|
||||
if (wownero_CMAKE_CXX_COMPILER AND NOT (CMAKE_CXX_COMPILER STREQUAL wownero_CMAKE_CXX_COMPILER))
|
||||
message(FATAL_ERROR "Compiler for wownero build (${wownero_CMAKE_CXX_COMPILER}) differs from this project (${CMAKE_CXX_COMPILER})")
|
||||
endif()
|
||||
|
||||
if ("${monero_UNBOUND_LIBRARIES}" STREQUAL "UNBOUND_LIBRARIES-NOTFOUND")
|
||||
unset(monero_UNBOUND_LIBRARIES)
|
||||
if ("${wownero_UNBOUND_LIBRARIES}" STREQUAL "UNBOUND_LIBRARIES-NOTFOUND")
|
||||
unset(wownero_UNBOUND_LIBRARIES)
|
||||
endif()
|
||||
|
||||
if ("${monero_HIDAPI_LIBRARY}" STREQUAL "HIDAPI_LIBRARY-NOTFOUND")
|
||||
unset(monero_HIDAPI_INCLUDE_DIR)
|
||||
unset(monero_HIDAPI_LIBRARY)
|
||||
if ("${wownero_HIDAPI_LIBRARY}" STREQUAL "HIDAPI_LIBRARY-NOTFOUND")
|
||||
unset(wownero_HIDAPI_INCLUDE_DIR)
|
||||
unset(wownero_HIDAPI_LIBRARY)
|
||||
endif()
|
||||
|
||||
foreach (LIB ${MONERO_LIBRARIES})
|
||||
find_library(LIB_PATH NAMES "${LIB}" PATHS ${MONERO_BUILD_DIR} PATH_SUFFIXES "/src/${LIB}" "external/${LIB}" ${MONERO_SEARCH_PATHS} NO_DEFAULT_PATH)
|
||||
set(WOWNERO_LIBRARY_PATHS "")
|
||||
foreach (PATH ${WOWNERO_SEARCH_PATHS})
|
||||
list(APPEND WOWNERO_LIBRARY_PATHS "${WOWNERO_BUILD_DIR}${PATH}")
|
||||
endforeach()
|
||||
|
||||
list(FIND MONERO_OPTIONAL "${LIB}" LIB_OPTIONAL)
|
||||
foreach (LIB ${WOWNERO_LIBRARIES})
|
||||
find_library(LIB_PATH NAMES "${LIB}" PATHS ${WOWNERO_BUILD_DIR} ${WOWNERO_LIBRARY_PATHS} PATH_SUFFIXES "/src/${LIB}" "external/${LIB}" NO_DEFAULT_PATH)
|
||||
|
||||
list(FIND WOWNERO_OPTIONAL "${LIB}" LIB_OPTIONAL)
|
||||
if (NOT LIB_PATH)
|
||||
if (LIB_OPTIONAL EQUAL -1)
|
||||
message(FATAL_ERROR "Unable to find required Monero library ${LIB}")
|
||||
message(FATAL_ERROR "Unable to find required Wownero library ${LIB}")
|
||||
endif()
|
||||
else ()
|
||||
set(LIB_NAME "monero::${LIB}")
|
||||
set(LIB_NAME "wownero::${LIB}")
|
||||
add_library(${LIB_NAME} STATIC IMPORTED)
|
||||
set_target_properties(${LIB_NAME} PROPERTIES IMPORTED_LOCATION ${LIB_PATH})
|
||||
list(APPEND IMPORTED_MONERO_LIBRARIES "${LIB_NAME}")
|
||||
list(APPEND IMPORTED_WOWNERO_LIBRARIES "${LIB_NAME}")
|
||||
endif()
|
||||
unset(LIB_PATH CACHE)
|
||||
endforeach()
|
||||
|
||||
set(LMDB_INCLUDE "${monero_LMDB_INCLUDE}")
|
||||
set(LMDB_LIB_PATH "monero::lmdb")
|
||||
else () # NOT MONERO_BUILD_DIR
|
||||
if (NOT MONERO_SOURCE_DIR)
|
||||
set (MONERO_SOURCE_DIR "${monero-lws_SOURCE_DIR}/external/monero")
|
||||
set(LMDB_INCLUDE "${wownero_LMDB_INCLUDE}")
|
||||
set(LMDB_LIB_PATH "wownero::lmdb")
|
||||
else () # NOT WOWNERO_BUILD_DIR
|
||||
if (NOT WOWNERO_SOURCE_DIR)
|
||||
set (WOWNERO_SOURCE_DIR "${wownero-lws_SOURCE_DIR}/external/monero")
|
||||
endif ()
|
||||
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(monero SOURCE_DIR "${MONERO_SOURCE_DIR}" EXCLUDE_FROM_ALL)
|
||||
FetchContent_Declare(wownero SOURCE_DIR "${WOWNERO_SOURCE_DIR}" EXCLUDE_FROM_ALL)
|
||||
|
||||
if (NOT monero_POPULATED)
|
||||
FetchContent_MakeAvailable(monero)
|
||||
if (NOT wownero_POPULATED)
|
||||
FetchContent_MakeAvailable(wownero)
|
||||
endif ()
|
||||
|
||||
set(MONERO_BUILD_DIR "${monero_BINARY_DIR}")
|
||||
set(IMPORTED_MONERO_LIBRARIES "${MONERO_LIBRARIES}")
|
||||
set(monero_Boost_THREAD_LIBRARY_RELEASE "${Boost_THREAD_LIBRARY_RELEASE}")
|
||||
set(monero_pkgcfg_lib_libzmq_zmq "${pkgcfg_lib_libzmq_zmq}")
|
||||
set(WOWNERO_BUILD_DIR "${wownero_BINARY_DIR}")
|
||||
set(IMPORTED_WOWNERO_LIBRARIES "${WOWNERO_LIBRARIES}")
|
||||
set(LMDB_LIB_PATH "lmdb")
|
||||
set(wownero_Boost_THREAD_LIBRARY_RELEASE "${Boost_THREAD_LIBRARY_RELEASE}")
|
||||
# Wownero uses ZMQ_LIB directly (via find_library), not pkg-config
|
||||
set(wownero_ZMQ_LIB "${ZMQ_LIB}")
|
||||
set(wownero_ZMQ_INCLUDE_PATH "${ZMQ_INCLUDE_PATH}")
|
||||
if (SODIUM_LIBRARY)
|
||||
set(monero_SODIUM_LIBRARY "${SODIUM_LIBRARY}")
|
||||
set(wownero_SODIUM_LIBRARY "${SODIUM_LIBRARY}")
|
||||
else()
|
||||
set(monero_SODIUM_LIBRARY "${monero_sodium_LIBRARY_RELEASE}")
|
||||
set(wownero_SODIUM_LIBRARY "${wownero_sodium_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Dependencies specific to monero-lws
|
||||
# Dependencies specific to wownero-lws
|
||||
#
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
@@ -211,16 +241,28 @@ find_package(Threads REQUIRED)
|
||||
|
||||
# boost
|
||||
set(Boost_NO_BOOST_CMAKE ON)
|
||||
|
||||
# If Wownero was built statically, we should probably do the same
|
||||
if (WOWNERO_BUILD_DIR AND NOT STATIC)
|
||||
if (wownero_Boost_THREAD_LIBRARY_RELEASE MATCHES ".*\\.a$")
|
||||
message(STATUS "Wownero build was static, enabling STATIC for this project")
|
||||
set(STATIC ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(STATIC)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(Boost_USE_STATIC_RUNTIME ON)
|
||||
endif()
|
||||
find_package(Boost 1.70 QUIET REQUIRED COMPONENTS chrono context coroutine filesystem program_options regex serialization thread)
|
||||
|
||||
if (NOT (Boost_THREAD_LIBRARY STREQUAL monero_Boost_THREAD_LIBRARY_RELEASE))
|
||||
message(STATUS "Found Boost_THREAD_LIBRARY: ${Boost_THREAD_LIBRARY}")
|
||||
message(STATUS "Found monero_Boost_THREAD_LIBRARY_RELEASE: ${monero_Boost_THREAD_LIBRARY_RELEASE}")
|
||||
message(FATAL_ERROR "Boost libraries for monero build differs from this project")
|
||||
get_filename_component(REAL_Boost_THREAD_LIBRARY "${Boost_THREAD_LIBRARY}" REALPATH)
|
||||
get_filename_component(REAL_wownero_Boost_THREAD_LIBRARY "${wownero_Boost_THREAD_LIBRARY_RELEASE}" REALPATH)
|
||||
|
||||
if (NOT (REAL_Boost_THREAD_LIBRARY STREQUAL REAL_wownero_Boost_THREAD_LIBRARY))
|
||||
message(STATUS "Found Boost_THREAD_LIBRARY: ${Boost_THREAD_LIBRARY} (real: ${REAL_Boost_THREAD_LIBRARY})")
|
||||
message(STATUS "Found wownero_Boost_THREAD_LIBRARY_RELEASE: ${wownero_Boost_THREAD_LIBRARY_RELEASE} (real: ${REAL_wownero_Boost_THREAD_LIBRARY})")
|
||||
message(FATAL_ERROR "Boost libraries for wownero build differs from this project")
|
||||
endif()
|
||||
|
||||
if (WITH_RMQ)
|
||||
@@ -231,61 +273,88 @@ else()
|
||||
set(RMQ_LIBRARY "")
|
||||
endif()
|
||||
|
||||
set(ZMQ_INCLUDE_PATH "${libzmq_INCLUDE_DIRS}")
|
||||
set(ZMQ_LIB "${monero_pkgcfg_lib_libzmq_zmq}")
|
||||
if (monero_SODIUM_LIBRARY)
|
||||
set(SODIUM_LIBRARY "${monero_SODIUM_LIBRARY}")
|
||||
# Use ZMQ from Wownero build
|
||||
if (wownero_ZMQ_INCLUDE_PATH)
|
||||
set(ZMQ_INCLUDE_PATH "${wownero_ZMQ_INCLUDE_PATH}")
|
||||
endif()
|
||||
if (wownero_ZMQ_LIB)
|
||||
set(ZMQ_LIB "${wownero_ZMQ_LIB}")
|
||||
endif()
|
||||
if (wownero_SODIUM_LIBRARY)
|
||||
set(SODIUM_LIBRARY "${wownero_SODIUM_LIBRARY}")
|
||||
else ()
|
||||
set(SODIUM_LIBRARY "${monero_sodium_LIBRARY_RELEASE}")
|
||||
set(SODIUM_LIBRARY "${wownero_sodium_LIBRARY_RELEASE}")
|
||||
endif ()
|
||||
|
||||
if(NOT ZMQ_LIB)
|
||||
message(FATAL_ERROR "Could not find required libzmq")
|
||||
endif()
|
||||
if(monero_PGM_LIBRARY)
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${monero_PGM_LIBRARY}")
|
||||
if(wownero_PGM_LIBRARY AND NOT "${wownero_PGM_LIBRARY}" STREQUAL "PGM_LIBRARY-NOTFOUND")
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${wownero_PGM_LIBRARY}")
|
||||
endif()
|
||||
if(monero_NORM_LIBRARY)
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${monero_NORM_LIBRARY}")
|
||||
if(wownero_NORM_LIBRARY AND NOT "${wownero_NORM_LIBRARY}" STREQUAL "NORM_LIBRARY-NOTFOUND")
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${wownero_NORM_LIBRARY}")
|
||||
if(NOT wownero_PROTOLIB_LIBRARY OR "${wownero_PROTOLIB_LIBRARY}" STREQUAL "PROTOLIB_LIBRARY-NOTFOUND")
|
||||
find_library(PROTOLIB_LIBRARY NAMES protokit protolib)
|
||||
if(PROTOLIB_LIBRARY)
|
||||
set(wownero_PROTOLIB_LIBRARY "${PROTOLIB_LIBRARY}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(monero_GSSAPI_LIBRARY)
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${monero_GSSAPI_LIBRARY}")
|
||||
if(wownero_GSSAPI_LIBRARY AND NOT "${wownero_GSSAPI_LIBRARY}" STREQUAL "GSSAPI_LIBRARY-NOTFOUND")
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${wownero_GSSAPI_LIBRARY}")
|
||||
endif()
|
||||
if(monero_PROTOLIB_LIBRARY)
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${monero_PROTOLIB_LIBRARY}")
|
||||
if(wownero_PROTOLIB_LIBRARY AND NOT "${wownero_PROTOLIB_LIBRARY}" STREQUAL "PROTOLIB_LIBRARY-NOTFOUND")
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${wownero_PROTOLIB_LIBRARY}")
|
||||
endif()
|
||||
if(monero_sodium_LIBRARY_RELEASE)
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${monero_sodium_LIBRARY_RELEASE}")
|
||||
if(wownero_sodium_LIBRARY_RELEASE AND NOT "${wownero_sodium_LIBRARY_RELEASE}" STREQUAL "sodium_LIBRARY_RELEASE-NOTFOUND")
|
||||
set(ZMQ_LIB "${ZMQ_LIB};${wownero_sodium_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
|
||||
if(STATIC AND NOT IOS)
|
||||
if(UNIX)
|
||||
set(monero_OPENSSL_LIBRARIES "${monero_OPENSSL_LIBRARIES};${CMAKE_DL_LIBS};${CMAKE_THREAD_LIBS_INIT}")
|
||||
find_package(ZLIB)
|
||||
if(ZLIB_FOUND)
|
||||
set(wownero_OPENSSL_CRYPTO_LIBRARY "${wownero_OPENSSL_CRYPTO_LIBRARY};${ZLIB_LIBRARIES}")
|
||||
endif()
|
||||
find_library(ZSTD_LIBRARY NAMES zstd)
|
||||
if(ZSTD_LIBRARY)
|
||||
set(wownero_OPENSSL_CRYPTO_LIBRARY "${wownero_OPENSSL_CRYPTO_LIBRARY};${ZSTD_LIBRARY}")
|
||||
else()
|
||||
set(wownero_OPENSSL_CRYPTO_LIBRARY "${wownero_OPENSSL_CRYPTO_LIBRARY};zstd")
|
||||
endif()
|
||||
find_library(EVENT_LIBRARY NAMES event libevent)
|
||||
if(EVENT_LIBRARY)
|
||||
set(wownero_UNBOUND_LIBRARIES "${wownero_UNBOUND_LIBRARIES};${EVENT_LIBRARY}")
|
||||
else()
|
||||
set(wownero_UNBOUND_LIBRARIES "${wownero_UNBOUND_LIBRARIES};event")
|
||||
endif()
|
||||
set(wownero_OPENSSL_LIBRARIES "${wownero_OPENSSL_LIBRARIES};${CMAKE_DL_LIBS};${CMAKE_THREAD_LIBS_INIT};rt")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
find_library(IOKIT_LIBRARY IOKit)
|
||||
list(APPEND IMPORTED_MONERO_LIBRARIES ${IOKIT_LIBRARY})
|
||||
list(APPEND IMPORTED_WOWNERO_LIBRARIES ${IOKIT_LIBRARY})
|
||||
endif()
|
||||
|
||||
add_library(monero::libraries INTERFACE IMPORTED)
|
||||
set_property(TARGET monero::libraries PROPERTY
|
||||
add_library(wownero::libraries INTERFACE IMPORTED)
|
||||
set_property(TARGET wownero::libraries PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES
|
||||
${Boost_INCLUDE_DIR}
|
||||
${monero_HIDAPI_INCLUDE_DIRS}
|
||||
${monero_OPENSSL_INCLUDE_DIR}
|
||||
"${MONERO_BUILD_DIR}/generated_include"
|
||||
"${MONERO_SOURCE_DIR}/contrib/epee/include"
|
||||
"${MONERO_SOURCE_DIR}/external/easylogging++"
|
||||
"${MONERO_SOURCE_DIR}/external/rapidjson/include"
|
||||
"${MONERO_SOURCE_DIR}/external/supercop/include"
|
||||
"${MONERO_SOURCE_DIR}/src"
|
||||
${wownero_HIDAPI_INCLUDE_DIRS}
|
||||
${wownero_OPENSSL_INCLUDE_DIR}
|
||||
"${WOWNERO_BUILD_DIR}/generated_include"
|
||||
"${WOWNERO_SOURCE_DIR}/contrib/epee/include"
|
||||
"${WOWNERO_SOURCE_DIR}/external/easylogging++"
|
||||
"${WOWNERO_SOURCE_DIR}/external/rapidjson/include"
|
||||
"${WOWNERO_SOURCE_DIR}/external/supercop/include"
|
||||
"${WOWNERO_SOURCE_DIR}/src"
|
||||
)
|
||||
|
||||
set_property(TARGET monero::libraries PROPERTY
|
||||
set_property(TARGET wownero::libraries PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES
|
||||
${IMPORTED_MONERO_LIBRARIES}
|
||||
${IMPORTED_WOWNERO_LIBRARIES}
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
||||
@@ -293,18 +362,21 @@ set_property(TARGET monero::libraries PROPERTY
|
||||
${Boost_SERIALIZATION_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${monero_HIDAPI_LIBRARY}
|
||||
${monero_usb_LIBRARY}
|
||||
${monero_LIBUDEV_LIBRARY}
|
||||
${monero_OPENSSL_SSL_LIBRARY}
|
||||
${monero_OPENSSL_CRYPTO_LIBRARY}
|
||||
${wownero_HIDAPI_LIBRARY}
|
||||
${wownero_usb_LIBRARY}
|
||||
${wownero_LIBUDEV_LIBRARY}
|
||||
${wownero_OPENSSL_SSL_LIBRARY}
|
||||
${wownero_OPENSSL_CRYPTO_LIBRARY}
|
||||
${SODIUM_LIBRARY}
|
||||
${monero_UNBOUND_LIBRARIES}
|
||||
${wownero_UNBOUND_LIBRARIES}
|
||||
${ZMQ_LIB}
|
||||
${CMAKE_DL_LIBS}
|
||||
Threads::Threads
|
||||
rt
|
||||
)
|
||||
|
||||
#
|
||||
# Build monero-lws code
|
||||
# Build wownero-lws code
|
||||
#
|
||||
|
||||
add_subdirectory(src)
|
||||
|
||||
Reference in New Issue
Block a user