【发布时间】:2014-05-28 09:25:39
【问题描述】:
我只是想在调试模式下构建一个 cmake 项目以启用断言。我尝试了以下版本:
cmake -D CMAKE_BUILD_TYPE:STRING=Debug -L ../../
cmake -DCMAKE_BUILD_TYPE:STRING=Debug -L ../../
cmake -DCMAKE_BUILD_TYPE=Debug -L ../../
不幸的是,这些都没有达到预期的效果——CMAKE_BUILD_TYPE 设置为Debug(因此NDEBUG-flag 没有传递给 gcc)。
此外,我将variable_watch(CMAKE_BUILD_TYPE) 添加到我的主要CMakeLists.txt 以检查值是否在某处被覆盖。但第一个输出是我主要的READ_ACCESS
此外,我将variable_watch(CMAKE_BUILD_TYPE) 添加到我的主要CMakeLists.txt 中,并且那里的值已经是Release。
有人知道为什么 cmake 会忽略配置吗?
我正在使用 cmake 版本 2.8.7。
【问题讨论】:
-
你查看
CMakeCache.txt的内容了吗? -
是的,设置了
CMAKE_BUILD_TYPE=Release- 甚至手动更改此设置然后重新运行cmake也没有效果(CMakeCache.txt中的值再次被覆盖)。 -
不,不是。我的问题不是
CMAKE_BUILD_TYPE=Debug没有它应该有的效果,而是我不能将CMAKE_BUILD_TYPE设置为Debug.. -
我已经清理了构建目录并再次尝试,但也没有任何效果。并且:你是对的。我正在使用 Unix-Makefiles。