[cmake-developers] ninja status

Richard Wackerbarth richard at NFSNet.org
Sun Apr 8 09:33:09 EDT 2012


FYI: Intentionally, Chameleon-00.NFSNet forces the building of CMake to allow, and subsequently use, Ninja.
It does so by placing the following line in the configuration

set(dashboard_cache "CMAKE_ENABLE_NINJA:BOOL=TRUE")

As you can see from the recent dashboards, enabling this option does not produce a version which fails when used with Unix Makefiles.
However, a recent change has broken its ability to configure to use Ninja as the "make" executable (a week ago it was configuring OK).

> Error(s) when configuring the project
> ./Branch.sh: line 84: 67233 Segmentation fault      ${CTEST} -S ${CTEST_CONFIGURATION_FILE} -V

The ...-Ninja- builds use the nightly version of CMake that was produced minutes earlier.

It seems to me that we need to add some simple unit tests for each of the generators.
There should be both a "configure" test and a simple "make" test.
It should be reasonable to run the former even if the latter cannot run because resources are missing.

It is appropriate to have platform sensitive switches to to turn particular generators OFF by default.
When they are forced ON, we could issue a warning, e.g. "The Ninja generator is experimental on this platform"

On Apr 8, 2012, at 7:47 AM, Peter Kümmel wrote:

> On 08.04.2012 14:12, Óscar Fuentes wrote:
>> Peter Kümmel<syntheticpp at gmx.net>  writes:
>> 
>>> I know ninja should not be enabled on other platforms than Linux, and it wasn't,
>>> even with my patch. This was not a try the enable ninja through the backdoor!
>>> 
>>> I've fixed it and changed the message so it could not happen again:
>>> http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=2a081a2b3a3064530fe173a2930828e2232e844b
>> 
>> There is a typo on the patch:
>> 
>>  SET(CMAKE_ENABLE_NINJA ${_CMAKE_DEFAULT_NINJA_VALUE} CACHE BOOL
>> -    "Enable the ninja generator for CMake. On Windows and OSX broken" FORCE)
>> +    "Enable the ninja generator for CMake. On Windows and OSX broken")
>> 
>> [...]
>> 
>>  ELSE()
>> -  MESSAGE(STATUS "Ninja generator disabled, enforce with -DENABLE_NINJA=ON")
>> +  MESSAGE(STATUS "Ninja generator disabled, enforce with -DCMAKE_ENABLE_NINJA=ON")
>> 
>> You mention CMAKE_USE_NINJA on the last message, when it should be
>> CMAKE_ENABLE_NINJA.
>> 
> 
> Thanks, CMAKE_ENABLE_NINJA is the name of the macro.
> 
> Peter
> --
> 
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers




More information about the cmake-developers mailing list