summaryrefslogtreecommitdiffstats
path: root/Tests/SourceGroups/CMakeLists.txt
blob: 2bc511d25ab86d2a0a6a531e78f57dc15123c0c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
cmake_minimum_required (VERSION 2.6)
project(SourceGroups)

# We need ansi C support, otherwise it doesn't build e.g. on HP-UX:
# main.c", line 3: error 1705: Function prototypes are an ANSI feature.
IF(CMAKE_ANSI_CFLAGS)
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
ENDIF(CMAKE_ANSI_CFLAGS)


# this is not really a test which can fail
# it is more an example with several source_group() 
# commands.
# The created projects have to be loaded manually 
# 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)

# 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)


add_executable(SourceGroups main.c bar.c foo.c sub1/foo.c sub1/foobar.c baz.c)