Merge topic 'source_group-tree-files'

8d93815d20 source_group command ensures that FILES arguments are actually files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3265
This commit is contained in:
Kyle Edwards
2019-04-30 14:30:26 +00:00
committed by Kitware Robot
2 changed files with 12 additions and 1 deletions

View File

@@ -80,7 +80,10 @@ std::vector<std::string> prepareFilesPathsForTree(
prepared.reserve(filesPaths.size());
for (auto const& filePath : filesPaths) {
prepared.push_back(prepareFilePathForTree(filePath, currentSourceDir));
// If provided file path is actually not a file, silently ignore it.
if (cmSystemTools::FileExists(filePath, /*isFile=*/true)) {
prepared.push_back(prepareFilePathForTree(filePath, currentSourceDir));
}
}
return prepared;

View File

@@ -42,8 +42,16 @@ set(tree_files_with_prefix ${root}/tree_prefix_foo.c
set(tree_files_with_empty_prefix ${root}/tree_empty_prefix_foo.c
tree_empty_prefix_bar.c)
set(tree_files_which_are_actually_directories ${root}
${root}/
${root}/sub1
${root}/sub1/)
source_group(TREE ${root} FILES ${tree_files_without_prefix})
# Should not crash and not add any files - just silently ignore the directories
source_group(TREE ${root} FILES ${tree_files_which_are_actually_directories})
source_group(FILES ${tree_files_with_prefix} PREFIX tree_root/subgroup TREE ${root})
source_group(PREFIX "" FILES ${tree_files_with_empty_prefix} TREE ${root})