mirror of
https://github.com/eosswedenorg/antelope-keygen
synced 2026-06-17 03:50:03 +02:00
cmake: split CMakeLists into multiple directories.
This commit is contained in:
parent
7c2629427d
commit
b52f61d319
35 changed files with 98 additions and 99 deletions
107
CMakeLists.txt
107
CMakeLists.txt
|
|
@ -28,33 +28,6 @@ if (WIN32)
|
|||
set( CMAKE_INSTALL_MANDIR "." )
|
||||
endif (WIN32)
|
||||
|
||||
# --------------------------------
|
||||
# Program
|
||||
# --------------------------------
|
||||
|
||||
set (PROGRAM_EXE ${CMAKE_PROJECT_NAME})
|
||||
|
||||
set (PROGRAM_SOURCE
|
||||
src/core/file.cpp
|
||||
src/core/dictionary.cpp
|
||||
src/core/string.cpp
|
||||
src/core/isatty.cpp
|
||||
src/crypto/base58.cpp
|
||||
src/crypto/WIF.cpp
|
||||
src/console.cpp
|
||||
src/key_search.cpp
|
||||
src/key_search_helpers.cpp
|
||||
src/benchmark.cpp
|
||||
src/main.cpp
|
||||
)
|
||||
|
||||
if (WIN32 AND NOT FORCE_ANSI)
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE} src/console_win32.cpp)
|
||||
else()
|
||||
# *nix should have ansi support.
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE} src/console_ansi.cpp)
|
||||
endif()
|
||||
|
||||
# Configure the compiler options
|
||||
set( CMAKE_CXX_STANDARD 11 )
|
||||
set( CMAKE_CXX_STANDARD_REQUIRED ON )
|
||||
|
|
@ -66,58 +39,16 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|||
add_definitions( "-D_CRT_SECURE_NO_WARNINGS=1" )
|
||||
endif()
|
||||
|
||||
# Libraries
|
||||
find_package(OpenSSL 1.1 REQUIRED)
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE}
|
||||
src/crypto/openssl/ec.cpp
|
||||
src/crypto/openssl/hash.cpp
|
||||
)
|
||||
# --------------------------------
|
||||
# Additional project dirs
|
||||
# --------------------------------
|
||||
|
||||
if (USE_THREADS)
|
||||
find_package(Threads)
|
||||
if (Threads_FOUND)
|
||||
# Add preprocessor flag
|
||||
add_definitions( "-DHAVE_THREADS=1" )
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE} src/key_search_mt.cpp)
|
||||
endif (Threads_FOUND)
|
||||
endif (USE_THREADS)
|
||||
add_subdirectory( cli )
|
||||
add_subdirectory( docs )
|
||||
|
||||
# Project config file
|
||||
configure_file(src/config.h.in "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY)
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
|
||||
# Include OpenSSL headers
|
||||
include_directories( ${OPENSSL_INCLUDE_DIR} )
|
||||
|
||||
add_executable( ${PROGRAM_EXE} ${PROGRAM_SOURCE} )
|
||||
|
||||
target_link_libraries( ${PROGRAM_EXE}
|
||||
PUBLIC
|
||||
${OPENSSL_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
)
|
||||
|
||||
install(TARGETS ${PROGRAM_EXE} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
# Win32 specific.
|
||||
if (WIN32)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set (OPENSSL_LIBCRYPTO_NAME libcrypto-1_1-x64)
|
||||
else()
|
||||
set (OPENSSL_LIBCRYPTO_NAME libcrypto-1_1)
|
||||
endif()
|
||||
set( OPENSSL_LIBCRYPTO_DLL ${OPENSSL_ROOT_DIR}/bin/${OPENSSL_LIBCRYPTO_NAME}.dll )
|
||||
|
||||
# Need to copy libcrypto dll to binary folder.
|
||||
add_custom_command(TARGET ${PROGRAM_EXE} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${OPENSSL_LIBCRYPTO_DLL}
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
||||
)
|
||||
|
||||
# We also need to copy libcrypto dll during install
|
||||
install(FILES ${OPENSSL_LIBCRYPTO_DLL} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif (WIN32)
|
||||
if (UNIX AND EXTRAS)
|
||||
add_subdirectory( extras )
|
||||
endif()
|
||||
|
||||
# --------------------------------
|
||||
# Additional install files
|
||||
|
|
@ -125,25 +56,3 @@ endif (WIN32)
|
|||
|
||||
install(FILES README.md LICENSE LICENSE.bitcoin
|
||||
DESTINATION ${CMAKE_INSTALL_SHAREDIR})
|
||||
|
||||
configure_file( docs/eosio-keygen.1.in
|
||||
${PROJECT_BINARY_DIR}/man1/eosio-keygen.1 )
|
||||
|
||||
if (UNIX)
|
||||
install(DIRECTORY ${PROJECT_BINARY_DIR}/man1
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR})
|
||||
endif (UNIX)
|
||||
|
||||
# --------------------------------
|
||||
# Extras
|
||||
# --------------------------------
|
||||
|
||||
if (UNIX AND EXTRAS)
|
||||
add_subdirectory(extras)
|
||||
endif()
|
||||
|
||||
# --------------------------------
|
||||
# Misc
|
||||
# --------------------------------
|
||||
|
||||
include( package )
|
||||
|
|
|
|||
83
cli/CMakeLists.txt
Normal file
83
cli/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
# --------------------------------
|
||||
# Program
|
||||
# --------------------------------
|
||||
|
||||
set (PROGRAM_EXE ${CMAKE_PROJECT_NAME})
|
||||
|
||||
set (PROGRAM_SOURCE
|
||||
src/core/file.cpp
|
||||
src/core/dictionary.cpp
|
||||
src/core/string.cpp
|
||||
src/core/isatty.cpp
|
||||
src/crypto/base58.cpp
|
||||
src/crypto/WIF.cpp
|
||||
src/console.cpp
|
||||
src/key_search.cpp
|
||||
src/key_search_helpers.cpp
|
||||
src/benchmark.cpp
|
||||
src/main.cpp
|
||||
)
|
||||
|
||||
if (WIN32 AND NOT FORCE_ANSI)
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE} src/console_win32.cpp)
|
||||
else()
|
||||
# *nix should have ansi support.
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE} src/console_ansi.cpp)
|
||||
endif()
|
||||
|
||||
# Libraries
|
||||
find_package(OpenSSL 1.1 REQUIRED)
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE}
|
||||
src/crypto/openssl/ec.cpp
|
||||
src/crypto/openssl/hash.cpp
|
||||
)
|
||||
|
||||
if (USE_THREADS)
|
||||
find_package(Threads)
|
||||
if (Threads_FOUND)
|
||||
# Add preprocessor flag
|
||||
add_definitions( "-DHAVE_THREADS=1" )
|
||||
set (PROGRAM_SOURCE ${PROGRAM_SOURCE} src/key_search_mt.cpp)
|
||||
endif (Threads_FOUND)
|
||||
endif (USE_THREADS)
|
||||
|
||||
# Project config file
|
||||
configure_file(src/config.h.in "${PROJECT_BINARY_DIR}/config.h" @ONLY)
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
|
||||
# Include OpenSSL headers
|
||||
include_directories( ${OPENSSL_INCLUDE_DIR} )
|
||||
|
||||
add_executable( ${PROGRAM_EXE} ${PROGRAM_SOURCE} )
|
||||
|
||||
target_link_libraries( ${PROGRAM_EXE}
|
||||
PUBLIC
|
||||
${OPENSSL_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
)
|
||||
|
||||
install(TARGETS ${PROGRAM_EXE} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
# Win32 specific.
|
||||
if (WIN32)
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set (OPENSSL_LIBCRYPTO_NAME libcrypto-1_1-x64)
|
||||
else()
|
||||
set (OPENSSL_LIBCRYPTO_NAME libcrypto-1_1)
|
||||
endif()
|
||||
set( OPENSSL_LIBCRYPTO_DLL ${OPENSSL_ROOT_DIR}/bin/${OPENSSL_LIBCRYPTO_NAME}.dll )
|
||||
|
||||
# Need to copy libcrypto dll to binary folder.
|
||||
add_custom_command(TARGET ${PROGRAM_EXE} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
${OPENSSL_LIBCRYPTO_DLL}
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}
|
||||
)
|
||||
|
||||
# We also need to copy libcrypto dll during install
|
||||
install(FILES ${OPENSSL_LIBCRYPTO_DLL} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif (WIN32)
|
||||
|
||||
include( package )
|
||||
7
docs/CMakeLists.txt
Normal file
7
docs/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
|
||||
if (UNIX)
|
||||
configure_file( eosio-keygen.1.in ${PROJECT_BINARY_DIR}/man1/eosio-keygen.1 )
|
||||
|
||||
install(DIRECTORY ${PROJECT_BINARY_DIR}/man1
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR})
|
||||
endif (UNIX)
|
||||
Loading…
Add table
Add a link
Reference in a new issue