summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2020-11-05 17:05:44 +0100
committerAlexey Edelev <alexey.edelev@qt.io>2020-11-08 12:13:59 +0000
commitc7d1874cd16ce86dfbab319e44fe3a387378fdff (patch)
tree50e0549e2eae97dc2a37b107068ffc6132710130
parentb867daf6fad05804d95a2dfb53f3f39c26e56277 (diff)
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 <alexandru.croitor@qt.io>
-rw-r--r--src/corelib/Qt6CoreMacros.cmake17
1 files changed, 17 insertions, 0 deletions
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()
# </qresource></RCC>