将已编译的.res文件与CMake链接

时间:2013-07-22 10:16:36

标签: c++ resources cmake

我正在尝试将已编译的.res文件与cmake链接,但我似乎无法找到有关如何执行此操作的详细信息。

我最接近的是

SET(RESOURCE_FILE resource.res)

file(GLOB src_files 
"src/*.h"
"src/*.cpp"
"${RESOURCE_FILE}"
)

add_executable(exename  ${src_files})

然后通过IDE手动链接.res文件(即在visual studio中删除链接器附加依赖项中的.res文件)。这意味着每次更改cmake文件时都必须重置附加依赖项。当然有一个比这更好的方法

原谅我对cmake的经验不足,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:3)

默认的lib扩展名有点粘,但你可以这样做:

# ...
ADD_EXECUTABLE( FOO ${FOO_SRCS} )
TARGET_LINK_LIBRARIES( FOO ${FOO_LIBS} )
SET( FOO_LINKFLAGS ${CMAKE_CURRENT_SOURCE_DIR}/foo.res )
SET_TARGET_PROPERTIES( FOO PROPERTIES LINK_FLAGS ${FOO_LINKFLAGS} )

将在MSVC中显示为附加的[链接器]选项(而不是依赖项)。希望有所帮助。

如果定义了其他LINK_FLAGS,您可能需要先将它们存储在FOO_LINKFLAGS中,然后添加新的。{/ p>