2023-10-19 04:05:56 +00:00
|
|
|
cmake_minimum_required(VERSION 3.25)
|
|
|
|
project(sc3dev
|
2023-10-25 02:07:16 +00:00
|
|
|
VERSION 1.1.0
|
2023-10-19 04:05:56 +00:00
|
|
|
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)
|
|
|
|
|
2023-10-24 05:17:05 +00:00
|
|
|
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 ()
|
|
|
|
|
2023-10-19 04:05:56 +00:00
|
|
|
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 ()
|
2023-10-24 05:17:05 +00:00
|
|
|
add_compile_definitions(SCSL_DESKTOP_BUILD)
|
2023-10-19 04:05:56 +00:00
|
|
|
|
2023-10-25 01:49:20 +00:00
|
|
|
set(HEADERS
|
|
|
|
include/Debian.h
|
|
|
|
include/Utility.h
|
|
|
|
include/Generic.h
|
|
|
|
)
|
|
|
|
set(SOURCES
|
|
|
|
src/Debian.cc
|
|
|
|
src/Utility.cc
|
|
|
|
src/Generic.cc
|
|
|
|
)
|
2023-10-19 04:05:56 +00:00
|
|
|
|
2023-10-25 02:07:16 +00:00
|
|
|
file(GLOB SCRIPTS *.sh)
|
|
|
|
file(GLOB_RECURSE CONTAINERFILES Containerfile*)
|
|
|
|
|
2023-10-19 04:05:56 +00:00
|
|
|
include_directories(SYSTEM include)
|
2023-10-24 05:17:05 +00:00
|
|
|
include_directories(SYSTEM ${CURLPP_INCLUDE_DIRS})
|
2023-10-19 04:05:56 +00:00
|
|
|
|
|
|
|
### 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})
|
2023-10-19 04:05:56 +00:00
|
|
|
|
|
|
|
### INCLUDES ###
|
|
|
|
|
2023-10-25 01:49:20 +00:00
|
|
|
include(cmake/docs.cmake)
|
|
|
|
include(cmake/install.cmake)
|
|
|
|
include(cmake/packaging.cmake)
|