gpt4 book ai didi

cmake - 如何检索目标的相对运行时目标目录?

转载 作者:行者123 更新时间:2023-12-05 07:51:25 26 4
gpt4 key购买 nike

假设我创建了一个目标如下:

add_executable(app main.c)
install(TARGETS app
RUNTIME DESTINATION some/path}
)

如何检索 some/path用生成器表达式?

  • $<TARGET_FILE:tgt>返回带有安装前缀的完整绝对路径
  • $<TARGET_FILE_DIR:tgt>做同样的事情并包括文件名
  • $<TARGET_FILE_NAME:tgt>只返回文件名,不返回路径

我错过了什么?是否有包含此信息的属性?

最佳答案

既没有生成器表达式也没有属性反射(reflect)特定目标的安装路径。您列出的所有生成器表达式都反射(reflect)了有关目标的构建位置的信息。

$<INSTALL_PREFIX>生成器表达式,但它仅在导出目标时可用(install(EXPORT))并且仅在此命令调用中可用。

所以,如果你需要某个目标的目标目录,你应该手动编写它。或者将其存储在某个目标的属性中并使用 $<TARGET_PROPERTY:tgt,prop>生成器表达式。 [请注意,如果您的属性反射(reflect)相对 路径,则此类生成器表达式不能与install 一起使用命令,因为此命令只接受包含绝对路径的生成器表达式。]

关于cmake - 如何检索目标的相对运行时目标目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35108277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com