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)

