CMake:从外部脚本运行可执行文件

ozxc1zmp  于 2023-10-20  发布在  其他
关注(0)|答案(2)|浏览(165)

所以我有一个bash脚本,它用CMake构建了我的项目,我想在构建之后运行这个程序。问题是,可执行文件的名称和路径可能会根据CMakeLists.txt而改变。有没有一种方法可以从外部脚本中获取上一次构建的可执行文件的位置?我不想硬编码。
我试着在网上搜索IDE的功能,但什么也找不到。

a1o7rhls

a1o7rhls1#

最后,我使用cmake --build --target help获取所有目标并grepped可执行目标的名称。只要我不在CMakeLists.txt中手动更改它,我就可以从中猜测可执行文件的路径。不是最好的解决方案,但它足够满足我的需求。

mu0hgdu0

mu0hgdu02#

至少有两种方法:

  • 在CMakeLists.txt文件中,编写一个自定义目标,将$<TARGET_FILE:tgt>的值回显到一个文件中(或者回显到一个特定于$<CONFIG>的文件(使用$<CONFIG>),或者满足于这样一种情况,即文件被覆盖为您上次构建的任何需要更新该目标的配置(实际上不是一个很好的场景,但对您的脚本来说更简单))
  • 只是把你的目标文件在一个更简单的位置。请参阅How do I make CMake output into a 'bin' dir?(使用CMAKE_RUNTIME_OUTPUT_DIRECTORY,多配置生成器仍将向路径附加一个特定于路由器的部分)。

相关问题