summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/CMakeLists.txt
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-13 14:38:44 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-13 14:38:44 +1000
commit306cfc06ed38a2f86616c1f2fe64de45321f21a6 (patch)
treea27c79d9c4d01c2dadeeae74c844875ab7ab4eed /plugin/src/Caelestia/CMakeLists.txt
parentpopouts/tray: better interaction (diff)
downloadcaelestia-shell-306cfc06ed38a2f86616c1f2fe64de45321f21a6.tar.gz
caelestia-shell-306cfc06ed38a2f86616c1f2fe64de45321f21a6.tar.bz2
caelestia-shell-306cfc06ed38a2f86616c1f2fe64de45321f21a6.zip
plugin: refactor into modules
Diffstat (limited to 'plugin/src/Caelestia/CMakeLists.txt')
-rw-r--r--plugin/src/Caelestia/CMakeLists.txt77
1 files changed, 38 insertions, 39 deletions
diff --git a/plugin/src/Caelestia/CMakeLists.txt b/plugin/src/Caelestia/CMakeLists.txt
index 94496c6..2832b5d 100644
--- a/plugin/src/Caelestia/CMakeLists.txt
+++ b/plugin/src/Caelestia/CMakeLists.txt
@@ -8,50 +8,49 @@ pkg_check_modules(Cava IMPORTED_TARGET cava REQUIRED)
set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml")
qt_standard_project_setup(REQUIRES 6.9)
-qt_add_qml_module(caelestia
+function(qml_module arg_TARGET)
+ cmake_parse_arguments(PARSE_ARGV 1 arg "" "URI" "SOURCES;LIBRARIES")
+
+ qt_add_qml_module(${arg_TARGET}
+ URI ${arg_URI}
+ VERSION ${VERSION}
+ SOURCES ${arg_SOURCES}
+ )
+
+ qt_query_qml_module(${arg_TARGET}
+ URI module_uri
+ VERSION module_version
+ PLUGIN_TARGET module_plugin_target
+ TARGET_PATH module_target_path
+ QMLDIR module_qmldir
+ TYPEINFO module_typeinfo
+ )
+
+ message(STATUS "Created QML module ${module_uri}, version ${module_version}")
+
+ set(module_dir "${INSTALL_QMLDIR}/${module_target_path}")
+ install(TARGETS ${arg_TARGET} LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
+ install(TARGETS "${module_plugin_target}" LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
+ install(FILES "${module_qmldir}" DESTINATION "${module_dir}")
+ install(FILES "${module_typeinfo}" DESTINATION "${module_dir}")
+
+ target_link_libraries(${arg_TARGET} PRIVATE Qt::Core Qt::Qml ${arg_LIBRARIES})
+endfunction()
+
+qml_module(caelestia
URI Caelestia
- VERSION ${VERSION}
SOURCES
cutils.hpp cutils.cpp
- cachingimagemanager.hpp cachingimagemanager.cpp
- filesystemmodel.hpp filesystemmodel.cpp
qalculator.hpp qalculator.cpp
- beattracker.hpp beattracker.cpp
- service.hpp service.cpp
- serviceref.hpp serviceref.cpp
- audiocollector.hpp audiocollector.cpp
- audioprovider.hpp audioprovider.cpp
- cavaprovider.hpp cavaprovider.cpp
appdb.hpp appdb.cpp
requests.hpp requests.cpp
+ LIBRARIES
+ Qt::Gui
+ Qt::Quick
+ Qt::Sql
+ PkgConfig::Qalculate
)
-qt_query_qml_module(caelestia
- URI module_uri
- VERSION module_version
- PLUGIN_TARGET module_plugin_target
- TARGET_PATH module_target_path
- QMLDIR module_qmldir
- TYPEINFO module_typeinfo
-)
-
-message(STATUS "Created QML module ${module_uri}, version ${module_version}")
-
-set(module_dir "${INSTALL_QMLDIR}/${module_target_path}")
-install(TARGETS caelestia LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
-install(TARGETS "${module_plugin_target}" LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
-install(FILES "${module_qmldir}" DESTINATION "${module_dir}")
-install(FILES "${module_typeinfo}" DESTINATION "${module_dir}")
-
-target_link_libraries(caelestia PRIVATE
- Qt::Core
- Qt::Qml
- Qt::Gui
- Qt::Quick
- Qt::Concurrent
- Qt::Sql
- PkgConfig::Qalculate
- PkgConfig::Pipewire
- PkgConfig::Aubio
- PkgConfig::Cava
-)
+add_subdirectory(Managers)
+add_subdirectory(Models)
+add_subdirectory(Services)