diff options
| -rw-r--r-- | CMakeLists.txt | 31 | ||||
| -rw-r--r-- | gui/CMakeLists.txt | 31 | ||||
| -rw-r--r-- | lib/CMakeLists.txt | 33 |
3 files changed, 32 insertions, 63 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 72a2e79..9355672 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,14 +13,40 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules") enable_testing() -# Global Modules +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/out") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/out") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/out") + +# Modules include("CheckIPOSupported") include("EnableCoverage") include("FetchContent") +include("GlibCompileResources") +include("GlibIntrospection") +include("GlibMkenums") include("GNUInstallDirs") -# Global Dependencies +# Dependencies + +find_package("PkgConfig" REQUIRED) + +set(TURNS_GLIB_MINIMUM_VERSION "2.84") + +pkg_check_modules("glib" + IMPORTED_TARGET + REQUIRED + "glib-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" + "gio-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" + "gobject-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" +) + +pkg_check_modules("glibmm" + IMPORTED_TARGET + REQUIRED + "giomm-2.68>=${TURNS_GLIB_MINIMUM_VERSION}" + "glibmm-2.68>=${TURNS_GLIB_MINIMUM_VERSION}" +) add_subdirectory("deps/libadwaitamm" EXCLUDE_FROM_ALL SYSTEM) @@ -39,7 +65,6 @@ include("Catch") # Global Settings -set(TURNS_GLIB_MINIMUM_VERSION "2.84") check_ipo_supported(RESULT TURNS_CAN_DO_IPO LANGUAGES CXX) # Sub projects diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index 389332d..dc7690b 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -1,39 +1,12 @@ # SPDX-FileCopyrightText: 2025 Felix Morgner <felix.morgner@gmail.com> # SPDX-License-Identifier: LGPL-2.1-only -cmake_minimum_required(VERSION "4.0.0") - -project("turns-gui" - LANGUAGES C CXX - DESCRIPTION "Turns, the simple turn order tracker" - VERSION "1.0.0" -) - -include("FetchContent") -include("GlibCompileResources") - -find_package("PkgConfig" REQUIRED) - -# Dependencies - -pkg_check_modules("gio" - IMPORTED_TARGET - REQUIRED - "gio-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" -) - -pkg_check_modules("glibmm" - IMPORTED_TARGET - REQUIRED - "glibmm-2.68>=${TURNS_GLIB_MINIMUM_VERSION}" -) - # Resources add_library("resources" STATIC) target_link_libraries("resources" PUBLIC - "PkgConfig::gio" + "PkgConfig::glib" ) target_add_glib_resources("resources" @@ -74,6 +47,8 @@ target_include_directories("gui" PUBLIC target_link_libraries("gui" PUBLIC "adwaitamm::adwaitamm" + "PkgConfig::glib" + "PkgConfig::glibmm" "turns::mm" "$<$<CXX_COMPILER_ID:GNU,Clang>:-Wl,--whole-archive>" diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index d27a874..a4186d1 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,38 +1,7 @@ # SPDX-FileCopyrightText: 2025 Felix Morgner <felix.morgner@gmail.com> # SPDX-License-Identifier: LGPL-2.1-only -cmake_minimum_required(VERSION "4.0.0") - -project("libturns" - LANGUAGES C CXX - DESCRIPTION "The core library for 'Turns, the simple turn order tracker'" - VERSION "1.0.0" -) - -include("FetchContent") -include("GlibMkenums") -include("GlibIntrospection") - -find_package("PkgConfig" REQUIRED) - -#Dependencies - -pkg_check_modules("glib" - IMPORTED_TARGET - REQUIRED - "glib-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" - "gio-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" - "gobject-2.0>=${TURNS_GLIB_MINIMUM_VERSION}" -) - -pkg_check_modules("glibmm" - IMPORTED_TARGET - REQUIRED - "giomm-2.68>=${TURNS_GLIB_MINIMUM_VERSION}" - "glibmm-2.68>=${TURNS_GLIB_MINIMUM_VERSION}" -) - -# Library +# C Library set(HEADERS "include/turns-init.h" |
