CMake + Qt并让AUTORCC / RCC使用CMake中定义的变量

时间:2020-08-27 22:03:49

标签: qt cmake qml

我正在使用最新的CMake生成Xcode 11项目,以成功构建Qt Quick 2应用程序,我希望组织我的qml文件并允许将其移动到项目文件夹上方的文件夹中以进行重用。为此,我在CMake中设置了一个变量,并希望引用qrc文件以从该目录导入qml文件,但不知道如何在rcc命令中使用CMake变量。

在根目录下导入的CMake CMakeUtil.in文件中,如下设置变量QML_RESOURCE_DIR

SET(QML_RESOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/qt/qml")

然后我要做的是将qrc文件设置为:

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
        <file alias="CustomBevel.qml">${QML_RESOURCE_DIR}/CustomBevel.qml</file>
        <file alias="CustomButton.qml">${QML_RESOURCE_DIR}/CustomButton.qml</file>        
    </qresource>
</RCC>

但这会导致错误

make: *** No rule to make target `/Users/project/apps/app5//CustomBevel.qml', needed by `/Users/project/build/apps/app5/EWIEGA46WW/qrc_qml.cpp'.  Stop.
Command /bin/sh failed with exit code 2

我注意到//似乎表明${QML_RESOURCE_DIR}可能已转换为null。我尝试了$QML_RESOURCE_DIR$(QML_RESOURCE_DIR)并得到了相同的结果。我找不到有关如何将CMake变量传递到RCC的任何信息。我确实看到了RCC的选项,但没有看到有关如何从CMAKE设置基本AUTORCC / RCC目录的文档。可能吗?

0 个答案:

没有答案