aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt159
-rw-r--r--cmake/Modules/WandaTargets.cmake135
-rw-r--r--include/wanda/command.hpp (renamed from src/command.hpp)2
-rw-r--r--include/wanda/commander.hpp (renamed from src/commander.hpp)6
-rw-r--r--include/wanda/control_connection.hpp (renamed from src/control_connection.hpp)4
-rw-r--r--include/wanda/control_interface.hpp (renamed from src/control_interface.hpp)6
-rw-r--r--include/wanda/deferred_failure.hpp (renamed from src/deferred_failure.hpp)0
-rw-r--r--include/wanda/environment.hpp (renamed from src/environment.hpp)0
-rw-r--r--include/wanda/expected.hpp (renamed from src/expected.hpp)0
-rw-r--r--include/wanda/filesystem.hpp (renamed from src/filesystem.hpp)0
-rw-r--r--include/wanda/keyed.hpp (renamed from src/keyed.hpp)0
-rw-r--r--include/wanda/logging.hpp (renamed from src/logging.hpp)0
-rw-r--r--include/wanda/message.hpp (renamed from src/message.hpp)0
-rw-r--r--include/wanda/optional.hpp (renamed from src/optional.hpp)0
-rw-r--r--include/wanda/setting.hpp (renamed from src/setting.hpp)4
-rw-r--r--include/wanda/type_wrapper.hpp (renamed from src/type_wrapper.hpp)0
-rw-r--r--include/wanda/wallpaper.hpp (renamed from src/wallpaper.hpp)0
-rw-r--r--include/wanda/xdg.hpp (renamed from src/xdg.hpp)2
-rw-r--r--src/wanda/command.cpp (renamed from src/command.cpp)2
-rw-r--r--src/wanda/commander.cpp (renamed from src/commander.cpp)8
-rw-r--r--src/wanda/control_connection.cpp (renamed from src/control_connection.cpp)2
-rw-r--r--src/wanda/control_interface.cpp (renamed from src/control_interface.cpp)6
-rw-r--r--src/wanda/environment.cpp (renamed from src/environment.cpp)2
-rw-r--r--src/wanda/filesystem.cpp (renamed from src/filesystem.cpp)2
-rw-r--r--src/wanda/logging.cpp (renamed from src/logging.cpp)2
-rw-r--r--src/wanda/message.cpp (renamed from src/message.cpp)2
-rw-r--r--src/wanda/setting.cpp (renamed from src/setting.cpp)2
-rw-r--r--src/wanda/wallpaper.cpp (renamed from src/wallpaper.cpp)8
-rw-r--r--src/wanda/wandac.cpp (renamed from src/wandac.cpp)10
-rw-r--r--src/wanda/wandad.cpp (renamed from src/wandad.cpp)18
-rw-r--r--src/wanda/xdg.cpp (renamed from src/xdg.cpp)2
-rw-r--r--tests/wanda/core_driver.cpp (renamed from tests/core_driver.cpp)0
-rw-r--r--tests/wanda/test_suite_xdg.cpp (renamed from tests/test_suite_xdg.cpp)2
-rw-r--r--tests/wanda/test_suite_xdg.hpp (renamed from tests/test_suite_xdg.hpp)0
34 files changed, 252 insertions, 134 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d805943..3f9ce60 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,111 +16,94 @@ endif()
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules")
-include("ConanDependencies")
-include("SystemDependencies")
-include("CUTE")
-
-##### Wanda CORE #####
+if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
+endif()
-set(WANDA_CORE_SOURCES
- "src/command.cpp"
- "src/control_connection.cpp"
- "src/environment.cpp"
- "src/logging.cpp"
- "src/message.cpp"
- "src/xdg.cpp"
-)
+if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+endif()
-set(WANDA_CORE_HEADERS
- "src/command.hpp"
- "src/control_connection.hpp"
- "src/deferred_failure.hpp"
- "src/environment.hpp"
- "src/expected.hpp"
- "src/keyed.hpp"
- "src/logging.hpp"
- "src/message.hpp"
- "src/optional.hpp"
- "src/type_wrapper.hpp"
- "src/xdg.hpp"
-)
+if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+endif()
-set(WANDA_CORE_LIBRARIES
+include("ConanDependencies")
+include("SystemDependencies")
+include("CUTE")
+include("WandaTargets")
+
+add_wanda_library(NAME "wanda"
+ SOURCES
+ "command.cpp"
+ "control_connection.cpp"
+ "environment.cpp"
+ "logging.cpp"
+ "message.cpp"
+ "xdg.cpp"
+
+ HEADERS
+ "command.hpp"
+ "control_connection.hpp"
+ "deferred_failure.hpp"
+ "environment.hpp"
+ "expected.hpp"
+ "keyed.hpp"
+ "logging.hpp"
+ "message.hpp"
+ "optional.hpp"
+ "type_wrapper.hpp"
+ "xdg.hpp"
+
+ LIBRARIES
"CONAN_PKG::asio"
"CONAN_PKG::spdlog"
"SYSTEM::C++FS"
"Threads::Threads"
)
-add_library("wanda" ${WANDA_CORE_SOURCES} ${WANDA_CORE_HEADERS})
-target_link_libraries("wanda" ${WANDA_CORE_LIBRARIES})
-target_include_directories("wanda" INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
-set_target_properties("wanda" PROPERTIES PUBLIC_HEADER "${WANDA_CORE_HEADERS}")
-install(TARGETS "wanda" ARCHIVE DESTINATION "lib" PUBLIC_HEADER DESTINATION "include")
-
-##### Wanda Daemon #####
-
-set(WANDA_DAEMON_SOURCES
- "src/control_interface.cpp"
- "src/filesystem.cpp"
- "src/setting.cpp"
- "src/wallpaper.cpp"
- "src/wandad.cpp"
-)
-
-set(WANDA_DAEMON_HEADERS
- "src/control_interface.hpp"
- "src/filesystem.hpp"
- "src/setting.hpp"
- "src/wallpaper.hpp"
-)
-
-set(WANDA_DAEMON_LIBRARIES
+add_wanda_executable(NAME "wandad"
+ SOURCES
+ "control_interface.cpp"
+ "filesystem.cpp"
+ "setting.cpp"
+ "wallpaper.cpp"
+ "wandad.cpp"
+
+ HEADERS
+ "control_interface.hpp"
+ "filesystem.hpp"
+ "setting.hpp"
+ "wallpaper.hpp"
+
+ LIBRARIES
"wanda"
"CONAN_PKG::clara"
"SYSTEM::GIO"
)
-add_executable("wandad" ${WANDA_DAEMON_SOURCES} ${WANDA_DAEMON_HEADERS})
-target_link_libraries("wandad" ${WANDA_DAEMON_LIBRARIES})
-install(TARGETS "wandad" RUNTIME DESTINATION "bin")
-
-##### Wanda Controller #####
+add_wanda_executable(NAME "wandac"
+ SOURCES
+ "commander.cpp"
+ "wandac.cpp"
-set(WANDA_CONTROLLER_SOURCES
- "src/commander.cpp"
- "src/wandac.cpp"
-)
-
-set(WANDA_CONTROLLER_HEADERS
- "src/commander.hpp"
-)
+ HEADERS
+ "commander.hpp"
-set(WANDA_CONTROLLER_LIBRARIES
+ LIBRARIES
"wanda"
"CONAN_PKG::clara"
)
-add_executable("wandac" ${WANDA_CONTROLLER_SOURCES} ${WANDA_CONTROLLER_HEADERS})
-target_link_libraries("wandac" ${WANDA_CONTROLLER_LIBRARIES})
-install(TARGETS "wandac" RUNTIME DESTINATION "bin")
-
-##### Wanda Core Tests #####
-if(CUTE_FOUND)
- set(WANDA_CORE_TESTS_SUITE_SOURCES
- "tests/test_suite_xdg.cpp"
- )
-
- set(WANDA_CORE_TESTS_SUITE_HEADERS
- "tests/test_suite_xdg.hpp"
- )
-
- set(WANDA_CORE_TESTS_LIBRARIES
- "wanda"
- "LIB::CUTE"
- )
-
- add_executable("wanda_core_tests" "tests/core_driver.cpp" ${WANDA_CORE_TESTS_SUITE_SOURCES} ${WANDA_CORE_TESTS_SUITE_HEADERS})
- target_link_libraries("wanda_core_tests" ${WANDA_CORE_TESTS_LIBRARIES})
- add_test(NAME "wanda_core_tests" COMMAND "wanda_core_tests")
-endif() \ No newline at end of file
+add_wanda_test(NAME "wanda_core"
+ SOURCES
+ "core_driver.cpp"
+ "test_suite_xdg.cpp"
+
+ HEADERS
+ "test_suite_xdg.hpp"
+
+ LIBRARIES
+ "wanda"
+ "LIB::CUTE"
+) \ No newline at end of file
diff --git a/cmake/Modules/WandaTargets.cmake b/cmake/Modules/WandaTargets.cmake
new file mode 100644
index 0000000..38fc169
--- /dev/null
+++ b/cmake/Modules/WandaTargets.cmake
@@ -0,0 +1,135 @@
+include(CMakeParseArguments)
+
+function(add_wanda_library)
+ set(OPTIONS)
+ set(SV_ARGS "NAME")
+ set(MV_ARGS "SOURCES;HEADERS;LIBRARIES")
+ cmake_parse_arguments(WANDA_LIBRARY "${OPTIONS}" "${SV_ARGS}" "${MV_ARGS}" ${ARGN})
+
+ if(NOT WANDA_LIBRARY_NAME)
+ message(FATAL_ERROR "Missing argument 'NAME' to call of 'add_wanda_library'")
+ endif()
+
+ if(NOT WANDA_LIBRARY_SOURCES)
+ message(FATAL_ERROR "Missing argument 'SOURCES' to call of 'add_wanda_library'")
+ endif()
+
+ set(RESOLVED_SOURCES)
+ foreach(SOURCE IN LISTS WANDA_LIBRARY_SOURCES)
+ list(APPEND RESOLVED_SOURCES "src/wanda/${SOURCE}")
+ endforeach()
+
+ set(RESOLVED_HEADERS)
+ foreach(HEADER IN LISTS WANDA_LIBRARY_HEADERS)
+ list(APPEND RESOLVED_HEADERS "include/wanda/${HEADER}")
+ endforeach()
+
+ add_library("${WANDA_LIBRARY_NAME}"
+ ${RESOLVED_SOURCES} # Source files
+ ${RESOLVED_HEADERS} # Header files
+ )
+
+ target_include_directories("${WANDA_LIBRARY_NAME}" SYSTEM PUBLIC
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ $<INSTALL_INTERFACE:include>
+ )
+
+ target_link_libraries("${WANDA_LIBRARY_NAME}"
+ ${WANDA_LIBRARY_LIBRARIES}
+ )
+
+ set_target_properties("${WANDA_LIBRARY_NAME}"
+ PROPERTIES PUBLIC_HEADER "${RESOLVED_HEADERS}"
+ )
+
+ install(TARGETS "${WANDA_LIBRARY_NAME}"
+ ARCHIVE DESTINATION "lib" PUBLIC_HEADER DESTINATION "include/wanda"
+ )
+endfunction()
+
+function(add_wanda_executable)
+ set(OPTIONS)
+ set(SV_ARGS "NAME")
+ set(MV_ARGS "SOURCES;HEADERS;LIBRARIES")
+ cmake_parse_arguments(WANDA_EXECUTABLE "${OPTIONS}" "${SV_ARGS}" "${MV_ARGS}" ${ARGN})
+
+ if(NOT WANDA_EXECUTABLE_NAME)
+ message(FATAL_ERROR "Missing argument 'NAME' to call of 'add_wanda_executable'")
+ endif()
+
+ if(NOT WANDA_EXECUTABLE_SOURCES)
+ message(FATAL_ERROR "Missing argument 'SOURCES' to call of 'add_wanda_executable'")
+ endif()
+
+ set(RESOLVED_SOURCES)
+ foreach(SOURCE IN LISTS WANDA_EXECUTABLE_SOURCES)
+ list(APPEND RESOLVED_SOURCES "src/wanda/${SOURCE}")
+ endforeach()
+
+ set(RESOLVED_HEADERS)
+ foreach(HEADER IN LISTS WANDA_EXECUTABLE_HEADERS)
+ list(APPEND RESOLVED_HEADERS "include/wanda/${HEADER}")
+ endforeach()
+
+ add_executable("${WANDA_EXECUTABLE_NAME}"
+ ${RESOLVED_SOURCES} # Source files
+ ${RESOLVED_HEADERS} # Header files
+ )
+
+ target_include_directories("${WANDA_EXECUTABLE_NAME}" SYSTEM PRIVATE
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ )
+
+ target_link_libraries("${WANDA_EXECUTABLE_NAME}"
+ ${WANDA_EXECUTABLE_LIBRARIES}
+ )
+
+ install(TARGETS "${WANDA_EXECUTABLE_NAME}"
+ ARCHIVE DESTINATION "lib" RUNTIME DESTINATION "bin"
+ )
+endfunction()
+
+function(add_wanda_test)
+ set(OPTIONS)
+ set(SV_ARGS "NAME")
+ set(MV_ARGS "SOURCES;HEADERS;LIBRARIES")
+ cmake_parse_arguments(WANDA_TEST "${OPTIONS}" "${SV_ARGS}" "${MV_ARGS}" ${ARGN})
+
+ if(NOT WANDA_TEST_NAME)
+ message(FATAL_ERROR "Missing argument 'NAME' to call of 'add_wanda_test'")
+ endif()
+
+ if(NOT WANDA_TEST_SOURCES)
+ message(FATAL_ERROR "Missing argument 'SOURCES' to call of 'add_wanda_test'")
+ endif()
+
+ set(RESOLVED_SOURCES)
+ foreach(SOURCE IN LISTS WANDA_TEST_SOURCES)
+ list(APPEND RESOLVED_SOURCES "tests/wanda/${SOURCE}")
+ endforeach()
+
+ set(RESOLVED_HEADERS)
+ foreach(HEADER IN LISTS WANDA_TEST_HEADERS)
+ list(APPEND RESOLVED_HEADERS "tests/wanda/${HEADER}")
+ endforeach()
+
+ if(NOT CUTE_FOUND)
+ message(STATUS "CUTE not found. Skipping test '${WANDA_TEST_NAME}'")
+ return()
+ endif()
+
+ add_executable("${WANDA_TEST_NAME}_driver"
+ ${RESOLVED_SOURCES} # Source files
+ ${RESOLVED_HEADERS} # Header files
+ )
+
+ target_include_directories("${WANDA_TEST_NAME}_driver" SYSTEM PRIVATE
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ )
+
+ target_link_libraries("${WANDA_TEST_NAME}_driver"
+ ${WANDA_TEST_LIBRARIES}
+ )
+
+ add_test(NAME "${WANDA_TEST_NAME}" COMMAND "${WANDA_TEST_NAME}_driver")
+endfunction() \ No newline at end of file
diff --git a/src/command.hpp b/include/wanda/command.hpp
index afc6a6f..5ea1a08 100644
--- a/src/command.hpp
+++ b/include/wanda/command.hpp
@@ -1,7 +1,7 @@
#ifndef WANDA_COMMAND_HPP
#define WANDA_COMMAND_HPP
-#include "message.hpp"
+#include <wanda/message.hpp>
#include <optional>
#include <string>
diff --git a/src/commander.hpp b/include/wanda/commander.hpp
index 42a2ab6..1c76c6d 100644
--- a/src/commander.hpp
+++ b/include/wanda/commander.hpp
@@ -1,9 +1,9 @@
#ifndef WANDA_COMMANDER_HPP
#define WANDA_COMMANDER_HPP
-#include "command.hpp"
-#include "control_connection.hpp"
-#include "message.hpp"
+#include <wanda/command.hpp>
+#include <wanda/control_connection.hpp>
+#include <wanda/message.hpp>
#include <asio.hpp>
diff --git a/src/control_connection.hpp b/include/wanda/control_connection.hpp
index 9e3ad62..b692d37 100644
--- a/src/control_connection.hpp
+++ b/include/wanda/control_connection.hpp
@@ -1,8 +1,8 @@
#ifndef WANDA_CONTROL_CONNECTION_HPP
#define WANDA_CONTROL_CONNECTION_HPP
-#include "keyed.hpp"
-#include "message.hpp"
+#include <wanda/keyed.hpp>
+#include <wanda/message.hpp>
#include <asio.hpp>
diff --git a/src/control_interface.hpp b/include/wanda/control_interface.hpp
index 3d11fdf..73ef2cf 100644
--- a/src/control_interface.hpp
+++ b/include/wanda/control_interface.hpp
@@ -7,9 +7,9 @@
#ifndef WANDA_CONTROL_INTERFACE_HPP
#define WANDA_CONTROL_INTERFACE_HPP
-#include "command.hpp"
-#include "control_connection.hpp"
-#include "keyed.hpp"
+#include <wanda/command.hpp>
+#include <wanda/control_connection.hpp>
+#include <wanda/keyed.hpp>
#include <asio.hpp>
#include <spdlog/spdlog.h>
diff --git a/src/deferred_failure.hpp b/include/wanda/deferred_failure.hpp
index 5db26f6..5db26f6 100644
--- a/src/deferred_failure.hpp
+++ b/include/wanda/deferred_failure.hpp
diff --git a/src/environment.hpp b/include/wanda/environment.hpp
index 5a702a8..5a702a8 100644
--- a/src/environment.hpp
+++ b/include/wanda/environment.hpp
diff --git a/src/expected.hpp b/include/wanda/expected.hpp
index fff0d81..fff0d81 100644
--- a/src/expected.hpp
+++ b/include/wanda/expected.hpp
diff --git a/src/filesystem.hpp b/include/wanda/filesystem.hpp
index 1975bc5..1975bc5 100644
--- a/src/filesystem.hpp
+++ b/include/wanda/filesystem.hpp
diff --git a/src/keyed.hpp b/include/wanda/keyed.hpp
index 58f17ad..58f17ad 100644
--- a/src/keyed.hpp
+++ b/include/wanda/keyed.hpp
diff --git a/src/logging.hpp b/include/wanda/logging.hpp
index b3c1665..b3c1665 100644
--- a/src/logging.hpp
+++ b/include/wanda/logging.hpp
diff --git a/src/message.hpp b/include/wanda/message.hpp
index 866408f..866408f 100644
--- a/src/message.hpp
+++ b/include/wanda/message.hpp
diff --git a/src/optional.hpp b/include/wanda/optional.hpp
index da3774c..da3774c 100644
--- a/src/optional.hpp
+++ b/include/wanda/optional.hpp
diff --git a/src/setting.hpp b/include/wanda/setting.hpp
index b681e05..98b5771 100644
--- a/src/setting.hpp
+++ b/include/wanda/setting.hpp
@@ -7,8 +7,8 @@
#ifndef WANDA_setting_HPP
#define WANDA_setting_HPP
-#include "deferred_failure.hpp"
-#include "type_wrapper.hpp"
+#include <wanda/deferred_failure.hpp>
+#include <wanda/type_wrapper.hpp>
#include <gio/gio.h>
diff --git a/src/type_wrapper.hpp b/include/wanda/type_wrapper.hpp
index 12684cb..12684cb 100644
--- a/src/type_wrapper.hpp
+++ b/include/wanda/type_wrapper.hpp
diff --git a/src/wallpaper.hpp b/include/wanda/wallpaper.hpp
index 0cad473..0cad473 100644
--- a/src/wallpaper.hpp
+++ b/include/wanda/wallpaper.hpp
diff --git a/src/xdg.hpp b/include/wanda/xdg.hpp
index 94dbf9b..bc138fa 100644
--- a/src/xdg.hpp
+++ b/include/wanda/xdg.hpp
@@ -7,7 +7,7 @@
#ifndef WANDA_XDG_HPP
#define WANDA_XDG_HPP
-#include "environment.hpp"
+#include <wanda/environment.hpp>
#include <cstddef>
#include <filesystem>
diff --git a/src/command.cpp b/src/wanda/command.cpp
index 76cdee7..960c52b 100644
--- a/src/command.cpp
+++ b/src/wanda/command.cpp
@@ -1,4 +1,4 @@
-#include "command.hpp"
+#include <wanda/command.hpp>
namespace wanda
{
diff --git a/src/commander.cpp b/src/wanda/commander.cpp
index a67d06a..85fc68a 100644
--- a/src/commander.cpp
+++ b/src/wanda/commander.cpp
@@ -1,7 +1,7 @@
-#include "commander.hpp"
-#include "logging.hpp"
-#include "message.hpp"
-#include "optional.hpp"
+#include <wanda/commander.hpp>
+#include <wanda/logging.hpp>
+#include <wanda/message.hpp>
+#include <wanda/optional.hpp>
#include <spdlog/fmt/ostr.h>
diff --git a/src/control_connection.cpp b/src/wanda/control_connection.cpp
index 13e0e5e..40e29f3 100644
--- a/src/control_connection.cpp
+++ b/src/wanda/control_connection.cpp
@@ -1,4 +1,4 @@
-#include "control_connection.hpp"
+#include <wanda/control_connection.hpp>
#include <limits>
diff --git a/src/control_interface.cpp b/src/wanda/control_interface.cpp
index 81e10cf..c008920 100644
--- a/src/control_interface.cpp
+++ b/src/wanda/control_interface.cpp
@@ -1,6 +1,6 @@
-#include "control_interface.hpp"
-#include "logging.hpp"
-#include "optional.hpp"
+#include <wanda/control_interface.hpp>
+#include <wanda/logging.hpp>
+#include <wanda/optional.hpp>
#include <spdlog/fmt/ostr.h>
diff --git a/src/environment.cpp b/src/wanda/environment.cpp
index abcf62a..533a5f5 100644
--- a/src/environment.cpp
+++ b/src/wanda/environment.cpp
@@ -1,4 +1,4 @@
-#include "environment.hpp"
+#include <wanda/environment.hpp>
#include <string>
diff --git a/src/filesystem.cpp b/src/wanda/filesystem.cpp
index bb724d1..01dff43 100644
--- a/src/filesystem.cpp
+++ b/src/wanda/filesystem.cpp
@@ -1,4 +1,4 @@
-#include "filesystem.hpp"
+#include <wanda/filesystem.hpp>
#include <boost/iterator/filter_iterator.hpp>
diff --git a/src/logging.cpp b/src/wanda/logging.cpp
index fc8bf8b..8c61953 100644
--- a/src/logging.cpp
+++ b/src/wanda/logging.cpp
@@ -1,4 +1,4 @@
-#include "logging.hpp"
+#include <wanda/logging.hpp>
namespace wanda
{
diff --git a/src/message.cpp b/src/wanda/message.cpp
index 4c152fa..978b7c4 100644
--- a/src/message.cpp
+++ b/src/wanda/message.cpp
@@ -1,4 +1,4 @@
-#include "message.hpp"
+#include <wanda/message.hpp>
#include <ios>
#include <iterator>
diff --git a/src/setting.cpp b/src/wanda/setting.cpp
index d9f8607..f0cf7a7 100644
--- a/src/setting.cpp
+++ b/src/wanda/setting.cpp
@@ -1,4 +1,4 @@
-#include "setting.hpp"
+#include <wanda/setting.hpp>
#include <algorithm>
#include <type_traits>
diff --git a/src/wallpaper.cpp b/src/wanda/wallpaper.cpp
index b4e0b76..3fc93b3 100644
--- a/src/wallpaper.cpp
+++ b/src/wanda/wallpaper.cpp
@@ -1,7 +1,7 @@
-#include "logging.hpp"
-#include "optional.hpp"
-#include "setting.hpp"
-#include "wallpaper.hpp"
+#include <wanda/logging.hpp>
+#include <wanda/optional.hpp>
+#include <wanda/setting.hpp>
+#include <wanda/wallpaper.hpp>
namespace wanda
{
diff --git a/src/wandac.cpp b/src/wanda/wandac.cpp
index e8be1ef..1d317db 100644
--- a/src/wandac.cpp
+++ b/src/wanda/wandac.cpp
@@ -1,8 +1,8 @@
-#include "command.hpp"
-#include "commander.hpp"
-#include "environment.hpp"
-#include "logging.hpp"
-#include "xdg.hpp"
+#include <wanda/command.hpp>
+#include <wanda/commander.hpp>
+#include <wanda/environment.hpp>
+#include <wanda/logging.hpp>
+#include <wanda/xdg.hpp>
#include <asio.hpp>
#include <clara.hpp>
diff --git a/src/wandad.cpp b/src/wanda/wandad.cpp
index 7321f04..e39c116 100644
--- a/src/wandad.cpp
+++ b/src/wanda/wandad.cpp
@@ -1,12 +1,12 @@
-#include "command.hpp"
-#include "control_interface.hpp"
-#include "environment.hpp"
-#include "filesystem.hpp"
-#include "logging.hpp"
-#include "optional.hpp"
-#include "setting.hpp"
-#include "wallpaper.hpp"
-#include "xdg.hpp"
+#include <wanda/command.hpp>
+#include <wanda/control_interface.hpp>
+#include <wanda/environment.hpp>
+#include <wanda/filesystem.hpp>
+#include <wanda/logging.hpp>
+#include <wanda/optional.hpp>
+#include <wanda/setting.hpp>
+#include <wanda/wallpaper.hpp>
+#include <wanda/xdg.hpp>
#include <asio.hpp>
#include <spdlog/sinks/stdout_color_sinks.h>
diff --git a/src/xdg.cpp b/src/wanda/xdg.cpp
index 10f3603..d49e53f 100644
--- a/src/xdg.cpp
+++ b/src/wanda/xdg.cpp
@@ -1,4 +1,4 @@
-#include "xdg.hpp"
+#include <wanda/xdg.hpp>
#include <unistd.h>
diff --git a/tests/core_driver.cpp b/tests/wanda/core_driver.cpp
index 3643da0..3643da0 100644
--- a/tests/core_driver.cpp
+++ b/tests/wanda/core_driver.cpp
diff --git a/tests/test_suite_xdg.cpp b/tests/wanda/test_suite_xdg.cpp
index 48f3eaa..0338ee3 100644
--- a/tests/test_suite_xdg.cpp
+++ b/tests/wanda/test_suite_xdg.cpp
@@ -1,5 +1,5 @@
#include "test_suite_xdg.hpp"
-#include "xdg.hpp"
+#include <wanda/xdg.hpp>
#include "cute/cute.h"
diff --git a/tests/test_suite_xdg.hpp b/tests/wanda/test_suite_xdg.hpp
index 698ad9a..698ad9a 100644
--- a/tests/test_suite_xdg.hpp
+++ b/tests/wanda/test_suite_xdg.hpp