mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-05 22:00:10 -05:00
source_group: Add options create groups matching directory tree
Add `TREE` and `PREFIX` arguments to enable this behavior.
This commit is contained in:
@@ -30,6 +30,17 @@ source_group(Base\\Sub1\\Base FILES bar.c)
|
||||
# a group without files, is currently not created
|
||||
source_group(EmptyGroup)
|
||||
|
||||
set(root ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
add_executable(SourceGroups main.c bar.c foo.c sub1/foo.c sub1/foobar.c baz.c README.txt)
|
||||
set(tree_files_without_prefix ${root}/sub1/tree_bar.c
|
||||
${root}/sub1/tree_baz.c
|
||||
${root}/sub1/tree_subdir/tree_foobar.c)
|
||||
|
||||
set(tree_files_with_prefix ${root}/tree_foo.c)
|
||||
|
||||
source_group(TREE ${root} FILES ${tree_files_without_prefix})
|
||||
|
||||
source_group(TREE ${root} PREFIX tree_root/subgroup FILES ${tree_files_with_prefix})
|
||||
|
||||
add_executable(SourceGroups main.c bar.c foo.c sub1/foo.c sub1/foobar.c baz.c
|
||||
${tree_files_with_prefix} ${tree_files_without_prefix} README.txt)
|
||||
|
||||
@@ -5,10 +5,17 @@ extern int bar(void);
|
||||
extern int foobar(void);
|
||||
extern int barbar(void);
|
||||
extern int baz(void);
|
||||
extern int tree_foo(void);
|
||||
extern int tree_bar(void);
|
||||
extern int tree_foobar(void);
|
||||
extern int tree_baz(void);
|
||||
|
||||
int main()
|
||||
{
|
||||
printf("foo: %d bar: %d foobar: %d barbar: %d baz: %d\n", foo(), bar(),
|
||||
foobar(), barbar(), baz());
|
||||
|
||||
printf("tree_foo: %d tree_bar: %d tree_foobar: %d tree_baz: %d\n",
|
||||
tree_foo(), tree_bar(), tree_foobar(), tree_baz());
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
int tree_bar(void)
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
int tree_baz(void)
|
||||
{
|
||||
return 9;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
int tree_foobar(void)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
int tree_foo(void)
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
Reference in New Issue
Block a user