|
|
|
@ -28,13 +28,26 @@ if(DEBUG)
|
|
|
|
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
set(WOWNERO_HEAD "f611d5c9e32bc62f1735f6571b0bdb95cc020531")
|
|
|
|
|
# Submodule commit hashes
|
|
|
|
|
set(TOUCH_BAR_HEAD "696bb2141c")
|
|
|
|
|
set(MONERO_SEED_HEAD "4674ef09b6")
|
|
|
|
|
set(WOWNERO_HEAD "f611d5c9e3")
|
|
|
|
|
|
|
|
|
|
set(BUILD_GUI_DEPS ON)
|
|
|
|
|
set(ARCH "x86-64")
|
|
|
|
|
set(BUILD_64 ON)
|
|
|
|
|
set(INSTALL_VENDORED_LIBUNBOUND ${STATIC})
|
|
|
|
|
set(USE_SINGLE_BUILDDIR ON)
|
|
|
|
|
|
|
|
|
|
if(NOT WIN32)
|
|
|
|
|
string(ASCII 27 Esc)
|
|
|
|
|
set(BoldRed "${Esc}[1;31m")
|
|
|
|
|
set(BoldGreen "${Esc}[1;32m")
|
|
|
|
|
set(BoldYellow "${Esc}[1;33m")
|
|
|
|
|
set(ResetColor "${Esc}[m")
|
|
|
|
|
set(BoldColor "${Esc}[1m")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
check_include_file(sys/prctl.h HAVE_SYS_PRCTL_H)
|
|
|
|
|
check_symbol_exists(prctl "sys/prctl.h" HAVE_PRCTL)
|
|
|
|
|
|
|
|
|
@ -47,7 +60,7 @@ if(STATIC)
|
|
|
|
|
# manually set the unbound submodule the right commit that has the fix.
|
|
|
|
|
# This only works with -DMANUAL_SUBMODULES=1
|
|
|
|
|
message(STATUS "applying unbound static build fix contrib/unbound_static.patch")
|
|
|
|
|
execute_process(COMMAND bash -c "git -C ${CMAKE_SOURCE_DIR}/monero/external/unbound apply ${CMAKE_SOURCE_DIR}/contrib/unbound_static.patch")
|
|
|
|
|
execute_process(COMMAND bash -c "git -C ${CMAKE_SOURCE_DIR}/external/wownero/external/unbound apply ${CMAKE_SOURCE_DIR}/contrib/unbound_static.patch")
|
|
|
|
|
|
|
|
|
|
set(Boost_USE_STATIC_LIBS ON)
|
|
|
|
|
set(Boost_USE_STATIC_RUNTIME ON)
|
|
|
|
@ -81,23 +94,43 @@ endfunction()
|
|
|
|
|
|
|
|
|
|
find_package(Git)
|
|
|
|
|
if(GIT_FOUND)
|
|
|
|
|
message(STATUS "Initializing submodules")
|
|
|
|
|
# Update and initialize submodules
|
|
|
|
|
message("\n${BoldYellow}Initializing submodules...\n${ResetColor}")
|
|
|
|
|
execute_process(COMMAND git "submodule" "update" "--init" "--recursive")
|
|
|
|
|
execute_process(COMMAND git rev-parse "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/monero OUTPUT_VARIABLE _WOWNERO_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
# Get submodule commit hashes
|
|
|
|
|
execute_process(COMMAND git rev-parse --short=10 "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/external/KDMacTouchBar OUTPUT_VARIABLE _TOUCH_BAR_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
execute_process(COMMAND git rev-parse --short=10 "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/external/monero-seed OUTPUT_VARIABLE _MONERO_SEED_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
execute_process(COMMAND git rev-parse --short=10 "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/external/wownero OUTPUT_VARIABLE _WOWNERO_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
# Sanity check
|
|
|
|
|
if(APPLE AND NOT _TOUCH_BAR_HEAD STREQUAL TOUCH_BAR_HEAD)
|
|
|
|
|
message(FATAL_ERROR "[submodule] KDMacTouchBar HEAD was at ${_TOUCH_BAR_HEAD} but should be at ${TOUCH_BAR_HEAD}")
|
|
|
|
|
elseif(APPLE)
|
|
|
|
|
message("${BoldGreen}[submodule] KDMacTouchBar HEAD @ ${_TOUCH_BAR_HEAD}${ResetColor}")
|
|
|
|
|
add_subdirectory(external/KDMacTouchBar)
|
|
|
|
|
endif()
|
|
|
|
|
if(NOT _MONERO_SEED_HEAD STREQUAL MONERO_SEED_HEAD)
|
|
|
|
|
message(FATAL_ERROR "[submodule] monero-seed HEAD was at ${_MONERO_SEED} but should be at ${MONERO_SEED_HEAD}")
|
|
|
|
|
else()
|
|
|
|
|
message("${BoldGreen}[submodule] monero-seed HEAD @ ${_MONERO_SEED_HEAD}${ResetColor}")
|
|
|
|
|
endif()
|
|
|
|
|
if(NOT _WOWNERO_HEAD STREQUAL WOWNERO_HEAD)
|
|
|
|
|
message(FATAL_ERROR "[submodule] Monero HEAD was at ${_WOWNERO_HEAD} but should be at ${WOWNERO_HEAD}")
|
|
|
|
|
message(FATAL_ERROR "[submodule] wownero HEAD was at ${_WOWNERO_HEAD} but should be at ${WOWNERO_HEAD}")
|
|
|
|
|
else()
|
|
|
|
|
message(STATUS "[submodule] Monero HEAD @ ${WOWNERO_HEAD}")
|
|
|
|
|
message("${BoldGreen}[submodule] wownero HEAD @ ${WOWNERO_HEAD}${ResetColor}")
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_subdirectory(monero)
|
|
|
|
|
set_property(TARGET wallet_merged PROPERTY FOLDER "monero")
|
|
|
|
|
get_directory_property(ARCH_WIDTH DIRECTORY "monero" DEFINITION ARCH_WIDTH)
|
|
|
|
|
get_directory_property(UNBOUND_LIBRARY DIRECTORY "monero" DEFINITION UNBOUND_LIBRARY)
|
|
|
|
|
add_subdirectory(external/wownero)
|
|
|
|
|
add_subdirectory(external/monero-seed)
|
|
|
|
|
add_library(monero-seed::monero-seed ALIAS monero-seed)
|
|
|
|
|
|
|
|
|
|
set_property(TARGET wallet_merged PROPERTY FOLDER "external/wownero")
|
|
|
|
|
get_directory_property(ARCH_WIDTH DIRECTORY "external/wownero" DEFINITION ARCH_WIDTH)
|
|
|
|
|
get_directory_property(UNBOUND_LIBRARY DIRECTORY "external/wownero" DEFINITION UNBOUND_LIBRARY)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
|
|
|
include(VersionMonero)
|
|
|
|
|
include(VersionWownero)
|
|
|
|
|
include(VersionWowlet)
|
|
|
|
|
|
|
|
|
|
include_directories(${EASYLOGGING_INCLUDE})
|
|
|
|
@ -122,24 +155,6 @@ set(HIDAPI_FOUND OFF)
|
|
|
|
|
# QrEncode
|
|
|
|
|
find_package(QREncode REQUIRED)
|
|
|
|
|
|
|
|
|
|
# Tevador 14 word Monero seed
|
|
|
|
|
find_package(monero-seed CONFIG)
|
|
|
|
|
if(NOT monero-seed_FOUND)
|
|
|
|
|
if(FETCH_DEPS)
|
|
|
|
|
FetchContent_Declare(monero-seed
|
|
|
|
|
GIT_REPOSITORY https://git.wownero.com/wowlet/monero-seed.git)
|
|
|
|
|
FetchContent_GetProperties(monero-seed)
|
|
|
|
|
if(NOT monero-seed_POPULATED)
|
|
|
|
|
message(STATUS "Fetching monero-seed")
|
|
|
|
|
FetchContent_Populate(monero-seed)
|
|
|
|
|
add_subdirectory(${monero-seed_SOURCE_DIR} ${monero-seed_BINARY_DIR})
|
|
|
|
|
endif()
|
|
|
|
|
add_library(monero-seed::monero-seed ALIAS monero-seed)
|
|
|
|
|
else()
|
|
|
|
|
message(FATAL_ERROR "monero-seed was not installed and fetching deps is disabled")
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
# Boost
|
|
|
|
|
if(DEBUG)
|
|
|
|
|
set(Boost_DEBUG ON)
|
|
|
|
@ -361,8 +376,4 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${C_SECURITY_FLAGS}")
|
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${CXX_SECURITY_FLAGS}")
|
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${STATIC_FLAGS}")
|
|
|
|
|
|
|
|
|
|
if(APPLE)
|
|
|
|
|
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/contrib/KDMacTouchBar")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_subdirectory(src)
|
|
|
|
|