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 5macro(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") 17endmacro(project_source_group mode sources headers) 18 19