有没有办法用cmake构建目标的两个版本(一个版本和一个调试版)?并且还要为每个目标选择构建配置...(目标是为测试构建调试版本并为正常使用创建一个版本)...但只需要调用一次
虽然原则上可以用CMake做到这一点,但这将是非常痛苦的。
对于Makefile生成器,CMake仅用于提供一种配置,在调用CMake时指定。你应该坚持下去。如果需要并行维护两个构建,请使用两个单独的构建目录,并使用Release配置一个,使用Debug配置一个(请注意,它们仍然可以从同一个源构建!)
如果您担心构建系统的复杂性,请提供自动执行此过程的其他包装脚本。
另外,为什么要仅使用调试版本运行测试?如果可能,您应该始终为所有配置运行所有测试。想想一个带有副作用的assert()
,它掩盖了代码中的错误。只测试调试版本时,永远不会捕获此错误。