我只是想在调试模式下构建一个 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
标志没有传递给 gcc)。
另外,我在我的主要 CMakeLists.txt
中添加了 variable_watch(CMAKE_BUILD_TYPE)
来检查是否有地方覆盖了该值。但第一个输出是我的主要文件中的 READ_ACCESS
。我还在我的主要 CMakeLists.txt
中添加了 variable_watch(CMAKE_BUILD_TYPE)
,并且那里的值已经是 Release
了。
有人知道为什么 CMake 忽略了配置吗?
我正在使用 cmake 版本 2.8.7。
CMakeCache.txt
文件的内容吗? - Drew McGowenCMAKE_BUILD_TYPE=Release
- 即使手动更改此设置并重新运行cmake
也没有效果(CMakeCache.txt
中的值会被覆盖)。 - ma0hoCMAKE_BUILD_TYPE=Debug
没有产生应有的效果,而是我无法将CMAKE_BUILD_TYPE
设置为Debug
。 - ma0ho