如果存在多个文件

时间:2017-12-21 13:49:54

标签: qt cmake resources

我想通过MainTabBarViewController

导出静态库的生成资源文件
target_sources

如果资源只包含单个文件,那么一切正常,但如何为文件列表实现语义qt5_add_resources(RESOURCES "${PROJECT_NAME}.qrc") if(CMAKE_BUILD_TYPE STREQUAL "Debug") qt5_add_resources(RESOURCES "${PROJECT_NAME}_import.qrc") endif() set_property(SOURCE ${RESOURCES} PROPERTY SKIP_AUTOGEN ON) add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS} ${RESOURCES} ${QM_FILES}) if (EXISTS ${RESOURCES}) target_sources(${PROJECT_NAME} INTERFACE ${RESOURCES}) endif()

这种技巧的目的是简化静态库中资源的加载:生成的if(EXISTS ${FILE_LIST})源文件成为生成的可执行文件的一部分,而无需调用qrc_*.cpp。这种方法的缺点是需要重建所有子目标两次。

0 个答案:

没有答案