mirror of
https://github.com/eosswedenorg/antelope-keygen
synced 2026-06-16 03:44:56 +02:00
CMake: new CPack structure with config defined in sub directories.
This commit is contained in:
parent
884f8a6125
commit
4a83b06ef2
7 changed files with 101 additions and 37 deletions
|
|
@ -75,6 +75,29 @@ endif()
|
|||
configure_file(config.hpp.in "${PROJECT_BINARY_DIR}/config.hpp" @ONLY)
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
|
||||
# --------------------------------
|
||||
# Install
|
||||
# --------------------------------
|
||||
|
||||
# Readme and license
|
||||
install(FILES README.md ${PROJECT_LICENSE_FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_SHAREDIR})
|
||||
|
||||
# --------------------------------
|
||||
# Package
|
||||
# --------------------------------
|
||||
|
||||
include(CPackConfig)
|
||||
|
||||
set( CPACK_COMPONENTS_ALL cli gui )
|
||||
|
||||
if (CPACK_GENERATOR MATCHES "^[Nn][Ss][Ii][Ss]$")
|
||||
set( CPACK_RESOURCE_FILE_LICENSE ${PROJECT_LICENSE_FILE} )
|
||||
endif()
|
||||
|
||||
set (CPACK_PROPERTIES_FILE ${PROJECT_BINARY_DIR}/CPackComponentsInclude.cmake)
|
||||
configure_file(cmake/CPackProperties.cmake.in ${CPACK_PROPERTIES_FILE} @ONLY)
|
||||
|
||||
# --------------------------------
|
||||
# Components
|
||||
# --------------------------------
|
||||
|
|
@ -90,23 +113,6 @@ if (BUILD_COMPONENT_GUI)
|
|||
endif()
|
||||
|
||||
# --------------------------------
|
||||
# Install
|
||||
# CPack
|
||||
# --------------------------------
|
||||
|
||||
# Readme and license
|
||||
install(FILES README.md ${PROJECT_LICENSE_FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_SHAREDIR})
|
||||
|
||||
# --------------------------------
|
||||
# Package
|
||||
# --------------------------------
|
||||
|
||||
if (CPACK_GENERATOR MATCHES "^[Nn][Ss][Ii][Ss]$")
|
||||
set( CPACK_RESOURCE_FILE_LICENSE ${PROJECT_LICENSE_FILE} )
|
||||
endif()
|
||||
|
||||
set( CPACK_DEBIAN_PACKAGE_PRIORITY "optional" )
|
||||
set( CPACK_DEBIAN_PACKAGE_SECTION "misc" )
|
||||
set( CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON )
|
||||
|
||||
include( cpack_custom )
|
||||
include (CPack)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,13 @@
|
|||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
# --------------------------------
|
||||
# Project Info
|
||||
# --------------------------------
|
||||
|
||||
project(eosio-keygen
|
||||
VERSION ${CMAKE_PROJECT_VERSION}
|
||||
LANGUAGES CXX)
|
||||
|
||||
# Options
|
||||
option(FORCE_ANSI "Force ANSI console colors even on windows" OFF)
|
||||
|
||||
|
|
@ -5,7 +15,7 @@ option(FORCE_ANSI "Force ANSI console colors even on windows" OFF)
|
|||
# Program
|
||||
# --------------------------------
|
||||
|
||||
set (PROGRAM_EXE ${CMAKE_PROJECT_NAME})
|
||||
set (PROGRAM_EXE ${PROJECT_NAME})
|
||||
|
||||
set (PROGRAM_SOURCE
|
||||
src/isatty.cpp
|
||||
|
|
@ -30,7 +40,9 @@ target_link_libraries( ${PROGRAM_EXE} PUBLIC common )
|
|||
# Install
|
||||
# --------------------------------
|
||||
|
||||
install(TARGETS ${PROGRAM_EXE} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(TARGETS ${PROGRAM_EXE}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT cli)
|
||||
|
||||
# Documentation
|
||||
|
||||
|
|
@ -38,5 +50,13 @@ if (UNIX)
|
|||
configure_file( docs/eosio-keygen.1.in ${PROJECT_BINARY_DIR}/man1/eosio-keygen.1 )
|
||||
|
||||
install(DIRECTORY ${PROJECT_BINARY_DIR}/man1
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR})
|
||||
DESTINATION ${CMAKE_INSTALL_MANDIR}
|
||||
COMPONENT cli)
|
||||
endif (UNIX)
|
||||
|
||||
# --------------------------------
|
||||
# Package
|
||||
# --------------------------------
|
||||
|
||||
configure_file(cmake/CPackComponentConfig.cmake.in
|
||||
${PROJECT_BINARY_DIR}/CPackProperties.cmake)
|
||||
|
|
|
|||
13
cli/cmake/CPackComponentConfig.cmake.in
Normal file
13
cli/cmake/CPackComponentConfig.cmake.in
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
# --------------------------------
|
||||
# CPack Component Config
|
||||
# --------------------------------
|
||||
|
||||
set( CPACK_PACKAGE_CLI_NAME "${PROJECT_NAME}" )
|
||||
set( CPACK_PACKAGE_CLI_CONTACT "${PROJECT_MAINTAINER}" )
|
||||
|
||||
# Debian specific
|
||||
set( CPACK_DEBIAN_CLI_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}-${CPACK_SYSTEM_NAME}-${CPACK_SYSTEM_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb")
|
||||
set( CPACK_DEBIAN_CLI_PACKAGE_PRIORITY "optional" )
|
||||
set( CPACK_DEBIAN_CLI_PACKAGE_SECTION "misc" )
|
||||
set( CPACK_DEBIAN_CLI_PACKAGE_DEPENDS "libssl1.1 (>= 1.1.0), libstdc++6 (>= 6)")
|
||||
|
|
@ -93,10 +93,8 @@ set( CPACK_DEBIAN_PACKAGE_RELEASE "1" CACHE STRING "Debian package release versi
|
|||
# So we have to do it here.
|
||||
set( CPACK_DEBIAN_PACKAGE_HOMEPAGE "${PROJECT_HOMEPAGE_URL}" )
|
||||
|
||||
# Set "correct" filename that also include system version and architecture.
|
||||
set( CPACK_DEBIAN_FILE_NAME
|
||||
"${PROJECT_NAME}-${PROJECT_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}-${CPACK_SYSTEM_NAME}-${CPACK_SYSTEM_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb"
|
||||
)
|
||||
# Always build components for deb packages
|
||||
set( CPACK_DEB_COMPONENT_INSTALL ON )
|
||||
|
||||
|
||||
# --------------------------------
|
||||
|
|
@ -112,10 +110,3 @@ if (NOT CPACK_GENERATOR)
|
|||
set( CPACK_GENERATOR "ZIP" )
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# --------------------------------
|
||||
# Include original CPack module.
|
||||
# --------------------------------
|
||||
|
||||
include( CPack )
|
||||
7
cmake/CPackProperties.cmake.in
Normal file
7
cmake/CPackProperties.cmake.in
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
|
||||
# Include component specific config
|
||||
foreach( component @CPACK_COMPONENTS_ALL@ )
|
||||
if (EXISTS "@CMAKE_CURRENT_BINARY_DIR@/${component}/CPackProperties.cmake")
|
||||
include("@CMAKE_CURRENT_BINARY_DIR@/${component}/CPackProperties.cmake")
|
||||
endif()
|
||||
endforeach()
|
||||
|
|
@ -1,3 +1,9 @@
|
|||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
project(eosio-keygen-gui
|
||||
VERSION ${CMAKE_PROJECT_VERSION}
|
||||
DESCRIPTION "Keygenerator for EOSIO (gui)"
|
||||
LANGUAGES CXX)
|
||||
|
||||
# Qt5 needs MOC,RCC and UIC
|
||||
set( CMAKE_AUTOMOC ON )
|
||||
|
|
@ -20,9 +26,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|||
# Program
|
||||
# --------------------------------
|
||||
|
||||
set( COMPONENT_NAME ${CMAKE_PROJECT_NAME}-gui)
|
||||
|
||||
set( PROGRAM_EXE ${COMPONENT_NAME} )
|
||||
set( PROGRAM_EXE ${PROJECT_NAME} )
|
||||
|
||||
set( PROGRAM_SRC
|
||||
main.cpp
|
||||
|
|
@ -45,4 +49,11 @@ target_link_libraries( ${PROGRAM_EXE} Qt5::Concurrent Qt5::Core Qt5::Widgets com
|
|||
|
||||
install(TARGETS ${PROGRAM_EXE}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
COMPONENT ${COMPONENT_NAME})
|
||||
COMPONENT gui)
|
||||
|
||||
# --------------------------------
|
||||
# Package
|
||||
# --------------------------------
|
||||
|
||||
configure_file(cmake/CPackComponentConfig.cmake.in
|
||||
${PROJECT_BINARY_DIR}/CPackProperties.cmake)
|
||||
|
|
|
|||
16
gui/cmake/CPackComponentConfig.cmake.in
Normal file
16
gui/cmake/CPackComponentConfig.cmake.in
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
# --------------------------------
|
||||
# CPack Component Config
|
||||
# --------------------------------
|
||||
|
||||
set( CPACK_PACKAGE_GUI_NAME "${PROJECT_NAME}" )
|
||||
set( CPACK_PACKAGE_GUI_CONTACT "${PROJECT_MAINTAINER}" )
|
||||
|
||||
# Additional description
|
||||
set( CPACK_COMPONENT_GUI_DESCRIPTION "Graphical interface (Qt framework)" )
|
||||
|
||||
# Debian specific
|
||||
set( CPACK_DEBIAN_GUI_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}-${CPACK_SYSTEM_NAME}-${CPACK_SYSTEM_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb")
|
||||
set( CPACK_DEBIAN_GUI_PACKAGE_PRIORITY "optional" )
|
||||
set( CPACK_DEBIAN_GUI_PACKAGE_SECTION "misc" )
|
||||
set( CPACK_DEBIAN_GUI_PACKAGE_SHLIBDEPS ON )
|
||||
Loading…
Add table
Add a link
Reference in a new issue