0
我通過cmake/CMakeLists.txt創建二進制myBinary
。Cmake將命令行參數添加到二進制文件
我想「包括」我的二進制文件的默認選項。
換句話說,我希望我的二進制與myBinary --option myopt
被稱爲甚至當我就跑./myBinary
我怎麼能這樣做?
我通過cmake/CMakeLists.txt創建二進制myBinary
。Cmake將命令行參數添加到二進制文件
我想「包括」我的二進制文件的默認選項。
換句話說,我希望我的二進制與myBinary --option myopt
被稱爲甚至當我就跑./myBinary
我怎麼能這樣做?
CMake沒有內置的支持你想要你做。
一個解決方案就是像@Youka所說的那樣 - 更改程序的源代碼。
,我有時使用的另一種解決方案是自動生成執行可執行的腳本:
# Create startup script
MACRO(GEN_START_SCRIPT binName)
# Generate content
SET(fileContent
"#!/bin/bash\n"
"\n"
"# This startup script is auto generated - do not modify!\n"
"\n"
"${binName} -a 23 -b 34 -c 976\n"
"\n"
)
# Write to file
SET(fileName ${CMAKE_CURRENT_BINARY_DIR}/${binName}.sh)
FILE(WRITE ${fileName} ${fileContent})
ENDMACRO()
然後調用宏定義你的可執行文件後:
ADD_EXECUTABLE(myBinary file1.c file.2)
GEN_START_SCRIPT(myBinary)
當然你也可以添加其他東西的腳本,如環境變量等
不是CMake的工作,更改您的程序源代碼,以設置默認值時,參數丟失。 – Youka
我明白了,謝謝。 – DevShark