【问题标题】:Symbolic links from each target dir to common resources dir从每个目标目录到公共资源目录的符号链接
【发布时间】:2016-10-07 18:24:09
【问题描述】:

我需要创建指向目录common_resources 的符号链接,该目录包含纹理、字体、3D 模型、着色器,位于我的CMAKE_SOURCE_DIR 中。我必须将这样的链接放入我编译的所有二进制目标的工作目录(约 50 个目录)中。

我可以通过将这个 ADD_CUSTOM_TARGET 添加到每个子文件夹来一个一个地完成

ADD_CUSTOM_TARGET( common_resources ALL  COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR}/common_resources ${CMAKE_CURRENT_BINARY_DIR}/common_resources )

但我不想这样做,因为:

  1. 我不想编辑所有那些CMakeList.txt 文件和
  2. 我不想无缘无故地创建这么多自定义目标。我使用 Code::Blocks IDE,而且我已经有很长的目标列表可供选择,这使得使用起来很困难。

【问题讨论】:

    标签: cmake


    【解决方案1】:

    答案有两个:

    1. 编写一个封装自定义命令的函数。

    2. 您必须自动遍历所有子目录,请参阅https://stackoverflow.com/a/7788165/2799037 如何执行此操作。为每个子目录调用你的函数。

    您的第二个担忧可能是一种误解。 custom_command 不添加新目标,即仅custom_target

    【讨论】:

    • 谢谢,我不知道如何使用custom_command。顺便提一句。你知道是否有可能摆脱cmake默认生成的所有target/fasttarget
    猜你喜欢
    • 2014-04-10
    • 2020-11-10
    • 2013-07-28
    • 1970-01-01
    • 2022-12-21
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多