diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-11 13:17:03 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-11 16:03:04 +0200 |
| commit | f597be870eec6d04de6bed0effa7dd23bcb72bf8 (patch) | |
| tree | 569ceeeef1bbf143b0d3a32ccf9a2fc716ff13e1 /CMakeLists.txt | |
| download | turns-f597be870eec6d04de6bed0effa7dd23bcb72bf8.tar.xz turns-f597be870eec6d04de6bed0effa7dd23bcb72bf8.zip | |
initial commit
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c1dc323 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required(VERSION "3.29.0") + +project("turns" + LANGUAGES C CXX + DESCRIPTION "A simple turn-order tracker" + VERSION "1.0.0" +) + +enable_testing() + +list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules") + +include("CheckIPOSupported") +include("GlibCompileResources") +include("GNUInstallDirs") + +find_package("PkgConfig" REQUIRED) + +check_ipo_supported(RESULT CAN_DO_IPO LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD "23") +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ${CAN_DO_IPO}) + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + +# Dependencies + +include("FetchContent") + +FetchContent_Declare( + "Catch2" + URL "https://github.com/catchorg/Catch2/archive/refs/tags/v3.6.0.tar.gz" + URL_HASH "SHA256=485932259a75c7c6b72d4b874242c489ea5155d17efa345eb8cc72159f49f356" + EXCLUDE_FROM_ALL + FIND_PACKAGE_ARGS +) + +FetchContent_MakeAvailable("Catch2") + +find_package("Catch2" REQUIRED) + +pkg_check_modules("gtkmm" IMPORTED_TARGET REQUIRED "gtkmm-4.0>=4.14") +pkg_check_modules("adwaita" IMPORTED_TARGET REQUIRED "libadwaita-1>=1.5.0") + +include("Catch") + +# Targets + +add_subdirectory("app") +add_subdirectory("res") + +# License + +install(FILES + "LICENSE.txt" + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/licenses/turns" + RENAME "LICENSE" +)
\ No newline at end of file |
