我有这个树结构:
repository/modules/module1
repository/modules/module2
repository/modules/module..
repository/apps/application1
repository/apps/application2
repository/apps/application..
应用程序使用某些模块的地方。
现在,我想将一些资源放在一个模块中(就像一个非常丰富多彩的图标在一个被多个应用程序使用的小部件中)但是.. 出了点问题。
如果我只使用模块 CMakeLists.txt 内部:
set(${MODULE_NAME}_RCS
colors.qrc
)
...
qt4_add_resources (${MODULE_NAME}_RHEADERS ${${MODULE_NAME}_RCS})
没有qrc_colors.cxx在任何地方创建。所以我尝试添加:
ADD_EXECUTABLE (${MODULE_NAME}
${${MODULE_NAME}_RHEADERS}
)
但是..我收到这个奇怪的错误:
CMake Error at repo/modules/ColorModule/CMakeLists.txt:51 (ADD_EXECUTABLE):
add_executable cannot create target "ColorModule" because another
target with the same name already exists. The existing target is a static
library created in source directory
"repo/modules/ColorModule". See documentation for
policy CMP0002 for more details.
(我当然改变了错误的路径)
所以..不知道该怎么想,因为我对cmake和qt都是新手..
我可以尝试什么?
编辑:
如果我在 add_library 命令中添加${MODULE_NAME}_RHEADERS
and ,则会创建qrc_colors.cxx但它在 repository/modules/module1/built 中,而不是在应用程序构建目录中复制...${MODULE_NAME}_RCS