CMake调用shell脚步

最近使用CMake编译项目,其中需要使用第三方库,但是每次在不同电脑上编译时需要手动编译第三方库十分麻烦,因此,我写了一个shell脚步来编译第三方库,同时希望在CMake编译时自动调用这个脚步编译第三方库。有了思路,就需要看CMake如何调用shell命令了。

execute_process

CMake可以通过execute_process调用shell命令,其使用如下:

execute_process(COMMAND <cmd1> [args1...]]
                [COMMAND <cmd2> [args2...] [...]]
                [WORKING_DIRECTORY <directory>]
                [TIMEOUT <seconds>]
                [RESULT_VARIABLE <variable>]
                [OUTPUT_VARIABLE <variable>]
                [ERROR_VARIABLE <variable>]
                [INPUT_FILE <file>]
                [OUTPUT_FILE <file>]
                [ERROR_FILE <file>]
                [OUTPUT_QUIET]
                [ERROR_QUIET]
                [OUTPUT_STRIP_TRAILING_WHITESPACE]
                [ERROR_STRIP_TRAILING_WHITESPACE])

按照上述格式,我写的测试CMakeLists.txt如下:

cmake_minimum_required(VERSION 3.7)

message("Test cmake call shell command")

execute_process(COMMAND echo "Hello")

经测试可正常运行,脚步的调用则与shell命令的调用类似,代码示例

参考

[1] https://cmake.org/cmake/help/v3.7/command/execute_process.html


版权声明:本文为japinli原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。