file(GLOB_RECURSE HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "include/*.hpp") file(GLOB_RECURSE SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "src/*.cpp") find_package("JPEG" REQUIRED) find_package("PNG" REQUIRED) find_package("PkgConfig" REQUIRED) pkg_check_modules("GIO" REQUIRED IMPORTED_TARGET GLOBAL "gio-2.0" ) pkg_check_modules("libmagic" REQUIRED IMPORTED_TARGET GLOBAL "libmagic" ) add_library("wanda" ${SOURCES} ) target_sources("wanda" INTERFACE FILE_SET HEADERS FILES ${HEADERS} BASE_DIRS "include" ) target_include_directories("wanda" PUBLIC "$" ) target_include_directories("wanda" SYSTEM PUBLIC "$" ) target_compile_features("wanda" PUBLIC "cxx_std_20" ) target_link_libraries("wanda" PUBLIC "Boost::headers" "JPEG::JPEG" "PNG::PNG" "spdlog::spdlog_header_only" "PkgConfig::libmagic" "PkgConfig::GIO" ) add_executable("wanda-tests" "tests/xdg.cpp" ) target_link_libraries("wanda-tests" PRIVATE "wanda" "Catch2::Catch2WithMain" ) catch_discover_tests("wanda-tests") install(TARGETS "wanda" FILE_SET HEADERS )