From dfa6b010e677a6c11ace5e18c4ec0e5a50766c39 Mon Sep 17 00:00:00 2001 From: zach Date: Tue, 1 Sep 2026 15:42:27 +0200 Subject: [PATCH] fix: property link modules --- Plugins/cmake/qml-module.cmake | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Plugins/cmake/qml-module.cmake b/Plugins/cmake/qml-module.cmake index f45a6a7..82257e5 100644 --- a/Plugins/cmake/qml-module.cmake +++ b/Plugins/cmake/qml-module.cmake @@ -2,6 +2,9 @@ message(STATUS "QML install dir: ${CMAKE_INSTALL_PREFIX}/${INSTALL_QMLDIR}") function(qml_module arg_TARGET) cmake_parse_arguments(PARSE_ARGV 1 arg "" "URI" "SOURCES;QML_FILES;QML_SINGLETONS;DEPENDENCIES;IMPORTS;OPTIONAL_IMPORTS;DEFAULT_IMPORTS;LIBRARIES") + + set_source_files_properties(${arg_QML_SINGLETONS} PROPERTIES QT_QML_SINGLETON_TYPE TRUE) + qt_add_qml_module(${arg_TARGET} URI ${arg_URI} SOURCES ${arg_SOURCES} @@ -38,7 +41,14 @@ function(qml_module arg_TARGET) 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}) + target_link_libraries(${arg_TARGET} PRIVATE zshell-pch Qt::Core Qt::Qml ${arg_LIBRARIES}) + + if(arg_INCLUDE_PREFIX) + set(include_dir "${CMAKE_CURRENT_BINARY_DIR}/include") + file(MAKE_DIRECTORY "${include_dir}") + file(CREATE_LINK "${CMAKE_CURRENT_SOURCE_DIR}" "${include_dir}/${arg_INCLUDE_PREFIX}" SYMBOLIC) + target_include_directories(${arg_TARGET} PUBLIC "${include_dir}") + endif() file(RELATIVE_PATH plugin_to_lib "/${module_target_path}" "/${top_level}/lib") set_property(TARGET ${module_plugin_target} APPEND PROPERTY INSTALL_RPATH "$ORIGIN/${plugin_to_lib}")