CMake和Visual Studio资源文件

我正在将使用Visual Studio 2005创建的C ++项目转换为CMake,并且偶然发现了包含在项目中的资源文件的一些问题。

该项目包括一个.rc文件,一堆.ico文件和一个.rc2文件。

常规.rc文件在生成的项目中正常工作,并使用资源编译器。 然而, .ico.rc2文件在被包含时会导致问题,因为在生成的项目中Visual Studio会尝试使用C / C ++编译器对它们进行编译。

我假设这些文件包含在.rc文件中,所以它可能不会将它们包含在CMakeLists.txt文件中,但是因为显然可以将它们列在项目中(它们在原始项目中可见)我想这样做,以便生成的项目的用户可以看到正在使用这些文件。

在CMake中处理这些额外VS资源文件的正确方法是什么?


尝试set_source_files_properties(your.ico your.rc2 PROPERTIES LANGUAGE RC)


默认情况下,它不应该对这些文件做任何事情。 源文件属性LANGUAGE应该为空,因此应该通过文件类型检查文件的操作。 这不应该是任何事情,因为它不应该编译。

检查你的CMakeLists.txt是否包含一个与该属性混淆的set_source_files_properties命令。

如果你想对文件做些什么,下面是两种做事情的方法:

使用add_custom_target,您可以在构建项目时添加它们并为它们运行自定义命令。 承认文件已经改变。

使用configure_file,如果需要,您可以轻松将它们复制到构建目录。 用COPYONLY标志。

链接地址: http://www.djcxy.com/p/9991.html

上一篇: CMake and Visual Studio resource files

下一篇: Build Phase Tab Hidden or Missing