onion-wownero-blockchain-ex.../CMakeLists.txt

205 lines
4.9 KiB
CMake
Raw Normal View History

2021-03-27 11:41:31 +00:00
cmake_minimum_required(VERSION 3.0.2)
2016-04-06 06:53:37 +00:00
set(PROJECT_NAME
2016-04-15 21:59:39 +00:00
xmrblocks)
2016-04-06 06:53:37 +00:00
2016-04-12 03:31:26 +00:00
2016-04-06 06:53:37 +00:00
project(${PROJECT_NAME})
set(CMAKE_CXX_STANDARD 11)
2017-02-02 14:17:43 +00:00
if (WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wa,-mbig-obj -O3")
endif()
2016-04-06 06:53:37 +00:00
if (NOT MONERO_DIR)
2018-12-11 15:43:06 +00:00
set(MONERO_DIR ~/wownero)
endif()
message(STATUS MONERO_DIR ": ${MONERO_DIR}")
2018-12-31 00:48:47 +00:00
if (NOT MONERO_SOURCE_DIR)
set(MONERO_SOURCE_DIR ${MONERO_DIR}
CACHE PATH "Path to the root directory for Monero")
endif()
2018-12-31 00:48:47 +00:00
if (NOT MONERO_BUILD_DIR)
# set location of monero build tree
set(MONERO_BUILD_DIR ${MONERO_SOURCE_DIR}/build/release/
CACHE PATH "Path to the build directory for Monero")
if (NOT EXISTS ${MONERO_BUILD_DIR})
# try different location
message(STATUS "Trying different folder for monero libraries")
set(MONERO_BUILD_DIR ${MONERO_SOURCE_DIR}/build/Linux/master/release/
CACHE PATH "Path to the build directory for Monero" FORCE)
endif()
endif()
if (NOT EXISTS ${MONERO_BUILD_DIR})
message(FATAL_ERROR "Monero libraries not found in: ${MONERO_BUILD_DIR}")
2018-12-31 00:48:47 +00:00
endif()
set(MY_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake"
CACHE PATH "The path to the cmake directory of the current project")
list(APPEND CMAKE_MODULE_PATH "${MY_CMAKE_DIR}")
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${MONERO_BUILD_DIR}"
CACHE PATH "Add Monero directory for library searching")
include(MyUtils)
find_package(Monero)
2016-04-06 06:53:37 +00:00
# find boost
find_package(Boost COMPONENTS
system
filesystem
thread
date_time
chrono
regex
serialization
program_options
date_time
REQUIRED)
#info https://github.com/arsenm/sanitizers-cmake
find_package(Sanitizers)
2016-04-06 06:53:37 +00:00
2017-01-13 16:25:36 +00:00
if(APPLE)
2020-05-07 05:47:52 +00:00
include_directories(/usr/local/opt/openssl@1.1/include)
link_directories(/usr/local/opt/openssl@1.1/lib)
link_directories(/usr/local/lib)
2017-01-13 16:25:36 +00:00
endif()
MESSAGE(STATUS "Looking for libunbound") # FindUnbound.cmake from monero repo
FIND_PATH(UNBOUND_INCLUDE_DIR
NAMES unbound.h
PATH_SUFFIXES include/ include/unbound/
PATHS "${PROJECT_SOURCE_DIR}"
${UNBOUND_ROOT}
$ENV{UNBOUND_ROOT}
/usr/local/
/usr/
)
find_library (UNBOUND_LIBRARY unbound)
if (WIN32 OR (${UNBOUND_LIBRARY} STREQUAL "UNBOUND_LIBRARY-NOTFOUND"))
add_library(unbound STATIC IMPORTED)
set_property(TARGET unbound PROPERTY IMPORTED_LOCATION ${MONERO_BUILD_DIR}/external/unbound/libunbound.a)
endif()
2017-02-02 14:17:43 +00:00
if("${Xmr_WALLET-CRYPTO_LIBRARIES}" STREQUAL "Xmr_WALLET-CRYPTO_LIBRARY-NOTFOUND")
set(WALLET_CRYPTO "")
else()
set(WALLET_CRYPTO ${Xmr_WALLET-CRYPTO_LIBRARIES})
endif()
2018-11-29 04:48:53 +00:00
2016-04-06 06:53:37 +00:00
# include boost headers
include_directories(${Boost_INCLUDE_DIRS})
2018-11-29 04:48:53 +00:00
# include monero
include_directories(${MONERO_SOURCE_DIR}/build)
2016-04-06 06:53:37 +00:00
include_directories("ext/mstch/include")
2018-11-29 04:48:53 +00:00
include_directories("ext/mstch/include/src")
2017-12-19 22:31:04 +00:00
include_directories("ext/crow")
2016-04-06 06:53:37 +00:00
# add ext/ subfolder
add_subdirectory(ext/)
# add src/ subfolder
add_subdirectory(src/)
set(SOURCE_FILES
main.cpp)
2016-04-12 03:31:26 +00:00
#ADD_CUSTOM_TARGET(driver DEPENDS src/templates/index.html)
2016-04-08 06:14:42 +00:00
2016-04-06 06:53:37 +00:00
add_executable(${PROJECT_NAME}
${SOURCE_FILES})
add_sanitizers(${PROJECT_NAME})
create_git_version()
2016-04-12 03:31:26 +00:00
configure_files(${CMAKE_CURRENT_SOURCE_DIR}/src/templates ${CMAKE_CURRENT_BINARY_DIR}/templates)
configure_files(${CMAKE_CURRENT_SOURCE_DIR}/src/templates/css ${CMAKE_CURRENT_BINARY_DIR}/templates/css)
2016-04-30 01:35:48 +00:00
configure_files(${CMAKE_CURRENT_SOURCE_DIR}/src/templates/partials ${CMAKE_CURRENT_BINARY_DIR}/templates/partials)
2018-01-12 23:18:44 +00:00
configure_files(${CMAKE_CURRENT_SOURCE_DIR}/src/templates/js ${CMAKE_CURRENT_BINARY_DIR}/templates/js)
2016-04-12 03:31:26 +00:00
2017-01-19 05:05:24 +00:00
set(LIBRARIES
2016-04-06 06:53:37 +00:00
myxrm
myext
mstch
2016-09-28 02:21:14 +00:00
wallet
2017-02-12 01:48:56 +00:00
blockchain_db
2020-08-24 12:14:43 +00:00
device
${WALLET_CRYPTO}
2016-04-06 06:53:37 +00:00
cryptonote_core
cryptonote_protocol
2017-02-12 01:48:56 +00:00
cryptonote_basic
2018-03-27 11:23:21 +00:00
multisig
2017-02-12 01:48:56 +00:00
daemonizer
2016-04-06 06:53:37 +00:00
blocks
lmdb
2016-09-06 10:34:07 +00:00
ringct
2018-03-15 01:44:43 +00:00
ringct_basic
common
2016-12-24 08:40:28 +00:00
mnemonics
easylogging
checkpoints
2020-08-24 12:14:43 +00:00
cncrypto
miniupnpc
version
epee
2019-09-26 02:54:58 +00:00
hardforks
randomx
2018-08-24 06:05:59 +00:00
sodium
2016-04-06 06:53:37 +00:00
${Boost_LIBRARIES}
pthread
unbound
curl
2016-12-19 01:47:19 +00:00
crypto
ssl)
2017-01-19 05:05:24 +00:00
if(APPLE)
2018-10-25 23:34:10 +00:00
set(LIBRARIES ${LIBRARIES} "-framework IOKit -framework Foundation")
else()
2018-10-25 23:34:10 +00:00
set(LIBRARIES ${LIBRARIES} atomic)
endif()
find_library(UNWIND_LIBRARY unwind)
if (${UNWIND_LIBRARY} STREQUAL "UNWIND_LIBRARY-NOTFOUND")
message (STATUS "unwind library not found")
set (UNWIND_LIBRARY "")
else ()
message (STATUS "Found unwind library: ${UNWIND_LIBRARY}")
endif ()
2017-02-02 14:17:43 +00:00
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT WIN32)
set(LIBRARIES ${LIBRARIES} ${UNWIND_LIBRARY})
2017-01-13 16:25:36 +00:00
endif()
2017-01-19 05:05:24 +00:00
2017-02-02 14:17:43 +00:00
if (WIN32)
set(LIBRARIES ${LIBRARIES}
wsock32
ntdll
ws2_32
Iphlpapi
)
2017-02-02 14:17:43 +00:00
else()
set(LIBRARIES ${LIBRARIES} dl)
endif()
2018-10-25 23:34:10 +00:00
find_package(HIDAPI)
set(LIBRARIES ${LIBRARIES} ${HIDAPI_LIBRARIES})
2017-01-19 05:05:24 +00:00
target_link_libraries(${PROJECT_NAME} ${LIBRARIES})