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
Visual studio Can';不要让CMake属性附加\u清理\u文件删除简单文件_Visual Studio_Cmake - Fatal编程技术网

Visual studio Can';不要让CMake属性附加\u清理\u文件删除简单文件

Visual studio Can';不要让CMake属性附加\u清理\u文件删除简单文件,visual-studio,cmake,Visual Studio,Cmake,我的构建系统手动从其他系统生成一些文件。它正在使用Visual Studio 2015和CMake 3.11.4。它使用ADD\u CUSTOM\u TARGET调用一些内部脚本。这些脚本最终创建了一个包含时间戳的文件,当文件生成时,该文件将在以后仅用于生成需要的文件 我希望在清理解决方案时(在Visual Studio中,“构建”->“清理解决方案”)删除包含时间戳的文件。我尝试添加一些CMake说明: SET_TARGET_PROPERTIES( MY_TARGET PROPERTIES A

我的构建系统手动从其他系统生成一些文件。它正在使用Visual Studio 2015和CMake 3.11.4。它使用
ADD\u CUSTOM\u TARGET
调用一些内部脚本。这些脚本最终创建了一个包含时间戳的文件,当文件生成时,该文件将在以后仅用于生成需要的文件

我希望在清理解决方案时(在Visual Studio中,“构建”->“清理解决方案”)删除包含时间戳的文件。我尝试添加一些CMake说明:

SET_TARGET_PROPERTIES( MY_TARGET PROPERTIES ADDITIONAL_CLEAN_FILES "C:/dev/build/generated.timestamp" )
SET_PROPERTY( TARGET MY_TARGET APPEND PROPERTY ADDITIONAL_CLEAN_FILES "C:/dev/build/generated.timestamp" ) 
SET_PROPERTY( GLOBAL APPEND PROPERTY ADDITIONAL_CLEAN_FILES "C:/dev/build/generated.timestamp" )
SET_DIRECTORY_PROPERTIES( PROPERTIES ADDITIONAL_CLEAN_FILES "C:/dev/build/generated.timestamp" )
但在我清理时,没有一个文件会被删除


这可行吗?如果可行,我做错了什么?

从属性描述中可以看出:“此属性仅适用于忍者和Makefile生成器。其他生成器会忽略它。”。这意味着该属性不适用于Visual Studio。@Tsyvarev:好的,我完全没有注意到。你知道有没有其他选择吗?不,我不知道Visual Studio有没有其他选择。实际上,在研究如何在没有CMake的情况下为VisualStudio设置干净的文件时,我发现它与
附加的\u clean\u文件
语义非常相似。看起来很奇怪,CMake开发人员没有为VisualStudio实现
附加的\u CLEAN\u文件。