+# Get a relative list of include files.\r
+FILE(GLOB_RECURSE FMS_INC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} include/*.h)\r
+\r
+# Create source groups for all sources and includes, in their original directory structure.\r
+FOREACH(SRC ${FMS_SRC} ${FMS_INC})\r
+ STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")\r
+ STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")\r
+ STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")\r
+ IF(REL_DIR)\r
+ STRING(REPLACE "/" "\\" REL_DIR "${REL_DIR}")\r
+ SOURCE_GROUP(${REL_DIR} FILES ${SRC})\r
+ ELSE(REL_DIR)\r
+ SOURCE_GROUP(Files FILES ${SRC})\r
+ ENDIF(REL_DIR)\r
+ENDFOREACH(SRC)\r
+\r