在 Visual Studio 中,每个源文件的属性页面中都有一个“从构建中排除”选项,可以将其设置为从构建中排除文件,但使其在源代码树中保持可见:
有没有办法用 CMake 设置该特定属性?
我找到了一个 VS_DEPLOYMENT_CONTENT属性(property)并尝试过但没有成功(它似乎没有做任何事情)。
使用该属性的原因主要是为了将文件保留在项目中,以便能够从 Visual Studio 中打开和编辑它。
提前致谢!
最佳答案
不幸的是,我也找不到如何在同一项目中使用 cmake 为某些文件设置“从构建中排除”的答案。现在,我已将所有这些文件添加到由 add_custom_target
创建的目标中。 .
if(MSVC)
add_custom_target(myproj.additional SOURCES ${otherHeaders} ${otherSources})
endif()
这将在解决方案中创建一个额外的项目。该项目中的文件将无法编译,我仍然可以在其中进行编辑和搜索。
另一种选择是设置
HEADER_FILE_ONLY
不应编译的源的属性:if(MSVC)
set_source_files_properties(${otherSources} PROPERTIES
HEADER_FILE_ONLY TRUE
)
endif()
在这种情况下,文件保留在项目中但没有任何标记 - 这些文件的外观与编译的文件没有区别
关于c++ - 让 CMake 为 Visual Studio 中的单个源文件设置 "Exclude From Build"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51780689/