Cmake将命令行参数添加到二进制文件 [英] Cmake add command line argument to binary
本文介绍了Cmake将命令行参数添加到二进制文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我通过cmake/CMakeLists.txt创建二进制文件myBinary
。
我希望在我的二进制文件中"包含"默认选项。
换句话说,我希望使用myBinary --option myopt
调用我的二进制文件,即使我只运行./myBinary
我如何才能做到这一点?
推荐答案
CMake没有为您要执行的操作提供内置支持。
一种解决方案是按照@Youka所说的做--更改程序的源代码。
我有时使用的另一个解决方案是自动生成执行可执行文件的脚本:
# Create startup script
MACRO(GEN_START_SCRIPT binName)
# Generate content
SET(fileContent
"#!/bin/bash
"
"
"
"# This startup script is auto generated - do not modify!
"
"
"
"${binName} -a 23 -b 34 -c 976
"
"
"
)
# 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将命令行参数添加到二进制文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文