diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2022-09-16 23:28:09 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2022-09-16 23:28:09 +0200 |
| commit | f4d9880d3c9555b48affad727589ef5c093b1841 (patch) | |
| tree | a5552b5a33000a527748ac1c72ca366476af0936 /source/lib/CMakeLists.txt | |
| parent | 64922e213ac731279cf3341253e67509adb2dfc8 (diff) | |
| download | wanda-f4d9880d3c9555b48affad727589ef5c093b1841.tar.xz wanda-f4d9880d3c9555b48affad727589ef5c093b1841.zip | |
source: clean up structure
Diffstat (limited to 'source/lib/CMakeLists.txt')
| -rw-r--r-- | source/lib/CMakeLists.txt | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/source/lib/CMakeLists.txt b/source/lib/CMakeLists.txt new file mode 100644 index 0000000..bf3cd5f --- /dev/null +++ b/source/lib/CMakeLists.txt @@ -0,0 +1,66 @@ +find_package("asio") +find_package("Boost") +find_package("JPEG") +find_package("PNG") +find_package("spdlog") +find_package("Threads") + +find_package("PkgConfig" REQUIRED) + +pkg_check_modules("GIO" + REQUIRED + IMPORTED_TARGET + GLOBAL + "gio-2.0" +) + +pkg_check_modules("libmagic" + REQUIRED + IMPORTED_TARGET + GLOBAL + "libmagic" +) + +file(GLOB_RECURSE WANDA_LIB_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.cpp") +file(GLOB_RECURSE WANDA_LIB_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.hpp") + +add_library("wanda") + +target_sources("wanda" PRIVATE + ${WANDA_LIB_SOURCES} +) + +target_sources("wanda" INTERFACE + FILE_SET HEADERS + FILES ${WANDA_LIB_HEADERS} + BASE_DIRS "include" +) + +target_include_directories("wanda" PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> +) + +target_include_directories("wanda" SYSTEM PUBLIC + $<INSTALL_INTERFACE:include> +) + +target_compile_features("wanda" PUBLIC + "cxx_std_20" +) + +target_link_libraries("wanda" PUBLIC + "asio::asio" + "boost::boost" + "JPEG::JPEG" + "PkgConfig::GIO" + "PkgConfig::libmagic" + "PNG::PNG" + "spdlog::spdlog" + "Threads::Threads" +) + +install(TARGETS "wanda" + FILE_SET HEADERS +) + +add_library("wanda::wanda" ALIAS "wanda") |
