]> icculus.org git repositories - taylor/freespace2.git/blob - cmake/CreateSourceGroups.cmake
organize source files in folders for Visual Studio
[taylor/freespace2.git] / cmake / CreateSourceGroups.cmake
1 macro(CreateSourceGroups)\r
2   foreach(F ${ARGN})\r
3         get_filename_component(PARENT_DIR "${F}" PATH)\r
4 \r
5         # remove absolute path and change /'s to \\'s\r
6         string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" GROUP "${PARENT_DIR}")\r
7         string(REPLACE "/" "\\" GROUP "${GROUP}")\r
8 \r
9         # group into "Source Files" or "Header Files"\r
10         if (${GROUP} MATCHES "^src")\r
11           string(REGEX REPLACE "^src\\\\" "" GROUP "${GROUP}")\r
12           set(GROUP "Source Files\\${GROUP}")\r
13         elseif (${GROUP} MATCHES "^include")\r
14           string(REGEX REPLACE "^include\\\\" "" GROUP "${GROUP}")\r
15           set(GROUP "Header Files\\${GROUP}")\r
16         endif()\r
17 \r
18         source_group("${GROUP}" FILES "${F}")\r
19   endforeach()\r
20 endmacro()\r