aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-05-17 17:58:38 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-05-17 17:58:38 +0200
commit577fc0845718ed8ad5bebf02a277c0579a817f77 (patch)
tree3d1cdc53c426a0ba60a7996619a7b787850bb3b3
parentde5bf7ca3b7a2bf6be35b86486b00dc6a071b950 (diff)
downloadwanda-577fc0845718ed8ad5bebf02a277c0579a817f77.tar.xz
wanda-577fc0845718ed8ad5bebf02a277c0579a817f77.zip
wanda: restructure source layoutHEADdevelop
-rw-r--r--.vscode/settings.json3
-rw-r--r--conanfile.py117
-rw-r--r--source/CMakeLists.txt7
-rw-r--r--source/app/CMakeLists.txt6
-rw-r--r--source/app/wandac/CMakeLists.txt37
-rw-r--r--source/app/wandad/CMakeLists.txt21
-rw-r--r--source/apps/CMakeLists.txt54
-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.txt76
-rw-r--r--source/lib/control/CMakeLists.txt43
-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.txt31
-rw-r--r--source/lib/proto/CMakeLists.txt38
-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.txt31
-rw-r--r--source/lib/system/CMakeLists.txt63
-rw-r--r--source/lib/tests/xdg.cpp (renamed from source/tests/lib/system/src/xdg.cpp)0
-rw-r--r--source/tests/CMakeLists.txt4
-rw-r--r--source/tests/app/wandac/CMakeLists.txt11
-rw-r--r--source/tests/lib/system/CMakeLists.txt11
-rw-r--r--test_package/CMakeLists.txt15
-rw-r--r--test_package/conanfile.py17
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")