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]+)" "

\\1

" GUI_ABOUT_LICENSE ${GUI_ABOUT_LICENSE}) string(REGEX REPLACE "\n\n([^\n]+)" "

\\1

" GUI_ABOUT_LICENSE ${GUI_ABOUT_LICENSE}) string(REGEX REPLACE "\n" "" GUI_ABOUT_LICENSE ${GUI_ABOUT_LICENSE}) string(REGEX REPLACE "\<(.+)\>" "- \\1" 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)