cmake ignores -D CMAKE_BUILD_TYPE=Debug

c, cmake, ndebug

Solution

Ok, `fgrep -R "CMAKE_BUILD_TYPE"` finally found the problem for me. In some `CMakeLists.txt`-file I found something like that:

SET( CMAKE_BUILD_TYPE Release ... FORCE )

That overrides every user defined parameters (because of the `FORCE`).

What works for me is that:

IF( NOT CMAKE_BUILD_TYPE )
   SET( CMAKE_BUILD_TYPE Release ... FORCE )
ENDIF()

Thank's for your hints!

Problem

I'm just trying to build a cmake project in debug-mode to enable asserts. I tried the following versions: ``` cmake -D CMAKE_BUILD_TYPE:STRING=Debug -L ../../ cmake -DCMAKE_BUILD_TYPE:STRING=Debug -L ../../ cmake -DCMAKE_BUILD_TYPE=Debug -L ../../ ``` Unfortunately none of theese has the desired effect - that `CMAKE_BUILD_TYPE` is set to `Debug` (and therefore the `NDEBUG`-flag is not passed to gcc). Additionally I added `variable_watch(CMAKE_BUILD_TYPE)` to my main `CMakeLists.txt` to check whether the value get's overridden somewhere. But the first output is a `READ_ACCESS` in my main Additionally I added `variable_watch(CMAKE_BUILD_TYPE)` to my main `CMakeLists.txt` and the value there already is `Release`. Does someone have an idea why cmake ignores the configuration? I'm using cmake version 2.8.7.

Original source

Related problems