cmake/Tests/SourceGroups/CMakeLists.txt

66 lines
2.2 KiB
CMake
Raw Normal View History

2017-07-20 19:35:53 +02:00
cmake_minimum_required (VERSION 3.8)
project(SourceGroups)
# this is not really a test which can fail
2013-03-16 19:13:01 +02:00
# it is more an example with several source_group()
# commands.
2013-03-16 19:13:01 +02:00
# The created projects have to be loaded manually
2011-06-19 15:41:06 +03:00
# in Visual Studio/Xcode/Eclipse/...
# to see whether the correct groups have been created.
source_group(Base FILES main.c)
# a sub group
source_group(Base\\Sub1 FILES sub1/foo.c)
# a sub sub group
source_group(Base\\Sub1\\Sub2 FILES sub1/foobar.c)
# a group with empty name
source_group("" FILES foo.c)
2013-03-16 19:13:01 +02:00
# a group, whose name consists only of the delimiter
#should be handled the same way as an empty name
source_group("\\" FILES baz.c)
# a sub sub group whose last component has the same name
# as an already existing group
source_group(Base\\Sub1\\Base FILES bar.c)
# a group without files, is currently not created
source_group(EmptyGroup)
2020-08-30 11:54:41 +02:00
# Forward slashes can be delimiters too
source_group(Base/Nested FILES nested.c)
2017-04-14 19:02:05 +02:00
set(root ${CMAKE_CURRENT_SOURCE_DIR})
2017-04-14 19:02:05 +02:00
set(tree_files_without_prefix ${root}/sub1/tree_bar.c
2017-07-20 19:35:53 +02:00
sub1/tree_baz.c
sub1/../sub1/tree_subdir/tree_foobar.c)
2017-07-20 19:35:53 +02:00
set(tree_files_with_prefix ${root}/tree_prefix_foo.c
tree_prefix_bar.c)
2017-04-14 19:02:05 +02:00
2018-04-23 21:13:27 +02:00
set(tree_files_with_empty_prefix ${root}/tree_empty_prefix_foo.c
tree_empty_prefix_bar.c)
2019-11-11 23:01:05 +01:00
set(tree_files_which_are_actually_directories ${root}
${root}/
${root}/sub1
${root}/sub1/)
2017-04-14 19:02:05 +02:00
source_group(TREE ${root} FILES ${tree_files_without_prefix})
2019-11-11 23:01:05 +01:00
# Should not crash and not add any files - just silently ignore the directories
source_group(TREE ${root} FILES ${tree_files_which_are_actually_directories})
2018-04-23 21:13:27 +02:00
source_group(FILES ${tree_files_with_prefix} PREFIX tree_root/subgroup TREE ${root})
source_group(PREFIX "" FILES ${tree_files_with_empty_prefix} TREE ${root})
2017-04-14 19:02:05 +02:00
add_executable(SourceGroups main.c bar.c foo.c sub1/foo.c sub1/foobar.c baz.c
2018-04-23 21:13:27 +02:00
${tree_files_with_prefix} ${tree_files_without_prefix}
2020-08-30 11:54:41 +02:00
${tree_files_with_empty_prefix} README.txt
nested.c)