From c7d1874cd16ce86dfbab319e44fe3a387378fdff Mon Sep 17 00:00:00 2001 From: Alexey Edelev Date: Thu, 5 Nov 2020 17:05:44 +0100 Subject: CMake: Expose resource source files to IDEs Add fake targets for .qml/.js and other files added using qt6_add_resources Task-number: QTBUG-87642 Change-Id: I690b223711afe96ea7fdb4cf11b8e3317ed9bbe6 Reviewed-by: Alexandru Croitor --- src/corelib/Qt6CoreMacros.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 15a60756eb..a48bc2580d 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -1068,6 +1068,22 @@ function(__qt_propagate_generated_resource target resource_name generated_source endif() endfunction() +# Creates fake targets and adds resource files to IDE's tree +function(_qt_internal_expose_source_file_to_ide target file) + set(ide_target_extension "other_files") + set(qml_extensions ".qml" ".js") + get_filename_component(resource_extension "${file}" LAST_EXT) + if(resource_extension IN_LIST qml_extensions) + set(ide_target_extension "qml_files") + endif() + + set(ide_target ${target}_${ide_target_extension}) + if(NOT TARGET ${ide_target}) + add_custom_target(${ide_target} SOURCES "${file}") + else() + set_property(TARGET ${ide_target} APPEND PROPERTY SOURCES "${file}") + endif() +endfunction() # # Process resources via file path instead of QRC files. Behind the @@ -1177,6 +1193,7 @@ function(_qt_internal_process_resource target resourceName) endif() list(APPEND resource_dependencies ${target_dependency}) endif() + _qt_internal_expose_source_file_to_ide(${target} "${file}") endforeach() # -- cgit v1.2.3