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>
This commit is contained in:
Tim Blechmann 2024-03-26 10:52:38 +08:00 committed by Qt Cherry-pick Bot
parent 2939e22570
commit 418827f7cb

View File

@ -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})