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