在自定义命令中调用找到的可执行文件的正确方法?

染色质

我说我的电脑上有一个程序 C:/Tools/generate_v23_debug.exe

我有一个FindGenerate.cmake文件,它使CMake可以找到可执行文件的确切路径。

因此,在我的CMake代码中,我这样做:

find_program(Generate)
if (NOT Generate_FOUND)
    message(FATAL_ERROR "Generator not found!")

因此,CMake已找到可执行文件。现在,我想在自定义命令语句中调用此程序。我应该使用COMMAND Generator还是COMMAND ${GENERATOR_EXECUTABLE}两者都会做同一件事吗?是一个比另一个更好的选择吗?name_EXECUTABLE是CMake定义的变量(不在FindGenerate.cmake文件中),还是我正在查看的其他示例代码的特定内容?COMMAND Generator扩展到正确的路径吗?

add_custom_command(
    OUTPUT blahblah.txt
    COMMAND Generator inputfile1.log
    DEPENDS Generator
)
ComicSansMS

find_program将其结果存储到作为第一个参数给出的变量中。您可以通过插入一些调试输出来验证这一点:

find_program(GENERATOR Generate)
message(${GENERATOR})

请注意,find_program没有设置超出任何其他变量。特别是,您提到Generate_FOUNDGENERATOR_EXECUTABLE在您的问题中,find_program调用都没有隐式介绍这些内容

程序中的第二个错误是使用上的DEPENDS选项add_custom_commandDEPENDS用于在构建时对目标间的依赖关系进行建模,而不用于操纵CMakeLists中的控制流。例如,其他定制命令可以出现DEPEND在命令(blahblah.txt的输出上,但是定制命令不能出现DEPEND在先前查找操作的结果上。

一个有效的示例可能看起来像这样:

find_program(GENERATOR Generate)
if(NOT GENERATOR)
    message(FATAL_ERROR "Generator not found!")
endif()

add_custom_command(
    OUTPUT blahblah.txt
    COMMAND ${GENERATOR} inputfile1.log
)

PS:您问过为什么问题中的代码示例格式不正确。您已正确缩进了所有内容,但在普通文本和代码段之间需要附加的换行符。我相应地编辑了您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在自定义命令中调用找到的可执行文件的正确方法?

来自分类Dev

如何直接用名称调用终端中的自定义可执行文件或脚本?

来自分类Dev

可执行文件中定义的自定义配置部分

来自分类Dev

Linux中的自定义可执行文件“打开方式”如何工作?

来自分类Dev

Ubuntu 18.04 使用命令为 ~/Desktop 中保存的可执行文件设置自定义图标

来自分类Dev

运行自定义可执行文件,QProcess立即退出,退出代码为1

来自分类Dev

运行gud-gdb时如何自定义可执行文件的名称

来自分类Dev

使用自定义根目录启动可执行文件

来自分类Dev

将自定义链接器可执行文件指定为 g++

来自分类Dev

如何将自定义文件类型与自定义可执行文件相关联?

来自分类Dev

检查命令是否在PATH /可执行文件中

来自分类Dev

可执行文件库中的strace'open'调用

来自分类Dev

从`coffee`可执行文件中调用函数

来自分类Dev

计算可执行文件中的函数调用次数

来自分类Dev

从linux可执行文件中调用函数

来自分类Dev

在Cabal中定义未安装的可执行文件

来自分类Dev

在打开文件时使用cxFreeze编译的python可执行文件打开自定义文件类型

来自分类Dev

从可执行文件调用函数

来自分类Dev

如何为由Install4J生成的Windows可执行文件定义自定义URI方案

来自分类Dev

运行自定义编译的可执行文件将返回“没有此类文件或目录”

来自分类Dev

找到可执行文件的路径并将可执行文件存储在一个变量中

来自分类Dev

调用可执行文件并在python中获取输出的最佳方法

来自分类Dev

运行gud-gdb时如何自定义可执行文件名称

来自分类Dev

具有提升的自定义操作的提升的安装程序不会提升可执行文件

来自分类Dev

具有提升的自定义操作的提升的安装程序不会提升可执行文件

来自分类Dev

为什么在 .sh 文件中调用可执行文件后无法运行脚本命令?

来自分类Dev

正确的方法来构建python可执行文件(在wxWidgets中),以便可以从另一个wxWidgets应用程序中调用它?

来自分类Dev

Windows 8使用“ where”命令无法在路径中找到可执行文件

来自分类Dev

如何在Mac中找到“打开”命令的可执行文件?

Related 相关文章

  1. 1

    在自定义命令中调用找到的可执行文件的正确方法?

  2. 2

    如何直接用名称调用终端中的自定义可执行文件或脚本?

  3. 3

    可执行文件中定义的自定义配置部分

  4. 4

    Linux中的自定义可执行文件“打开方式”如何工作?

  5. 5

    Ubuntu 18.04 使用命令为 ~/Desktop 中保存的可执行文件设置自定义图标

  6. 6

    运行自定义可执行文件,QProcess立即退出,退出代码为1

  7. 7

    运行gud-gdb时如何自定义可执行文件的名称

  8. 8

    使用自定义根目录启动可执行文件

  9. 9

    将自定义链接器可执行文件指定为 g++

  10. 10

    如何将自定义文件类型与自定义可执行文件相关联?

  11. 11

    检查命令是否在PATH /可执行文件中

  12. 12

    可执行文件库中的strace'open'调用

  13. 13

    从`coffee`可执行文件中调用函数

  14. 14

    计算可执行文件中的函数调用次数

  15. 15

    从linux可执行文件中调用函数

  16. 16

    在Cabal中定义未安装的可执行文件

  17. 17

    在打开文件时使用cxFreeze编译的python可执行文件打开自定义文件类型

  18. 18

    从可执行文件调用函数

  19. 19

    如何为由Install4J生成的Windows可执行文件定义自定义URI方案

  20. 20

    运行自定义编译的可执行文件将返回“没有此类文件或目录”

  21. 21

    找到可执行文件的路径并将可执行文件存储在一个变量中

  22. 22

    调用可执行文件并在python中获取输出的最佳方法

  23. 23

    运行gud-gdb时如何自定义可执行文件名称

  24. 24

    具有提升的自定义操作的提升的安装程序不会提升可执行文件

  25. 25

    具有提升的自定义操作的提升的安装程序不会提升可执行文件

  26. 26

    为什么在 .sh 文件中调用可执行文件后无法运行脚本命令?

  27. 27

    正确的方法来构建python可执行文件(在wxWidgets中),以便可以从另一个wxWidgets应用程序中调用它?

  28. 28

    Windows 8使用“ where”命令无法在路径中找到可执行文件

  29. 29

    如何在Mac中找到“打开”命令的可执行文件?

热门标签

归档