CMAKE 文件(复制 <src> <dest>) 无法正常工作
CMAKE file(COPY <src> <dest>) not alaways working
所以我在调用命令时遇到了问题:
file( COPY ${src_dir} DESTINATION ${dest_dir} )
一半的时间它工作,然后一半的时间我得到一个错误:
文件COPY无法设置"的权限${dest_dir}/subdir";
我的问题是,在执行之间,我没有更改任何权限或接触这些文件。我更喜欢使用这种方法来复制我们的文件,因为add_custom_command/target
的其他方法似乎对我们不起作用。在最终声明我们的可执行目标之前,我需要复制这些文件。
我甚至愿意使用bash-shell来执行这个复制命令,但它必须在cmake执行的这个特定点上完成。
我一直在想file (COPY...)
是否会抛出一个返回值,如果我得到一个返回,是否有可能重新运行复制命令。有人知道这是否可能吗?
如果遇到这个问题,有人能帮忙吗?
谢谢!
编辑:我已经尝试过使用不同的FILE_PERMISSIONS来看看它是否能正常工作。
您可以使用PERMISSIONS <permissions>
、FILE_PERMISSIONS <permissions>
和DIRECTORY_PERMISSIONS <permissions>
显式设置权限,也可以通过NO_SOURCE_PERMISSIONS
跳过权限设置。
您可以破解ls -laR ${dest_dir}
命令,查看在调用file(COPY ...)
时文件系统中是否发生了任何特殊情况。
所以,我最终所做的只是在while循环中使用这个复制步骤,因为它通常在第2次(如果不是第一次的话(工作。这不是一种优雅的方式,可能只适用于我的情况,但如果有人能想到其他方法,请留下其他答案。
相关文章:
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 呼叫运营商<<临时
- 如何防止clang格式在流运算符调用之间添加换行符<<
- <<操作员在下面的行中工作
- EASTL矢量<向量<int>>连续的
- C - 创建矢量&lt; vector&lt; double&gt;&gt;矩阵具有分配而不是inizializ
- 为什么将此对向量&lt; map&lt; int,int&gt;&gt;中的地图进行更新.失败
- C :对矢量进行排序&lt; struct&gt;(结构有2个整数)基于结构的整数之一
- 明确的专业化“ CheckIntmap&lt;&gt;”实例化
- 什么是模板&lt;&gt;inline bla bla
- 编辑C Qlist&lt; object*&gt; gt;QML代码和一些QML警告中的模型
- eigen :: llt&lt;eigen :: matrixxd&gt;具有不完整的类型
- 错误,包括&lt; ctype&gt;在原子上使用C 11
- std::vector<;uint8_t>;当C++11/14启用时,手动复制而不是调用memcpy
- 如何加入向量&lt; int&gt;到C 中的单个INT
- 是std :: set&lt; std :: future&gt;不可能存在
- 是numeric_limits&lt; int&gt; :: is_modulo从逻辑上矛盾
- opencv 2.4.7在iOS错误背景_segm.hpp #include&lt; list&gt;未找到
- 在修改列表后,std :: list&lt; t&gt; :: end()的值是否会更改
- ///<评论></评论>在Visual Studio中