1 # folders in the msvc projects 2 # mode==flat : headers and ourses in no folders 3 # mode==split : standard behavior of cmake, split headers and sources 4 # mode== <other values" : code is in this folder 5 macro(project_source_group mode sources headers) 6 #message(STATUS ${mode}) 7 #message(STATUS ${sources} ${headers}) 8 if(${mode} MATCHES "flat") 9 source_group("Source Files" Files) 10 source_group("Header Files" Files) 11 source_group("cmake" FILES CMakeLists.txt) 12 else(${mode} MATCHES "flat") 13 if(NOT ${mode} MATCHES "split") 14 source_group("${mode}" FILES ${${sources}} ${${headers}}) 15 endif(NOT ${mode} MATCHES "split") 16 endif(${mode} MATCHES "flat") 17 endmacro(project_source_group mode sources headers) 18 19