|
|
1
3
更新时间: 测试表明,最初建议的方法至少在某些平台上没有达到预期效果。使用包装脚本似乎是一种可行的方法。
如果您确实想强制特定编译器并绕过CMake的编译器检查
请注意,当使用
要使用工具链文件,请使用
正如@Tsyvarev的评论中提到的那样,使用包装脚本可能是处理此问题的最佳方法。包装器脚本只需要将调用转发到通常的编译器命令,而不需要指定路径。然后,您负责确保在进行构建时命令将位于您的PATH上。在Windows上,像以下这样简单的东西应该足以作为包装批处理文件(未经测试):
现在,您可以控制VisualStudio编译器或Fortify是否完全由构建看到的PATH调用。就我个人而言,我认为这有点脆弱,但这正是你所要求的。;) 作为一个更健壮的替代方案,是否可以使用两个完全独立的构建?如果是这样的话,那么我建议你把它作为一个更好的选择。使用默认的Visual Studio编译器正常构建一个,对于另一个构建,使用工具链文件指向Fortify编译器,以使CMake绕过其编译器检查。这样,您就不会依赖于构建环境的特定设置方式。 |