cmake_minimum_required(VERSION "3.30.0") project("adwaitamm" LANGUAGES CXX VERSION "1.7.0" DESCRIPTION "C++ wrapper for libadwaita" ) include("GNUInstallDirs") find_package("PkgConfig" REQUIRED) pkg_check_modules("adwaita" IMPORTED_TARGET REQUIRED "libadwaita-1>=1.7.0") pkg_check_modules("giomm" IMPORTED_TARGET REQUIRED "giomm-2.68>=2.80") pkg_check_modules("glibmm" IMPORTED_TARGET REQUIRED "glibmm-2.68>=2.80") add_library("adwaitamm") file(GLOB_RECURSE ADWAITAMM_SOURCES RELATIVE "${PROJECT_SOURCE_DIR}" CONFIGURE_DEPENDS "src/**.cpp") target_sources("adwaitamm" PRIVATE ${ADWAITAMM_SOURCES} ) file(GLOB_RECURSE ADWAITAMM_HEADERS RELATIVE "${PROJECT_SOURCE_DIR}" CONFIGURE_DEPENDS "include/**/*.hpp") target_sources("adwaitamm" PUBLIC FILE_SET HEADERS FILES ${ADWAITAMM_HEADERS} BASE_DIRS "include" ) target_include_directories("adwaitamm" SYSTEM PUBLIC "$" "$" ) target_compile_features("adwaitamm" PUBLIC "cxx_std_20" ) target_compile_options("adwaitamm" PRIVATE "$<$:-Wall>" "$<$:-Wextra>" "$<$:-Werror>" "$<$:-pedantic-errors>" ) target_link_libraries("adwaitamm" PUBLIC "PkgConfig::adwaita" "PkgConfig::gtkmm" ) set_target_properties("adwaitamm" PROPERTIES CXX_EXTENSIONS NO CXX_STANDARD_REQUIRED YES ) add_library("adwaitamm::adwaitamm" ALIAS "adwaitamm") install(TARGETS "adwaitamm" FILE_SET HEADERS ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" )