CMake呼叫shell腳步

2021-07-26 05:37:57 字數 889 閱讀 7064

最近使用cmake編譯專案,其中需要使用第三方庫,但是每次在不同電腦上編譯時需要手動編譯第三方庫十分麻煩,因此,我寫了乙個shell腳步來編譯第三方庫,同時希望在cmake編譯時自動呼叫這個腳步編譯第三方庫。有了思路,就需要看cmake如何呼叫shell命令了。

cmake可以通過execute_process呼叫shell命令,其使用如下:

execute_process(command

[args1...]]

[command [args2...]

[...]]

[working_directory ]

[timeout ]

[result_variable ]

[output_variable ]

[error_variable ]

[input_file ]

[output_file ]

[error_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]

cmake呼叫shell的筆記

想用cmake呼叫shell引入一些環境變數,或者編譯鏈。查到了幾種方法 但是無論如何,都在child process裡面執行shell,no intermediate shell is used,沒辦法放棄了。除非把所有shell用cmake寫一遍,但是一旦shell更新,cmake也要更新,這就...

shell腳步攻略 1

echo命令 雙引號中不能放入shell中起作用的字元,如 用來執行歷史命令中的某一條,如 30 表示執行第三十條命令 例子詳解 echo hello world echo e 1 t2 t3 echo path 單引號,裡面的字元字面輸出,不會進行變數替換 檢視某個程序的環境變數 cat proc...

shell腳步部署 zabbix服務

bin bash echo 關閉防火牆,selinux systemctl stop firewalld setenforce 0 dev null echo 同步系統時間 ntpdate pool.ntp.org echo 寫入阿里yum源 安裝mysql,zabbix echo 正在安裝mysq...