Cmake将命令行参数添加到二进制文件 [英] Cmake add command line argument to binary

查看:25
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆