diff options
Diffstat (limited to 'plugin/src/Caelestia/CMakeLists.txt')
| -rw-r--r-- | plugin/src/Caelestia/CMakeLists.txt | 77 |
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) |