summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2024-03-26 10:52:38 +0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-04-14 04:03:19 +0000
commit418827f7cb52b2d955164702e78d9f56988c08a7 (patch)
treea9b9941b73fb1d97c0f9639cb9a22574760323e4 /cmake
parent2939e225701c4044c413e6e301727df0755efdb5 (diff)
CMake: split _extra_files targets
Separate config.tests, coin, cmake, licenses and changelogs into independent targets to keep the IDE projects more organized. Change-Id: Ie33d45799621c2d7ec6f022ffcfac132ac4c7b94 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit bd2dc0c3ed750eca9a3b87f1f99069a2d4e954f8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtBuildRepoHelpers.cmake69
1 files changed, 57 insertions, 12 deletions
diff --git a/cmake/QtBuildRepoHelpers.cmake b/cmake/QtBuildRepoHelpers.cmake
index 28fba12d6e..1015f42cf4 100644
--- a/cmake/QtBuildRepoHelpers.cmake
+++ b/cmake/QtBuildRepoHelpers.cmake
@@ -394,20 +394,63 @@ function(qt_internal_show_extra_ide_sources)
return()
endif()
- set(target_name ${qt_repo_targets_name}_extra_files)
- add_custom_target(${target_name})
+ # coin
+ set(coin_target_name ${qt_repo_targets_name}_coin_files)
+ file(GLOB_RECURSE coin_files LIST_DIRECTORIES false FOLLOW_SYMLINKS coin/*)
+ if(coin_files)
+ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/coin" FILES ${coin_files})
+ add_custom_target(${coin_target_name} SOURCES ${coin_files})
+ endif()
- set(recursive_glob_patterns
- coin/*
- LICENSES/*
+ # config.test
+ set(config_tests_target_name ${qt_repo_targets_name}_config_tests)
+ file(GLOB_RECURSE config_tests_file LIST_DIRECTORIES false FOLLOW_SYMLINKS config.tests/*)
+ if(config_tests_file)
+ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/config.tests" FILES ${config_tests_file})
+ add_custom_target(${config_tests_target_name} SOURCES ${config_tests_file})
+ endif()
+
+ # cmake
+ set(cmake_target_name ${qt_repo_targets_name}_cmake_files)
+ file(GLOB_RECURSE cmake_files LIST_DIRECTORIES false FOLLOW_SYMLINKS
cmake/*
- config.tests/*
- dist/*
configure.cmake
qt_cmdline.cmake
.cmake.conf
*.cmake
- *.cmake.in
+ *.cmake.in)
+ foreach(cmake_file IN LISTS cmake_files)
+ if(NOT ((cmake_file IN_LIST coin_files) OR (file IN_LIST config_tests_files)))
+ list(APPEND cmake_target_files ${cmake_file})
+ endif()
+ endforeach()
+
+ if(cmake_target_files)
+ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${cmake_target_files})
+ add_custom_target(${cmake_target_name} SOURCES ${cmake_target_files})
+ endif()
+
+ # licenses
+ set(licenses_target_name ${qt_repo_targets_name}_licenses)
+ file(GLOB licenses_files LIST_DIRECTORIES false LICENSES/*)
+ if(licenses_files)
+ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSES" FILES ${licenses_files})
+ add_custom_target(${licenses_target_name} SOURCES ${licenses_files})
+ endif()
+
+ # changelogs
+ set(changelogs_target_name ${qt_repo_targets_name}_changelogs)
+ file(GLOB change_logs_files LIST_DIRECTORIES false dist/*)
+ if(change_logs_files)
+ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/dist" FILES ${change_logs_files})
+ add_custom_target(${changelogs_target_name} SOURCES ${change_logs_files})
+ endif()
+
+ # extra files
+ set(target_name ${qt_repo_targets_name}_extra_files)
+ add_custom_target(${target_name})
+
+ set(recursive_glob_patterns
${QT_BUILD_EXTRA_IDE_FILE_RECURSIVE_PATTERNS}
)
set(simple_glob_patterns
@@ -418,10 +461,12 @@ function(qt_internal_show_extra_ide_sources)
${QT_BUILD_EXTRA_IDE_FILE_PATTERNS}
)
- file(GLOB_RECURSE files LIST_DIRECTORIES false FOLLOW_SYMLINKS ${recursive_glob_patterns})
- if(files)
- source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${files})
- target_sources(${target_name} PRIVATE ${files})
+ if(recursive_glob_patterns)
+ file(GLOB_RECURSE files LIST_DIRECTORIES false FOLLOW_SYMLINKS ${recursive_glob_patterns})
+ if(files)
+ source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${files})
+ target_sources(${target_name} PRIVATE ${files})
+ endif()
endif()
file(GLOB files LIST_DIRECTORIES false ${simple_glob_patterns})