gpt4 book ai didi

cmake - 在 INSTALL(TARGETS ...) 中使用 RENAME

转载 作者:行者123 更新时间:2023-12-01 09:38:48 25 4
gpt4 key购买 nike

我对 CMake 相当陌生,所以请保持温和。

我有两个目标都需要被称为 internal以便在运行时进一步使用。现在,当我打电话

set_target_properties(target1 PROPERTIES OUTPUT_NAME internal)
install(TARGETS target1 DESTINATION some/where/target1dir)

set_target_properties(target2 PROPERTIES OUTPUT_NAME internal)
install(TARGETS target2 DESTINATION some/where/target2dir)

调用cmake时,两个target中的一个会被另一个覆盖,所以在build文件夹中执行nmake时,相同的文件被复制到 some/where/target1some/where/target2 .

我考虑使用 RENAME用于将构建文件的临时名称更改为任意名称的选项,但在使用 TARGETS 时不允许使用此选项。关键词。

你知道如何解决这个问题吗?谢谢!

最佳答案

我通过将 CMake 文件添加到重命名文件的源目录中来解决这个问题,使用目标的输出名称和重命名名称配置该文件,然后添加目标属性 POST_INSTALL_SCRIPT它保存配置的 cmake 文件的路径。

由于缺乏有关可用于确定某些目录(例如 devel 文件夹的位置)的变量的知识,其中仍然有很多内容是硬编码的,整个解决方法似乎有点矫枉过正而且很丑陋,所以,如果您知道更好的策略,请告诉我 :)

关于cmake - 在 INSTALL(TARGETS ...) 中使用 RENAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23358083/

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