从每个目标目录到公共资源目录的符号链接

时间:2016-10-07 18:24:09

标签: cmake

我需要创建指向目录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,我已经有很长的目标列表可供选择,这使得它很难使用。

1 个答案:

答案 0 :(得分:1)

答案是双重的:

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

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

  3. 你的第二个担忧可能是误解。 SELECT t.v.value('@href','nvarchar(max)') as [URL Local], t.v.value('@tppabs','nvarchar(max)') as [URL Site] FROM @htmlXML.nodes('div[5]/span/a[1]') as t(v) 不会添加新目标,只有custom_command