From 0f7c9ed5ec4d6ddca2846de28af8de649960b5de Mon Sep 17 00:00:00 2001 From: Martin Schultz <Martin.Schultz@Rwth-Aachen.de> Date: Wed, 9 Apr 2014 21:35:45 +0200 Subject: [PATCH] * added cmake macro to group files in msvc --- CMakeLists.txt | 21 +++++++++++++++++++++ CMakeListsStaticInclude.txt | 3 +++ 2 files changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a368785b..f378c504 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,27 @@ # CMAKE_MINIMUM_REQUIRED (VERSION 2.6) +################################################################################ +# Macro to sort acgl into directories +################################################################################ + +MACRO (RECURSE_GROUPS dirname) + FILE(GLOB_RECURSE allfiles "${dirname}/*.*") + SET(ALL_FILES ${ALL_FILES} ${allfiles}) + STRING(REGEX REPLACE ".*/([^/]*)" "\\1" maindir "${dirname}") + + FOREACH(file ${allfiles}) + STRING(REGEX REPLACE "${dirname}/(.*)/[^/]*" "\\1" loopdirname "${file}") + STRING(REGEX REPLACE "/" "\\\\" loopdirname "${loopdirname}") + + IF(NOT "${file}" MATCHES "${dirname}/(.*)/[^/]*") + source_group("${maindir}" FILES ${file}) + ELSE() + source_group("${maindir}\\${loopdirname}" FILES ${file}) + ENDIF() + ENDFOREACH() +ENDMACRO (RECURSE_GROUPS) + ################################################################################ # Global Settings ################################################################################ diff --git a/CMakeListsStaticInclude.txt b/CMakeListsStaticInclude.txt index 64025264..4a4fd580 100644 --- a/CMakeListsStaticInclude.txt +++ b/CMakeListsStaticInclude.txt @@ -12,6 +12,9 @@ FILE(GLOB_RECURSE SOURCE_FILES_CPP "${ACGL_BASE_DIR}/src/*.cpp") FILE(GLOB_RECURSE HEADER_FILES_H "${ACGL_BASE_DIR}/include/*.h") FILE(GLOB_RECURSE HEADER_FILES_HH "${ACGL_BASE_DIR}/include/*.hh") FILE(GLOB_RECURSE HEADER_FILES_HPP "${ACGL_BASE_DIR}/include/*.hpp") +#group files in msvc +RECURSE_GROUPS ("${ACGL_BASE_DIR}/include") +RECURSE_GROUPS ("${ACGL_BASE_DIR}/src") SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_H} ${HEADER_FILES_HH} ${HEADER_FILES_HPP}) SET(SOURCE_FILES ${SOURCE_FILES} ${SOURCE_FILES_C} ${SOURCE_FILES_CC} ${SOURCE_FILES_CPP}) -- GitLab