【问题标题】:CMAKE - Add default command line arguments to a cmake projectCMAKE - 将默认命令行参数添加到 cmake 项目
【发布时间】:2019-01-02 19:41:53
【问题描述】:

我正在使用 cmake 从头开始​​创建和构建一个 c++ 项目。
可执行文件需要命令行参数
我在Visual studio 中指定它们。

cmake 构建项目时是否可以默认指定它们(例如在我的CmakeLists.txt 中)? 这样我(或其他人)就不需要在每次我第一次构建项目时都指定这些参数(我只想运行项目而不用担心,但如果需要,当然仍然可以在 Visual Studio 中更改它们) ?

【问题讨论】:

  • CMake 的原理是,如果发生变化,它会重新生成解决方案,所以不,您不能手动更改解决方案。仍然不明白可执行文件的命令行参数的链接是什么。
  • 好吧,我必须将参数推送到可执行文件(基本上是端口号),并且在 cmake 已经构建项目(来自调试选项)之后,我在 Visual Studio 中执行此操作。我想要一个在 cmake 构建项目时定义的默认端口号。当我到达 Visual Studio 时,我只需要运行该项目。你更了解我吗? @MatthieuBrucher
  • 我的意思是,我想要实现的就像在解决方案中定义一个默认启动项目(而不是 ALL_BUILD),方法是将其放入 CmakeLists.txtset_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT projectname)
  • 您可以添加config.h 文件(如here),然后向CMakeLists.txt 文件(如here)添加一些附加说明,然后使用config.h 文件中的信息作为默认值。
  • 那么请查看我现在未删除的答案。

标签: c++ visual-studio-2015 cmake


【解决方案1】:

如果您使用的是 CMake 3.13 及更高版本,则可以将 VS_DEBUGGER_COMMAND_ARGUMENTS 属性添加到可执行目标中以指定这些参数。

【讨论】:

  • 这是添加到CmakeLists.txt 的行,以防有人需要: set_target_properties(TargetName PROPERTIES VS_DEBUGGER_COMMAND_ARGUMENTS "arg1 arg2 ... argN")
猜你喜欢
  • 2016-06-08
  • 2011-08-25
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多