RapidMenu/CMakeLists.txt

51 lines
1.5 KiB
Text
Raw Permalink Normal View History

2024-10-07 18:07:07 +02:00
cmake_minimum_required(VERSION 3.28.2)
# Get version
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/props.json PROPS)
string(JSON VER GET ${PROPS} version)
project(RapidMenu
DESCRIPTION "Utilize configuration files to create runner scripts."
VERSION ${VER})
2024-01-11 17:04:31 +01:00
2024-10-07 18:07:07 +02:00
set(CMAKE_CXX_STANDARD 26)
# check if build type is set if it isnt set it to release
if(NOT CMAKE_BUILD_TYPE)
set(DCKMAKE_BUILD_TYPE Release)
endif()
2024-01-11 17:04:31 +01:00
2024-01-11 17:40:32 +01:00
# Add the path to the source files for RapidMenu
file(GLOB_RECURSE RAPID_MENU_SOURCE_FILES "src/*.cpp")
2024-01-11 17:04:31 +01:00
2024-10-07 18:07:07 +02:00
# add compiler flags
set(CMAKE_CXX_FLAGS_DEBUG "-g")
set(CMAKE_CXX_FLAGS_RELEASE "-03")
2024-01-11 17:40:32 +01:00
# Add the executable target for RapidMenu
add_executable(RapidMenu ${RAPID_MENU_SOURCE_FILES})
2024-05-30 11:15:11 +02:00
install(TARGETS RapidMenu DESTINATION bin)
2024-01-11 17:04:31 +01:00
# Find and link against the tomlplusplus library
find_package(tomlplusplus REQUIRED)
target_link_libraries(RapidMenu PRIVATE tomlplusplus::tomlplusplus)
# DEBIAN
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "DRAGONTOS")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libcpptoml-dev")
set(CPACK_DEBIAN_PACKAGE_LICENSE "GPLv3")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${DESCRIPTION})
set(CPACK_DEBIAN_PACKAGE_RELEASE_DIST ON)
set(CPACK_GENERATOR DEBIAN)
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
# RPM
2024-05-30 11:15:11 +02:00
set(CPACK_PACKAGE_VENDOR "DRAGONTOS")
set(CPACK_RPM_PACKAGE_REQUIRES "tomlplusplus-devel")
set(CPACK_RPM_PACKAGE_LICENSE "GPLv3")
set(CPACK_RPM_PACKAGE_DESCRIPTION ${DESCRIPTION})
2024-05-30 11:15:11 +02:00
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_PACKAGE_RELEASE_DIST ON)
set(CPACK_GENERATOR RPM)
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
include(CPack)