From d40eebd89df7d0a9bfa12d12c7a11d61e8cfec1a Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Fri, 9 Mar 2012 14:28:21 -0500 Subject: Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator. Make the option default to on, for platforms where CMake passes all tests with the ninja generator. This is currently only Linux. --- Source/CMakeLists.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index eb4327c..18f9b8b 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -353,7 +353,18 @@ IF (WIN32) ENDIF(NOT UNIX) ENDIF (WIN32) -if(NOT WIN32) +# turn on Ninja by default +set(_CMAKE_DEFAULT_NINJA_VALUE TRUE) +# turn it off for platforms where it does not pass all the +# tests +if(WIN32 OR APPLE) + SET(_CMAKE_DEFAULT_NINJA_VALUE FALSE) +endif() +SET(CMAKE_ENABLE_NINJA ${_CMAKE_DEFAULT_NINJA_VALUE} CACHE BOOL + "Enable the ninja generator for CMake. currently not fully working for Windows or OSX") +MARK_AS_ADVANCED(CMAKE_ENABLE_NINJA) +IF(CMAKE_ENABLE_NINJA) + MESSAGE(STATUS "Enable ninja generator.") SET(SRCS ${SRCS} cmGlobalNinjaGenerator.cxx cmGlobalNinjaGenerator.h @@ -368,7 +379,9 @@ if(NOT WIN32) cmNinjaUtilityTargetGenerator.h ) ADD_DEFINITIONS(-DCMAKE_USE_NINJA) -endif() +ELSE() + MESSAGE(STATUS "Disable ninja generator.") +ENDIF() # create a library used by the command line and the GUI ADD_LIBRARY(CMakeLib ${SRCS}) -- cgit v0.12