CMake:生成忽略错误的 Unix Makefile
Posted
技术标签:
【中文标题】CMake:生成忽略错误的 Unix Makefile【英文标题】:CMake: Generate Unix Makefiles which ignore errors 【发布时间】:2019-09-27 19:27:11 【问题描述】:在 Unix Makefile 中,我可以在配方行前加上 -
以忽略将发生的任何错误(如 Errors in Recipes 中所述)。
hello_world: hello_world.cxx
-$(CXX) $(CXXFLAGS) $^ -o $@
我将我的 Makefile 转换为 CMake:
cmake_minimum_required(VERSION 3.0)
project(HelloWorld)
add_executable(hello_world hello_world.cxx)
然后运行cmake
,生成的Makefile看起来很好,除了缺少-
。
是否可以使用 CMake 生成忽略错误的 Unix Makefile(在配方行前加上 -
)?
最好的办法是按目标级别指定它。我知道我可以运行 make -i
来获得相同的行为,但这并不方便。
【问题讨论】:
但是如果编译器报错,导致的可执行文件将不会被创建。您想要的行为的用例是什么? @Tsyvarev 我有一组代码示例:一些有目的地显示编译器错误。因此,当一个人编译所有示例时,我不想停止整个过程。 【参考方案1】:你不能。
make
旨在为用户提供对其运行的命令的精细控制。 CMake
的底层命令应该总是成功的。
作为 hack,您可以生成 makefile 并运行 make --ignore-errors
。
但我建议将您的每个示例都制作成一个单独的项目,然后从外部脚本运行它们。
【讨论】:
以上是关于CMake:生成忽略错误的 Unix Makefile的主要内容,如果未能解决你的问题,请参考以下文章
带有 XCode 目标的 CMake,生成忽略发布配置的调试符号设置
CMake 错误:CMake 无法找到与“Unix Makefiles”对应的构建程序。 CMAKE_MAKE_PROGRAM 未设置