2014-12-02 55 views
0

标准cmake if()else()语句在cmake执行期间被求值。是否可以通过在CMakeLists.txt中声明它来将if/else放入makefile?CMake if语句在makefile中求值

+1

这将如何帮助您构建软件?你能举一个明确的例子吗? – 2014-12-02 13:36:02

+0

不是直接。但是有很多方法可以表达各种构建时间条件。细节需要。 – Peter 2014-12-02 14:56:43

+0

是的,这是一个x vs y问题。你的问题应该是“我如何在构建时有条件地执行X”而不是上面的问题。 CMakeList.txt中的'if()else()'控制语句仅在生成时运行,但在编译时99%的“if else”实际上只是在生成时间。 – IdeaHat 2014-12-03 14:16:53

回答

0

CMake可以在“进程脚本”和“命令”模式下运行(请参阅documentation了解-P-E标志)。您可以利用这个来创建自定义目标,这会调用cmake来完成所需的任务。

这个目标将会在Makefile中结束,所以你将能够执行它,而不需要在构建目录中运行cmake