diff options
author | Naios <naios-dev@live.de> | 2016-03-16 17:44:35 +0100 |
---|---|---|
committer | Naios <naios-dev@live.de> | 2016-03-18 14:28:01 +0100 |
commit | bf773ccc417b47d01502c8151cea6188e33e16aa (patch) | |
tree | d4c96b408e9f731ae66c313f3a9f81b6b6568aba | |
parent | 03d249f0631c3561070ebbdd7301115507c68876 (diff) |
CMake: Remove the workaround for source groups below CMake 2.8.12
* Set the default option to hierarchical
* Add a new "hierarchical-folders" option which enables folders inside IDE's.
-rw-r--r-- | cmake/macros/GroupSources.cmake | 9 | ||||
-rw-r--r-- | cmake/options.cmake | 4 | ||||
-rw-r--r-- | cmake/showoptions.cmake | 23 |
3 files changed, 12 insertions, 24 deletions
diff --git a/cmake/macros/GroupSources.cmake b/cmake/macros/GroupSources.cmake index 198d8c3e187..f8e252fe41a 100644 --- a/cmake/macros/GroupSources.cmake +++ b/cmake/macros/GroupSources.cmake @@ -10,7 +10,7 @@ macro(GroupSources dir) # Skip this if WITH_SOURCE_TREE is not set (empty string). - if (NOT ${_WITH_SOURCE_TREE} STREQUAL "") + if (NOT ${WITH_SOURCE_TREE} STREQUAL "") # Include all header and c files file(GLOB_RECURSE elements RELATIVE ${dir} *.h *.hpp *.c *.cpp *.cc) @@ -21,7 +21,7 @@ macro(GroupSources dir) if (NOT ${element_dir} STREQUAL "") # If the file is in a subdirectory use it as source group. - if (${_WITH_SOURCE_TREE} STREQUAL "flat") + if (${WITH_SOURCE_TREE} STREQUAL "flat") # Build flat structure by using only the first subdirectory. string(FIND ${element_dir} "/" delemiter_pos) if (NOT ${delemiter_pos} EQUAL -1) @@ -44,3 +44,8 @@ macro(GroupSources dir) endforeach() endif() endmacro() + +if (WITH_SOURCE_TREE STREQUAL "hierarchical-folders") + # Use folders + set_property(GLOBAL PROPERTY USE_FOLDERS ON) +endif() diff --git a/cmake/options.cmake b/cmake/options.cmake index 19615001307..d49393ed745 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -15,6 +15,6 @@ option(USE_SCRIPTPCH "Use precompiled headers when compiling scripts" option(USE_COREPCH "Use precompiled headers when compiling servers" 1) option(WITH_WARNINGS "Show all warnings during compile" 0) option(WITH_COREDEBUG "Include additional debug-code in core" 0) -set(WITH_SOURCE_TREE "no" CACHE STRING "Build the source tree for IDE's.") -set_property(CACHE WITH_SOURCE_TREE PROPERTY STRINGS no flat hierarchical) +set(WITH_SOURCE_TREE "hierarchical" CACHE STRING "Build the source tree for IDE's.") +set_property(CACHE WITH_SOURCE_TREE PROPERTY STRINGS no flat hierarchical hierarchical-folders) option(WITHOUT_GIT "Disable the GIT testing routines" 0) diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake index 110b2f01a64..537544ba10e 100644 --- a/cmake/showoptions.cmake +++ b/cmake/showoptions.cmake @@ -69,27 +69,10 @@ else() message("* Use coreside debug : No (default)") endif() -if( WITH_SOURCE_TREE STREQUAL "flat" OR WITH_SOURCE_TREE STREQUAL "hierarchical" ) - # TODO: Remove this after Debian 8 is released and set general required version to 2.8.12 - # Debian 7 is shipped with CMake 2.8.9 . But DIRECTORY flag of get_filename_component requires 2.8.12 . - if (NOT CMAKE_VERSION VERSION_LESS 2.8.12) - message("* Show source tree : Yes - ${WITH_SOURCE_TREE}") - set(_WITH_SOURCE_TREE ${WITH_SOURCE_TREE} CACHE INTERNAL "WITH_SOURCE_TREE support enabled.") - else() - message("* Show source tree : No (default)") - - message("") - message(" *** WITH_SOURCE_TREE - WARNING!") - message(" *** This functionality is ONLY supported on CMake 2.8.12 or higher.") - message(" *** You are running ${CMAKE_VERSION}, which does not have the functions needed") - message(" *** to create a sourcetree - this option is thus forced to disabled!") - message("") - - set(_WITH_SOURCE_TREE "" CACHE INTERNAL "WITH_SOURCE_TREE support disabled.") - endif() +if( NOT WITH_SOURCE_TREE STREQUAL "no" ) + message("* Show source tree : Yes - \"${WITH_SOURCE_TREE}\"") else() - message("* Show source tree : No (default)") - set(_WITH_SOURCE_TREE "" CACHE INTERNAL "WITH_SOURCE_TREE support disabled.") + message("* Show source tree : No") endif() if ( WITHOUT_GIT ) |