sc3dev/CMakeLists.txt

76 lines
2.2 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.25)
project(sc3dev
2024-02-05 22:18:46 +00:00
VERSION 1.1.3
LANGUAGES CXX
HOMEPAGE_URL "https://git.wntrmute.dev/sc/sc3dev"
DESCRIPTION "")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_VERBOSE_MAKEFILES ON)
find_package(scsl REQUIRED)
include(FindPkgConfig)
pkg_check_modules(CURLPP REQUIRED curlpp)
if (CURLPP_FOUND)
message(STATUS "Found CURL version: ${CURLPP_VERSION_STRING}")
message(STATUS "Using CURL include dir(s): ${CURLPP_INCLUDE_DIRS}")
message(STATUS "Using CURL lib(s): ${CURLPP_LIBRARIES}")
endif ()
include(CTest)
enable_testing()
# compile options:
# -Wall Default to all errors.
# -Wextra And a few extra.
# -Werror And require them to be fixed to build.
# -Wno-unused-function This is a library. Not every function is used here.
# -Wno-unused-parameter Some functions have parameters defined for compatibility,
# and aren't used in the implementation.
add_compile_options(
"-static"
"-Wall"
"-Wextra"
"-Werror"
"-Wno-unused-function"
"-Wno-unused-parameter"
"-g"
"$<$<CONFIG:RELEASE>:-O2>"
)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
add_compile_options("-stdlib=libc++")
else ()
# nothing special for gcc at the moment
endif ()
add_compile_definitions(SCSL_DESKTOP_BUILD)
2023-10-25 01:49:20 +00:00
set(HEADERS
include/Debian.h
2024-02-04 07:00:46 +00:00
include/RPM.h
2023-10-25 01:49:20 +00:00
include/Generic.h
2024-02-04 07:00:46 +00:00
include/Utility.h
2023-10-25 01:49:20 +00:00
)
set(SOURCES
src/Debian.cc
2024-02-04 07:00:46 +00:00
src/RPM.cc
2023-10-25 01:49:20 +00:00
src/Generic.cc
2024-02-04 07:00:46 +00:00
src/Utility.cc
2023-10-25 01:49:20 +00:00
)
file(GLOB SCRIPTS *.sh)
file(GLOB_RECURSE CONTAINERFILES Containerfile*)
include_directories(SYSTEM include)
include_directories(SYSTEM ${CURLPP_INCLUDE_DIRS})
### THE REAL TARGETS ###
add_executable(${PROJECT_NAME}-packager src/packager.cc ${SOURCES} ${HEADERS})
2023-10-24 05:44:49 +00:00
target_link_libraries(${PROJECT_NAME}-packager ${SCSL_LIBRARIES} ${CURLPP_LIBRARIES})
### INCLUDES ###
2023-10-25 01:49:20 +00:00
include(cmake/docs.cmake)
include(cmake/install.cmake)
include(cmake/packaging.cmake)