mirror of
https://github.com/eosswedenorg/antelope-keygen
synced 2026-06-16 03:44:56 +02:00
84 lines
2.1 KiB
CMake
84 lines
2.1 KiB
CMake
cmake_minimum_required(VERSION 3.15)
|
|
|
|
# --------------------------------
|
|
# Project Info
|
|
# --------------------------------
|
|
|
|
project(antelope-keygen
|
|
VERSION ${CMAKE_PROJECT_VERSION}
|
|
LANGUAGES CXX)
|
|
|
|
# Options
|
|
option(FORCE_ANSI "Force ANSI console colors even on windows" OFF)
|
|
|
|
# --------------------------------
|
|
# Program
|
|
# --------------------------------
|
|
|
|
set (PROGRAM_EXE ${PROJECT_NAME})
|
|
|
|
set (PROGRAM_SOURCE
|
|
src/isatty.cpp
|
|
src/cli_key_search_result.cpp
|
|
src/console.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()
|
|
|
|
add_executable( ${PROGRAM_EXE} ${PROGRAM_SOURCE} )
|
|
|
|
# Include CLI11
|
|
include ( ${CMAKE_SOURCE_DIR}/lib/CLI11/CMakeLists.txt )
|
|
|
|
target_include_directories( ${PROGRAM_EXE} PRIVATE ${LIBCLI11_INCLUDE} )
|
|
target_link_libraries( ${PROGRAM_EXE} PUBLIC common )
|
|
|
|
# --------------------------------
|
|
# Install
|
|
# --------------------------------
|
|
|
|
install(TARGETS ${PROGRAM_EXE}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
COMPONENT cli)
|
|
|
|
install(FILES ${PROJECT_LICENSE_FILE}
|
|
DESTINATION ${CMAKE_INSTALL_SHAREDIR}
|
|
COMPONENT cli
|
|
RENAME LICENSE.cli)
|
|
|
|
install (FILES ${LIBCLI11_LICENSE}
|
|
DESTINATION ${CMAKE_INSTALL_SHAREDIR}
|
|
COMPONENT cli
|
|
RENAME LICENSE.libcli11)
|
|
|
|
|
|
# Documentation
|
|
|
|
configure_file( docs/README.md.in ${PROJECT_BINARY_DIR}/README.cli.md @ONLY )
|
|
install(FILES ${PROJECT_BINARY_DIR}/README.cli.md
|
|
DESTINATION ${CMAKE_INSTALL_SHAREDIR}
|
|
COMPONENT cli)
|
|
|
|
if (UNIX)
|
|
configure_file( docs/antelope-keygen.1.in ${PROJECT_BINARY_DIR}/man1/antelope-keygen.1 )
|
|
configure_file( docs/antelope-keygen-search.1.in ${PROJECT_BINARY_DIR}/man1/antelope-keygen-search.1 )
|
|
configure_file( docs/antelope-keygen-benchmark.1.in ${PROJECT_BINARY_DIR}/man1/antelope-keygen-benchmark.1 )
|
|
|
|
install(DIRECTORY ${PROJECT_BINARY_DIR}/man1
|
|
DESTINATION ${CMAKE_INSTALL_MANDIR}
|
|
COMPONENT cli)
|
|
endif (UNIX)
|
|
|
|
# --------------------------------
|
|
# Package
|
|
# --------------------------------
|
|
|
|
configure_file(cmake/CPackComponentConfig.cmake.in
|
|
${PROJECT_BINARY_DIR}/CPackProperties.cmake)
|