diff options
author | Tim Blechmann <tim@klingt.org> | 2024-03-26 10:52:38 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2024-04-12 08:36:05 +0800 |
commit | bd2dc0c3ed750eca9a3b87f1f99069a2d4e954f8 (patch) | |
tree | 335c853db014e92055b24b344d6b8323921a5deb | |
parent | 003a19115279e44bf8af96e0f588f5cc34725353 (diff) |
CMake: split _extra_files targets
Separate config.tests, coin, cmake, licenses and changelogs into
independent targets to keep the IDE projects more organized.
Pick-to: 6.7
Change-Id: Ie33d45799621c2d7ec6f022ffcfac132ac4c7b94
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
-rw-r--r-- | cmake/QtBuildRepoHelpers.cmake | 69 |
1 files changed, 57 insertions, 12 deletions
diff --git a/cmake/QtBuildRepoHelpers.cmake b/cmake/QtBuildRepoHelpers.cmake index bf35c847e0..9053c377af 100644 --- a/cmake/QtBuildRepoHelpers.cmake +++ b/cmake/QtBuildRepoHelpers.cmake @@ -395,20 +395,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 @@ -419,10 +462,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}) |