diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 77 |
1 files changed, 8 insertions, 69 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d2d1fd0..a82c7fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,83 +6,22 @@ project("turns" VERSION "1.0.0" ) -enable_testing() - list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules") +# Global Modules + include("CheckIPOSupported") include("EnableCoverage") -include("GlibCompileResources") -include("GlibCompileSchemas") -include("GlibMkenums") include("GNUInstallDirs") -find_package("Gettext" REQUIRED) -find_package("Intl" REQUIRED) -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_MINSIZEREL ${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") +# Global Settings -set(GLIB_MINIMUM_VERSION "2.84") -set(GTK4_MINIMUM_VERSION "4.18") +set(TURNS_GLIB_MINIMUM_VERSION "2.84") +check_ipo_supported(RESULT TURNS_CAN_DO_IPO LANGUAGES CXX) -# Build options +# Sub projects -option(TURNS_USE_INSTALLED_TRANSLATIONS "Use the installed translation files" ON) -option(TURNS_USE_INSTALLED_SCHEMA_FILES "Use the installed schema files" ON) - -# 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 - SYSTEM - FIND_PACKAGE_ARGS -) - -FetchContent_Declare( - "nlohmann_json" - URL "https://github.com/nlohmann/json/archive/refs/tags/v3.11.3.tar.gz" - URL_HASH "SHA256=0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406" - EXCLUDE_FROM_ALL - SYSTEM - FIND_PACKAGE_ARGS -) - -FetchContent_MakeAvailable("Catch2" "nlohmann_json") - -pkg_check_modules("gio" IMPORTED_TARGET REQUIRED "gio-2.0>=${GLIB_MINIMUM_VERSION}") -pkg_check_modules("giomm" IMPORTED_TARGET REQUIRED "giomm-2.68>=${GLIB_MINIMUM_VERSION}") -pkg_check_modules("glibmm" IMPORTED_TARGET REQUIRED "glibmm-2.68>=${GLIB_MINIMUM_VERSION}") -pkg_check_modules("gtkmm" IMPORTED_TARGET REQUIRED "gtkmm-4.0>=${GTK4_MINIMUM_VERSION}") -pkg_check_modules("gobject" IMPORTED_TARGET REQUIRED "gobject-2.0>=${GLIB_MINIMUM_VERSION}") - -add_subdirectory("deps/libadwaitamm" EXCLUDE_FROM_ALL SYSTEM) - -include("Catch") - -# Targets - -add_subdirectory("lib") - -# add_subdirectory("app") -# add_subdirectory("core") -# add_subdirectory("lang") -# add_subdirectory("style") -# add_subdirectory("ui") +add_subdirectory("lib" SYSTEM) # License @@ -90,4 +29,4 @@ install(FILES "LICENSE.txt" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/licenses/turns" RENAME "LICENSE" -)
\ No newline at end of file +) |
