Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 如何检索目标';相对运行时目标目录?_Cmake_Target_Installation Path - Fatal编程技术网

Cmake 如何检索目标';相对运行时目标目录?

Cmake 如何检索目标';相对运行时目标目录?,cmake,target,installation-path,Cmake,Target,Installation Path,假设我创建了一个目标,如下所示: add_executable(app main.c) install(TARGETS app RUNTIME DESTINATION some/path} ) 如何使用生成器表达式检索some/path $返回带有安装前缀的完整绝对路径 $执行相同的操作并包含文件名 $只返回文件名,不返回路径 我错过了什么?是否有包含此信息的属性?既没有生成器表达式,也没有反映特定目标的安装路径的属性。列出的所有生成器表达式都反映了有关目标的生成位置的信息 有$生

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

add_executable(app main.c)
install(TARGETS app
    RUNTIME DESTINATION some/path}
)
如何使用生成器表达式检索
some/path

  • $
    返回带有安装前缀的完整绝对路径
  • $
    执行相同的操作并包含文件名
  • $
    只返回文件名,不返回路径

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

既没有生成器表达式,也没有反映特定目标的安装路径的属性。列出的所有生成器表达式都反映了有关目标的生成位置的信息

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

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