【发布时间】:2015-11-05 09:17:30
【问题描述】:
我想在我的 CMake 项目中禁用单个 *.cpp 文件的优化。我发现 CMake 提供了以下功能来实现这一点:
SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -O0)
但是,这似乎对我不起作用。我生成了一个 Visual Studio 2013 项目,每当我更改为“Release”或“RelWithDebInfo”时,它仍然会完全优化该文件,如属性下所示。
上面的命令放在哪里重要吗?我有多个 cmake 文件分布在整个项目中。我将上面的命令直接放在 cmake 文件中,其中 *.cpp 文件被添加到项目中。
或者有没有其他方法告诉 CMake 这个文件根本不应该得到优化?
【问题讨论】:
-
它应该可以工作。该命令应该放在同一个 cmake 文件中,其中调用了
add_executable()/add_library()。另请参阅set_source_files_properties 的文档 -
这会将 -O0 附加到编译选项中,但如果编译是发布版,您最终不会在命令行上同时出现 -O0 和 -O3 吗?
标签: c++ windows visual-studio cmake