diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-05-17 17:58:38 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-05-17 17:58:38 +0200 |
| commit | 577fc0845718ed8ad5bebf02a277c0579a817f77 (patch) | |
| tree | 3d1cdc53c426a0ba60a7996619a7b787850bb3b3 | |
| parent | de5bf7ca3b7a2bf6be35b86486b00dc6a071b950 (diff) | |
| download | wanda-develop.tar.xz wanda-develop.zip | |
| -rw-r--r-- | .vscode/settings.json | 3 | ||||
| -rw-r--r-- | conanfile.py | 117 | ||||
| -rw-r--r-- | source/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | source/app/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | source/app/wandac/CMakeLists.txt | 37 | ||||
| -rw-r--r-- | source/app/wandad/CMakeLists.txt | 21 | ||||
| -rw-r--r-- | source/apps/CMakeLists.txt | 54 | ||||
| -rw-r--r-- | source/apps/include/wanda/wandac/cli.hpp (renamed from source/app/wandac/include/wandac/cli.hpp) | 0 | ||||
| -rw-r--r-- | source/apps/include/wanda/wandac/listener.hpp (renamed from source/app/wandac/include/wandac/listener.hpp) | 2 | ||||
| -rw-r--r-- | source/apps/src/wandac/cli.cpp (renamed from source/app/wandac/src/cli.cpp) | 2 | ||||
| -rw-r--r-- | source/apps/src/wandac/listener.cpp (renamed from source/app/wandac/src/listener.cpp) | 5 | ||||
| -rw-r--r-- | source/apps/src/wandac/main.cpp (renamed from source/app/wandac/src/main.cpp) | 4 | ||||
| -rw-r--r-- | source/apps/src/wandad/main.cpp (renamed from source/app/wandad/src/main.cpp) | 0 | ||||
| -rw-r--r-- | source/apps/tests/wandac/cli.cpp (renamed from source/tests/app/wandac/src/cli.cpp) | 2 | ||||
| -rw-r--r-- | source/lib/CMakeLists.txt | 76 | ||||
| -rw-r--r-- | source/lib/control/CMakeLists.txt | 43 | ||||
| -rw-r--r-- | source/lib/include/wanda/control/commander.hpp (renamed from source/lib/control/include/wanda/control/commander.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/control/connection.hpp (renamed from source/lib/control/include/wanda/control/connection.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/control/interface.hpp (renamed from source/lib/control/include/wanda/control/interface.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/meta/deferred_failure.hpp (renamed from source/lib/meta/include/wanda/meta/deferred_failure.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/meta/keyed.hpp (renamed from source/lib/meta/include/wanda/meta/keyed.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/meta/type_wrapper.hpp (renamed from source/lib/meta/include/wanda/meta/type_wrapper.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/proto/command.hpp (renamed from source/lib/proto/include/wanda/proto/command.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/proto/message.hpp (renamed from source/lib/proto/include/wanda/proto/message.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/proto/version.hpp (renamed from source/lib/proto/include/wanda/proto/version.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/std_ext/expected.hpp (renamed from source/lib/std_ext/include/wanda/std_ext/expected.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/std_ext/optional.hpp (renamed from source/lib/std_ext/include/wanda/std_ext/optional.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/environment.hpp (renamed from source/lib/system/include/wanda/system/environment.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/filesystem.hpp (renamed from source/lib/system/include/wanda/system/filesystem.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/logging.hpp (renamed from source/lib/system/include/wanda/system/logging.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/magic.hpp (renamed from source/lib/system/include/wanda/system/magic.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/setting.hpp (renamed from source/lib/system/include/wanda/system/setting.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/wallpaper.hpp (renamed from source/lib/system/include/wanda/system/wallpaper.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/include/wanda/system/xdg.hpp (renamed from source/lib/system/include/wanda/system/xdg.hpp) | 0 | ||||
| -rw-r--r-- | source/lib/meta/CMakeLists.txt | 31 | ||||
| -rw-r--r-- | source/lib/proto/CMakeLists.txt | 38 | ||||
| -rw-r--r-- | source/lib/src/control/commander.cpp (renamed from source/lib/control/src/commander.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/control/connection.cpp (renamed from source/lib/control/src/connection.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/control/interface.cpp (renamed from source/lib/control/src/interface.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/proto/command.cpp (renamed from source/lib/proto/src/command.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/proto/message.cpp (renamed from source/lib/proto/src/message.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/system/environment.cpp (renamed from source/lib/system/src/environment.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/system/filesystem.cpp (renamed from source/lib/system/src/filesystem.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/system/logging.cpp (renamed from source/lib/system/src/logging.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/system/setting.cpp (renamed from source/lib/system/src/setting.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/system/wallpaper.cpp (renamed from source/lib/system/src/wallpaper.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/src/system/xdg.cpp (renamed from source/lib/system/src/xdg.cpp) | 0 | ||||
| -rw-r--r-- | source/lib/std_ext/CMakeLists.txt | 31 | ||||
| -rw-r--r-- | source/lib/system/CMakeLists.txt | 63 | ||||
| -rw-r--r-- | source/lib/tests/xdg.cpp (renamed from source/tests/lib/system/src/xdg.cpp) | 0 | ||||
| -rw-r--r-- | source/tests/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | source/tests/app/wandac/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | source/tests/lib/system/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | test_package/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | test_package/conanfile.py | 17 |
55 files changed, 163 insertions, 437 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json index 4733f54..68f389f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,5 @@ { "cmake.sourceDirectory": "${workspaceFolder}/source", - "cmake.useCMakePresets": "auto", + "cmake.useCMakePresets": "always", + "C_Cpp.autoAddFileAssociations": false } diff --git a/conanfile.py b/conanfile.py index ef5d671..262fd55 100644 --- a/conanfile.py +++ b/conanfile.py @@ -7,25 +7,26 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout class Wanda(ConanFile): name = "wanda" - version = "1.0.0" + version = "2.0.0" url = "https://github.com/fmorgner/wanda" license = "BSD 3-clause" - description = "A wallpaper changer for the GNOME" - package_type = "library" - scm = { - "type": "git", - "url": "auto", - "revision": "auto", - } - generators = ("CMakeDeps",) + description = "A simple wallpaper changer for Linux desktops" + test_requires = ("catch2/[>=3.4]",) + tool_requires = ( + "cmake/[>=3.27]", + "ninja/[>=1.12]", + ) options = { - "nolibs": [True, False], "shared": [True, False], } default_options = { - "nolibs": False, "shared": False, + "boost/*:asio_no_deprecated": True, + "boost/*:header_only": True, + "boost/*:system_no_deprecated": True, + "spdlog/*:header_only": True, } + generators = ("CMakeDeps",) settings = ( "os", "arch", @@ -33,24 +34,6 @@ class Wanda(ConanFile): "build_type", ) exports_sources = ("source/*",) - test_requires = ("catch2/[>=3.4]",) - tool_requires = ( - "cmake/[>=3.27]", - "ninja/[>=1.12]", - ) - - def requirements(self): - self.requires("boost/[~1.85]", transitive_headers=not self.options.nolibs, options={ - "asio_no_deprecated": True, - "system_no_deprecated": True, - "header_only": True, - }) - self.requires("libjpeg-turbo/[~3.0]") - self.requires("libpng/[~1.6]") - self.requires("lyra/[~1.6]") - self.requires("spdlog/[~1.14]", transitive_headers=not self.options.nolibs, options={ - "header_only": True, - }) def build(self): cmake = CMake(self) @@ -58,17 +41,12 @@ class Wanda(ConanFile): cmake.build() cmake.test(env="CTEST_OUTPUT_ON_FAILURE=1") - def configure(self): - if self.options.nolibs: - self.package_type = "application" - def generate(self): toolchain = CMakeToolchain(self) toolchain.variables["CMAKE_EXPORT_COMPILE_COMMANDS"] = True toolchain.variables["WANDA_DESCRIPTION"] = self.description toolchain.variables["WANDA_HOMEPAGE_URL"] = self.url toolchain.variables["WANDA_VERSION"] = self.version - toolchain.variables["WANDA_APPLICATIONS_ONLY"] = self.options.nolibs toolchain.generate() def layout(self): @@ -79,66 +57,21 @@ class Wanda(ConanFile): cmake.install() def package_info(self): - self.runenv_info.prepend_path("PATH", os.path.join(self.package_folder, "bin")) - - if self.options.nolibs: - return - - self.cpp_info.components["control"].libs = ["wanda-control"] - self.cpp_info.components["control"].requires = [ - "meta", - "proto", - "std_ext", - "system", - # requires - "boost::headers", - "spdlog::spdlog", - ] - - self.cpp_info.components["meta"].libs = [] - - self.cpp_info.components["proto"].libs = ["wanda-proto"] - self.cpp_info.components["proto"].requires = ["spdlog::spdlog",] - - self.cpp_info.components["std_ext"].libs = [] - - self.cpp_info.components["system"].libs = ["wanda-system"] - self.cpp_info.components["system"].requires = [ - "meta", - "std_ext", - # requires - "boost::headers", - "libjpeg-turbo::jpeg", - "libpng::libpng", - "spdlog::spdlog", - ] - - self.cpp_info.components["wandac"].libs = [] - self.cpp_info.components["wandac"].requires = [ - "control", - "proto", - "system", - # requires - "lyra::lyra", - "spdlog::spdlog", - ] - self.cpp_info.components["wandac"].bindirs = [ - os.path.join(self.package_folder, "bin") + self.cpp_info.libs = ["wanda"] + self.cpp_info.system_libs = [ + "gio-2.0", + "glib-2.0", + "gobject-2.0", + "magic", ] + self.runenv_info.prepend_path("PATH", os.path.join(self.package_folder, "bin")) - self.cpp_info.components["wandad"].libs = [] - self.cpp_info.components["wandad"].requires = [ - "control", - "proto", - "std_ext", - "system", - # requires - "lyra::lyra", - "spdlog::spdlog", - ] - self.cpp_info.components["wandad"].bindirs = [ - os.path.join(self.package_folder, "bin") - ] + def requirements(self): + self.requires("boost/[~1.85]", transitive_headers=True) + self.requires("libjpeg-turbo/[~3.0]", transitive_libs=True) + self.requires("libpng/[~1.6]", transitive_libs=True) + self.requires("lyra/[~1.6]", transitive_libs=True) + self.requires("spdlog/[~1.14]", transitive_headers=True) def validate(self): check_min_cppstd(self, "20") diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 77c6bc3..ad7f819 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -9,14 +9,11 @@ project("wanda" find_package("Boost" REQUIRED COMPONENTS "headers") find_package("Catch2" REQUIRED COMPONENTS "Catch2WithMain") -find_package("JPEG" REQUIRED) -find_package("lyra" REQUIRED) find_package("spdlog" REQUIRED) -find_package("PNG" REQUIRED) + include("CTest") include("Catch") -add_subdirectory("app") +add_subdirectory("apps") add_subdirectory("lib") -add_subdirectory("tests") diff --git a/source/app/CMakeLists.txt b/source/app/CMakeLists.txt deleted file mode 100644 index 1ac7ab1..0000000 --- a/source/app/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -include("CheckIPOSupported") - -check_ipo_supported(RESULT "WANDA_IPO_SUPPORTED") - -add_subdirectory("wandac") -add_subdirectory("wandad")
\ No newline at end of file diff --git a/source/app/wandac/CMakeLists.txt b/source/app/wandac/CMakeLists.txt deleted file mode 100644 index 71aff36..0000000 --- a/source/app/wandac/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -add_library("${PROJECT_NAME}c-components" OBJECT - "src/cli.cpp" - "src/listener.cpp" -) - -target_include_directories("${PROJECT_NAME}c-components" PUBLIC - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_link_libraries("${PROJECT_NAME}c-components" PUBLIC - "wanda::control" - "wanda::proto" - - "bfg::lyra" - "Boost::headers" -) - -add_executable("wandac" - "src/main.cpp" -) - - -target_link_libraries("${PROJECT_NAME}c" PRIVATE - "${PROJECT_NAME}c-components" - - "wanda::system" - - "spdlog::spdlog_header_only" -) - -set_target_properties("wandac" PROPERTIES - CXX_STANDARD_REQUIRED YES - CXX_EXTENSIONS OFF - INTERPROCEDURAL_OPTIMIZATION ${WANDA_IPO_SUPPORTED} -) - -install(TARGETS "wandac") diff --git a/source/app/wandad/CMakeLists.txt b/source/app/wandad/CMakeLists.txt deleted file mode 100644 index 9bf0ec5..0000000 --- a/source/app/wandad/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -add_executable("wandad" - "src/main.cpp" -) - -target_link_libraries("wandad" PRIVATE - "wanda::control" - "wanda::proto" - "wanda::std_ext" - "wanda::system" - - "bfg::lyra" - "spdlog::spdlog_header_only" -) - -set_target_properties("wandad" PROPERTIES - CXX_STANDARD_REQUIRED YES - CXX_EXTENSIONS OFF - INTERPROCEDURAL_OPTIMIZATION ${WANDA_IPO_SUPPORTED} -) - -install(TARGETS "wandad") diff --git a/source/apps/CMakeLists.txt b/source/apps/CMakeLists.txt new file mode 100644 index 0000000..2da5537 --- /dev/null +++ b/source/apps/CMakeLists.txt @@ -0,0 +1,54 @@ +include("CheckIPOSupported") + +check_ipo_supported(RESULT "WANDA_IPO_SUPPORTED") + +find_package("lyra" REQUIRED) + +add_library("wandac-components" OBJECT + "src/wandac/cli.cpp" + "src/wandac/listener.cpp" +) + +target_link_libraries("wandac-components" PUBLIC + "wanda" + "bfg::lyra" +) + +target_include_directories("wandac-components" PUBLIC "include") + +add_executable("wandac" + "src/wandac/main.cpp" +) + +target_link_libraries("wandac" PRIVATE + "wandac-components" +) + +add_executable("wandac-tests" + "tests/wandac/cli.cpp" +) + +target_link_libraries("wandac-tests" PRIVATE + "wandac-components" + "Catch2::Catch2WithMain" +) + +catch_discover_tests("wandac-tests") + +add_executable("wandad" + "src/wandad/main.cpp" +) + +target_link_libraries("wandad" PRIVATE + "wanda" + "bfg::lyra" +) + +set_target_properties("wandac" "wandad" PROPERTIES + INTERPROCEDURAL_OPTIMIZATION ${WANDA_IPO_SUPPORTED} +) + +install(TARGETS + "wandac" + "wandad" +) diff --git a/source/app/wandac/include/wandac/cli.hpp b/source/apps/include/wanda/wandac/cli.hpp index c04b138..c04b138 100644 --- a/source/app/wandac/include/wandac/cli.hpp +++ b/source/apps/include/wanda/wandac/cli.hpp diff --git a/source/app/wandac/include/wandac/listener.hpp b/source/apps/include/wanda/wandac/listener.hpp index 49b75b6..28b0cfc 100644 --- a/source/app/wandac/include/wandac/listener.hpp +++ b/source/apps/include/wanda/wandac/listener.hpp @@ -1,7 +1,7 @@ #ifndef WANDA_APP_WANDAC_LISTENER_HPP #define WANDA_APP_WANDAC_LISTENER_HPP -#include "wandac/cli.hpp" +#include "wanda/wandac/cli.hpp" #include <wanda/control/commander.hpp> diff --git a/source/app/wandac/src/cli.cpp b/source/apps/src/wandac/cli.cpp index 954ca63..6be1e18 100644 --- a/source/app/wandac/src/cli.cpp +++ b/source/apps/src/wandac/cli.cpp @@ -1,4 +1,4 @@ -#include "wandac/cli.hpp" +#include "wanda/wandac/cli.hpp" #include <lyra/arg.hpp> #include <lyra/help.hpp> diff --git a/source/app/wandac/src/listener.cpp b/source/apps/src/wandac/listener.cpp index 9655390..29ccace 100644 --- a/source/app/wandac/src/listener.cpp +++ b/source/apps/src/wandac/listener.cpp @@ -1,7 +1,6 @@ -#include "wandac/listener.hpp" +#include "wanda/wandac/listener.hpp" -#include "wanda/control/commander.hpp" -#include "wandac/cli.hpp" +#include "wanda/wandac/cli.hpp" #include <wanda/control/commander.hpp> #include <wanda/proto/command.hpp> diff --git a/source/app/wandac/src/main.cpp b/source/apps/src/wandac/main.cpp index 4e68e0b..1533a62 100644 --- a/source/app/wandac/src/main.cpp +++ b/source/apps/src/wandac/main.cpp @@ -1,5 +1,5 @@ -#include "wandac/cli.hpp" -#include "wandac/listener.hpp" +#include "wanda/wandac/cli.hpp" +#include "wanda/wandac/listener.hpp" #include <wanda/control/commander.hpp> #include <wanda/system/environment.hpp> diff --git a/source/app/wandad/src/main.cpp b/source/apps/src/wandad/main.cpp index 9feac82..9feac82 100644 --- a/source/app/wandad/src/main.cpp +++ b/source/apps/src/wandad/main.cpp diff --git a/source/tests/app/wandac/src/cli.cpp b/source/apps/tests/wandac/cli.cpp index ed02b4a..57d2a8f 100644 --- a/source/tests/app/wandac/src/cli.cpp +++ b/source/apps/tests/wandac/cli.cpp @@ -1,4 +1,4 @@ -#include "wandac/cli.hpp" +#include "wanda/wandac/cli.hpp" #include <catch2/catch_all.hpp> #include <catch2/catch_test_macros.hpp> diff --git a/source/lib/CMakeLists.txt b/source/lib/CMakeLists.txt index b9cafe7..f8f2bdb 100644 --- a/source/lib/CMakeLists.txt +++ b/source/lib/CMakeLists.txt @@ -1,9 +1,67 @@ -if(WANDA_APPLICATIONS_ONLY) - set(WANDA_LIBRARY_TYPE OBJECT) -endif() - -add_subdirectory("control") -add_subdirectory("meta") -add_subdirectory("proto") -add_subdirectory("std_ext") -add_subdirectory("system") +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 + "$<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 + "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 +) diff --git a/source/lib/control/CMakeLists.txt b/source/lib/control/CMakeLists.txt deleted file mode 100644 index b4a4b02..0000000 --- a/source/lib/control/CMakeLists.txt +++ /dev/null @@ -1,43 +0,0 @@ -cmake_path(GET CMAKE_CURRENT_SOURCE_DIR STEM LIB_NAME) - -file(GLOB_RECURSE LIB_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.hpp") -file(GLOB_RECURSE LIB_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.cpp") - -add_library("wanda-${LIB_NAME}" ${WANDA_LIBRARY_TYPE} - ${LIB_SOURCES} -) - -target_sources("wanda-${LIB_NAME}" INTERFACE - FILE_SET HEADERS - FILES ${LIB_HEADERS} - BASE_DIRS "include" -) - -target_include_directories("wanda-${LIB_NAME}" PUBLIC - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_include_directories("wanda-${LIB_NAME}" SYSTEM PUBLIC - "$<INSTALL_INTERFACE:include>" -) - -target_compile_features("wanda-${LIB_NAME}" PUBLIC - "cxx_std_20" -) - -target_link_libraries("wanda-${LIB_NAME}" PUBLIC - "wanda::meta" - "wanda::proto" - "wanda::system" - - "Boost::headers" - "spdlog::spdlog_header_only" -) - -if(NOT WANDA_APPLICATIONS_ONLY) - install(TARGETS "wanda-${LIB_NAME}" - FILE_SET HEADERS - ) -endif() - -add_library("wanda::${LIB_NAME}" ALIAS "wanda-${LIB_NAME}") diff --git a/source/lib/control/include/wanda/control/commander.hpp b/source/lib/include/wanda/control/commander.hpp index d7ca73d..d7ca73d 100644 --- a/source/lib/control/include/wanda/control/commander.hpp +++ b/source/lib/include/wanda/control/commander.hpp diff --git a/source/lib/control/include/wanda/control/connection.hpp b/source/lib/include/wanda/control/connection.hpp index 0284fd7..0284fd7 100644 --- a/source/lib/control/include/wanda/control/connection.hpp +++ b/source/lib/include/wanda/control/connection.hpp diff --git a/source/lib/control/include/wanda/control/interface.hpp b/source/lib/include/wanda/control/interface.hpp index e895b68..e895b68 100644 --- a/source/lib/control/include/wanda/control/interface.hpp +++ b/source/lib/include/wanda/control/interface.hpp diff --git a/source/lib/meta/include/wanda/meta/deferred_failure.hpp b/source/lib/include/wanda/meta/deferred_failure.hpp index f74d923..f74d923 100644 --- a/source/lib/meta/include/wanda/meta/deferred_failure.hpp +++ b/source/lib/include/wanda/meta/deferred_failure.hpp diff --git a/source/lib/meta/include/wanda/meta/keyed.hpp b/source/lib/include/wanda/meta/keyed.hpp index a09d1eb..a09d1eb 100644 --- a/source/lib/meta/include/wanda/meta/keyed.hpp +++ b/source/lib/include/wanda/meta/keyed.hpp diff --git a/source/lib/meta/include/wanda/meta/type_wrapper.hpp b/source/lib/include/wanda/meta/type_wrapper.hpp index 1d34c09..1d34c09 100644 --- a/source/lib/meta/include/wanda/meta/type_wrapper.hpp +++ b/source/lib/include/wanda/meta/type_wrapper.hpp diff --git a/source/lib/proto/include/wanda/proto/command.hpp b/source/lib/include/wanda/proto/command.hpp index c8dae65..c8dae65 100644 --- a/source/lib/proto/include/wanda/proto/command.hpp +++ b/source/lib/include/wanda/proto/command.hpp diff --git a/source/lib/proto/include/wanda/proto/message.hpp b/source/lib/include/wanda/proto/message.hpp index 03a30c2..03a30c2 100644 --- a/source/lib/proto/include/wanda/proto/message.hpp +++ b/source/lib/include/wanda/proto/message.hpp diff --git a/source/lib/proto/include/wanda/proto/version.hpp b/source/lib/include/wanda/proto/version.hpp index faa17d7..faa17d7 100644 --- a/source/lib/proto/include/wanda/proto/version.hpp +++ b/source/lib/include/wanda/proto/version.hpp diff --git a/source/lib/std_ext/include/wanda/std_ext/expected.hpp b/source/lib/include/wanda/std_ext/expected.hpp index 83629db..83629db 100644 --- a/source/lib/std_ext/include/wanda/std_ext/expected.hpp +++ b/source/lib/include/wanda/std_ext/expected.hpp diff --git a/source/lib/std_ext/include/wanda/std_ext/optional.hpp b/source/lib/include/wanda/std_ext/optional.hpp index 763e8ac..763e8ac 100644 --- a/source/lib/std_ext/include/wanda/std_ext/optional.hpp +++ b/source/lib/include/wanda/std_ext/optional.hpp diff --git a/source/lib/system/include/wanda/system/environment.hpp b/source/lib/include/wanda/system/environment.hpp index 8cd9ecf..8cd9ecf 100644 --- a/source/lib/system/include/wanda/system/environment.hpp +++ b/source/lib/include/wanda/system/environment.hpp diff --git a/source/lib/system/include/wanda/system/filesystem.hpp b/source/lib/include/wanda/system/filesystem.hpp index 971db90..971db90 100644 --- a/source/lib/system/include/wanda/system/filesystem.hpp +++ b/source/lib/include/wanda/system/filesystem.hpp diff --git a/source/lib/system/include/wanda/system/logging.hpp b/source/lib/include/wanda/system/logging.hpp index 8a9a90e..8a9a90e 100644 --- a/source/lib/system/include/wanda/system/logging.hpp +++ b/source/lib/include/wanda/system/logging.hpp diff --git a/source/lib/system/include/wanda/system/magic.hpp b/source/lib/include/wanda/system/magic.hpp index a8ea1ba..a8ea1ba 100644 --- a/source/lib/system/include/wanda/system/magic.hpp +++ b/source/lib/include/wanda/system/magic.hpp diff --git a/source/lib/system/include/wanda/system/setting.hpp b/source/lib/include/wanda/system/setting.hpp index e0be3f4..e0be3f4 100644 --- a/source/lib/system/include/wanda/system/setting.hpp +++ b/source/lib/include/wanda/system/setting.hpp diff --git a/source/lib/system/include/wanda/system/wallpaper.hpp b/source/lib/include/wanda/system/wallpaper.hpp index 7965fb0..7965fb0 100644 --- a/source/lib/system/include/wanda/system/wallpaper.hpp +++ b/source/lib/include/wanda/system/wallpaper.hpp diff --git a/source/lib/system/include/wanda/system/xdg.hpp b/source/lib/include/wanda/system/xdg.hpp index ae01feb..ae01feb 100644 --- a/source/lib/system/include/wanda/system/xdg.hpp +++ b/source/lib/include/wanda/system/xdg.hpp diff --git a/source/lib/meta/CMakeLists.txt b/source/lib/meta/CMakeLists.txt deleted file mode 100644 index d21d45c..0000000 --- a/source/lib/meta/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -cmake_path(GET CMAKE_CURRENT_SOURCE_DIR STEM LIB_NAME) - -file(GLOB_RECURSE LIB_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.hpp") - -add_library("wanda-${LIB_NAME}" INTERFACE) - -target_sources("wanda-${LIB_NAME}" INTERFACE - FILE_SET HEADERS - FILES ${LIB_HEADERS} - BASE_DIRS "include" -) - -target_include_directories("wanda-${LIB_NAME}" INTERFACE - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_include_directories("wanda-${LIB_NAME}" SYSTEM INTERFACE - "$<INSTALL_INTERFACE:include>" -) - -target_compile_features("wanda-${LIB_NAME}" INTERFACE - "cxx_std_20" -) - -if(NOT WANDA_APPLICATIONS_ONLY) - install(TARGETS "wanda-${LIB_NAME}" - FILE_SET HEADERS - ) -endif() - -add_library("wanda::${LIB_NAME}" ALIAS "wanda-${LIB_NAME}") diff --git a/source/lib/proto/CMakeLists.txt b/source/lib/proto/CMakeLists.txt deleted file mode 100644 index b20663c..0000000 --- a/source/lib/proto/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -cmake_path(GET CMAKE_CURRENT_SOURCE_DIR STEM LIB_NAME) - -file(GLOB_RECURSE LIB_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.hpp") -file(GLOB_RECURSE LIB_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.cpp") - -add_library("wanda-${LIB_NAME}" ${WANDA_LIBRARY_TYPE} - ${LIB_SOURCES} -) - -target_sources("wanda-${LIB_NAME}" INTERFACE - FILE_SET HEADERS - FILES ${LIB_HEADERS} - BASE_DIRS "include" -) - -target_include_directories("wanda-${LIB_NAME}" PUBLIC - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_include_directories("wanda-${LIB_NAME}" SYSTEM PUBLIC - "$<INSTALL_INTERFACE:include>" -) - -target_compile_features("wanda-${LIB_NAME}" PUBLIC - "cxx_std_20" -) - -target_link_libraries("wanda-${LIB_NAME}" PUBLIC - "spdlog::spdlog_header_only" -) - -if(NOT WANDA_APPLICATIONS_ONLY) - install(TARGETS "wanda-${LIB_NAME}" - FILE_SET HEADERS - ) -endif() - -add_library("wanda::${LIB_NAME}" ALIAS "wanda-${LIB_NAME}") diff --git a/source/lib/control/src/commander.cpp b/source/lib/src/control/commander.cpp index 4490bb7..4490bb7 100644 --- a/source/lib/control/src/commander.cpp +++ b/source/lib/src/control/commander.cpp diff --git a/source/lib/control/src/connection.cpp b/source/lib/src/control/connection.cpp index 97f41dd..97f41dd 100644 --- a/source/lib/control/src/connection.cpp +++ b/source/lib/src/control/connection.cpp diff --git a/source/lib/control/src/interface.cpp b/source/lib/src/control/interface.cpp index 3ebc55a..3ebc55a 100644 --- a/source/lib/control/src/interface.cpp +++ b/source/lib/src/control/interface.cpp diff --git a/source/lib/proto/src/command.cpp b/source/lib/src/proto/command.cpp index 5a669f5..5a669f5 100644 --- a/source/lib/proto/src/command.cpp +++ b/source/lib/src/proto/command.cpp diff --git a/source/lib/proto/src/message.cpp b/source/lib/src/proto/message.cpp index f44ca06..f44ca06 100644 --- a/source/lib/proto/src/message.cpp +++ b/source/lib/src/proto/message.cpp diff --git a/source/lib/system/src/environment.cpp b/source/lib/src/system/environment.cpp index 8f79531..8f79531 100644 --- a/source/lib/system/src/environment.cpp +++ b/source/lib/src/system/environment.cpp diff --git a/source/lib/system/src/filesystem.cpp b/source/lib/src/system/filesystem.cpp index 04dfff3..04dfff3 100644 --- a/source/lib/system/src/filesystem.cpp +++ b/source/lib/src/system/filesystem.cpp diff --git a/source/lib/system/src/logging.cpp b/source/lib/src/system/logging.cpp index 83dc9f6..83dc9f6 100644 --- a/source/lib/system/src/logging.cpp +++ b/source/lib/src/system/logging.cpp diff --git a/source/lib/system/src/setting.cpp b/source/lib/src/system/setting.cpp index 1553eae..1553eae 100644 --- a/source/lib/system/src/setting.cpp +++ b/source/lib/src/system/setting.cpp diff --git a/source/lib/system/src/wallpaper.cpp b/source/lib/src/system/wallpaper.cpp index 11a6402..11a6402 100644 --- a/source/lib/system/src/wallpaper.cpp +++ b/source/lib/src/system/wallpaper.cpp diff --git a/source/lib/system/src/xdg.cpp b/source/lib/src/system/xdg.cpp index 109beb1..109beb1 100644 --- a/source/lib/system/src/xdg.cpp +++ b/source/lib/src/system/xdg.cpp diff --git a/source/lib/std_ext/CMakeLists.txt b/source/lib/std_ext/CMakeLists.txt deleted file mode 100644 index d21d45c..0000000 --- a/source/lib/std_ext/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -cmake_path(GET CMAKE_CURRENT_SOURCE_DIR STEM LIB_NAME) - -file(GLOB_RECURSE LIB_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.hpp") - -add_library("wanda-${LIB_NAME}" INTERFACE) - -target_sources("wanda-${LIB_NAME}" INTERFACE - FILE_SET HEADERS - FILES ${LIB_HEADERS} - BASE_DIRS "include" -) - -target_include_directories("wanda-${LIB_NAME}" INTERFACE - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_include_directories("wanda-${LIB_NAME}" SYSTEM INTERFACE - "$<INSTALL_INTERFACE:include>" -) - -target_compile_features("wanda-${LIB_NAME}" INTERFACE - "cxx_std_20" -) - -if(NOT WANDA_APPLICATIONS_ONLY) - install(TARGETS "wanda-${LIB_NAME}" - FILE_SET HEADERS - ) -endif() - -add_library("wanda::${LIB_NAME}" ALIAS "wanda-${LIB_NAME}") diff --git a/source/lib/system/CMakeLists.txt b/source/lib/system/CMakeLists.txt deleted file mode 100644 index 7589c56..0000000 --- a/source/lib/system/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -cmake_path(GET CMAKE_CURRENT_SOURCE_DIR STEM LIB_NAME) - -file(GLOB_RECURSE LIB_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.hpp") -file(GLOB_RECURSE LIB_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" CONFIGURE_DEPENDS "**/*.cpp") - -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-${LIB_NAME}" ${WANDA_LIBRARY_TYPE} - ${LIB_SOURCES} -) - -target_sources("wanda-${LIB_NAME}" INTERFACE - FILE_SET HEADERS - FILES ${LIB_HEADERS} - BASE_DIRS "include" -) - -target_include_directories("wanda-${LIB_NAME}" PUBLIC - "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" -) - -target_include_directories("wanda-${LIB_NAME}" SYSTEM PUBLIC - "$<INSTALL_INTERFACE:include>" -) - -target_compile_features("wanda-${LIB_NAME}" PUBLIC - "cxx_std_20" -) - -target_link_libraries("wanda-${LIB_NAME}" PUBLIC - "wanda::meta" - "wanda::std_ext" - - "Boost::headers" - "JPEG::JPEG" - "PNG::PNG" - "spdlog::spdlog_header_only" - - "PkgConfig::libmagic" - "PkgConfig::GIO" -) - -if(NOT WANDA_APPLICATIONS_ONLY) - install(TARGETS "wanda-${LIB_NAME}" - FILE_SET HEADERS - ) -endif() - -add_library("wanda::${LIB_NAME}" ALIAS "wanda-${LIB_NAME}") diff --git a/source/tests/lib/system/src/xdg.cpp b/source/lib/tests/xdg.cpp index 5872dc6..5872dc6 100644 --- a/source/tests/lib/system/src/xdg.cpp +++ b/source/lib/tests/xdg.cpp diff --git a/source/tests/CMakeLists.txt b/source/tests/CMakeLists.txt deleted file mode 100644 index 07b922b..0000000 --- a/source/tests/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -include("Catch") - -add_subdirectory("app/wandac") -add_subdirectory("lib/system")
\ No newline at end of file diff --git a/source/tests/app/wandac/CMakeLists.txt b/source/tests/app/wandac/CMakeLists.txt deleted file mode 100644 index ab07030..0000000 --- a/source/tests/app/wandac/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -add_executable("wanda-tests-wandac" - "src/cli.cpp" -) - -target_link_libraries("wanda-tests-wandac" PRIVATE - "${PROJECT_NAME}c-components" - - "Catch2::Catch2WithMain" -) - -catch_discover_tests("wanda-tests-wandac")
\ No newline at end of file diff --git a/source/tests/lib/system/CMakeLists.txt b/source/tests/lib/system/CMakeLists.txt deleted file mode 100644 index a33c495..0000000 --- a/source/tests/lib/system/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -add_executable("wanda-tests-system" - "src/xdg.cpp" -) - -target_link_libraries("wanda-tests-system" PRIVATE - "wanda::system" - - "Catch2::Catch2WithMain" -) - -catch_discover_tests("wanda-tests-system")
\ No newline at end of file diff --git a/test_package/CMakeLists.txt b/test_package/CMakeLists.txt index 4bfe6f5..dcd1f3e 100644 --- a/test_package/CMakeLists.txt +++ b/test_package/CMakeLists.txt @@ -5,23 +5,12 @@ project("TestPackage" DESCRIPTION "Conan test package for 'Wanda!'" ) -find_package("wanda" REQUIRED - COMPONENTS - "control" - "meta" - "proto" - "std_ext" - "system" -) +find_package("wanda" REQUIRED) add_executable("test" "test.cpp" ) target_link_libraries("test" - "wanda::control" - "wanda::meta" - "wanda::proto" - "wanda::std_ext" - "wanda::system" + "wanda::wanda" ) diff --git a/test_package/conanfile.py b/test_package/conanfile.py index 6077dcb..403e357 100644 --- a/test_package/conanfile.py +++ b/test_package/conanfile.py @@ -13,9 +13,6 @@ class WandaTestConan(ConanFile): self.requires(self.tested_reference_str) def build(self): - if self._apps_only: - return - cmake = CMake(self) cmake.configure() cmake.build() @@ -27,13 +24,7 @@ class WandaTestConan(ConanFile): if not can_run(self): return - if self._apps_only: - self.run("wandad -h", env="conanrun") - self.run("wandac -h", env="conanrun") - else: - cmd = os.path.join(self.cpp.build.bindir, "test") - self.run(cmd, env="conanrun") - - @property - def _apps_only(self): - return self.dependencies[self.tested_reference_str].options.nolibs + self.run("wandad -h", env="conanrun") + self.run("wandac -h", env="conanrun") + cmd = os.path.join(self.cpp.build.bindir, "test") + self.run(cmd, env="conanrun") |
