1
0
Fork 0
mirror of https://github.com/eosswedenorg/antelope-keygen synced 2026-06-16 03:44:56 +02:00
antelope-keygen/gui/CMakeLists.txt

85 lines
2.1 KiB
CMake

cmake_minimum_required(VERSION 3.15)
project(antelope-keygen-gui
VERSION ${CMAKE_PROJECT_VERSION}
DESCRIPTION "Keygenerator for Antelope blockchain (gui)"
LANGUAGES CXX)
# Append modules dir
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(QtUtils)
# Qt5 needs MOC,RCC and UIC
set( CMAKE_AUTOMOC ON )
set( CMAKE_AUTORCC ON )
set( CMAKE_AUTOUIC ON )
# Autogenerate about config file
file( READ ${PROJECT_LICENSE_FILE} GUI_ABOUT_LICENSE )
string(REGEX REPLACE "^([^\n]+)" "<h2>\\1</h2>" GUI_ABOUT_LICENSE ${GUI_ABOUT_LICENSE})
string(REGEX REPLACE "\n\n([^\n]+)" "<p>\\1</p>" GUI_ABOUT_LICENSE ${GUI_ABOUT_LICENSE})
string(REGEX REPLACE "\n" "" GUI_ABOUT_LICENSE ${GUI_ABOUT_LICENSE})
string(REGEX REPLACE "\<(.+)\>" "- <a href=\"mailto:\\1\">\\1</a>" GUI_ABOUT_AUTHOR ${PROJECT_MAINTAINER})
configure_file(gui_text.h.in "${CMAKE_CURRENT_BINARY_DIR}/gui_text.h" @ONLY ESCAPE_QUOTES)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
# --------------------------------
# Program
# --------------------------------
set( PROGRAM_EXE ${PROJECT_NAME} )
set( PROGRAM_SRC
src/main.cpp
src/MainWindow.cpp
src/GenerateWindow.cpp
src/SearchWindow.cpp
src/MultiSelect.cpp
src/Settings.cpp
src/helpers.cpp
)
add_executable( ${PROGRAM_EXE} WIN32 ${PROGRAM_SRC} )
# Libraries
target_link_libraries( ${PROGRAM_EXE} common )
# QT
qt5_app(TARGET ${PROGRAM_EXE}
SKIP_TRANSLATIONS
MODULES Core Gui Widgets Concurrent
INSTALL_COMPONENT gui
)
# --------------------------------
# Install
# --------------------------------
install(TARGETS ${PROGRAM_EXE}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT gui)
install(FILES ${PROJECT_LICENSE_FILE}
DESTINATION ${CMAKE_INSTALL_SHAREDIR}
COMPONENT gui
RENAME LICENSE.gui)
install(FILES README.md
DESTINATION ${CMAKE_INSTALL_SHAREDIR}
COMPONENT gui
RENAME README.gui.md)
install(FILES LICENSE.qt5
DESTINATION ${CMAKE_INSTALL_SHAREDIR}
COMPONENT gui)
# --------------------------------
# Package
# --------------------------------
configure_file(cmake/CPackComponentConfig.cmake.in
${PROJECT_BINARY_DIR}/CPackProperties.cmake)