使用GYP而不是QMake构建MOC文件?

时间:2012-06-06 17:25:42

标签: qt gyp

通过从QMake中删除moc生成步骤,我不再需要依赖QtCreator。目前我正在使用自定义脚本生成/更新Qt moc文件,然后在eclipse中通过GYP生成makefile。有谁知道如何将moc作为构建规则添加到GYP,以便我可以巩固这一步骤?

目前我已经将脚本作为eclipse内部的构建规则运行,但是我希望通过让GYP生成一个带有moc规则的makefile来避免这种方法,就像QMake那样。

感兴趣的链接:

参与GYP开发Qt: https://groups.google.com/group/gyp-developer/browse_thread/thread/42cfb9902b86d715/b17701d9a6805671?show_docid=b17701d9a6805671

GYP主页: http://code.google.com/p/gyp/

QMake主页: http://qt-project.org/doc/qt-4.8/qmake-manual.html

我目前的moc脚本:

#!/bin/bash
MOC="/path/to/Qt/4.8.1/gcc/bin/moc"
SRC_DIR="/path/to/project"

$MOC $SRC_DIR/SkDebuggerUI.h -o $SRC_DIR/moc_SkDebuggerUI.cpp
$MOC $SRC_DIR/SkQtWidget.h -o $SRC_DIR/moc_SkQtWidget.cpp

1 个答案:

答案 0 :(得分:1)

我有完全相同的问题。我没有在moc脚本中包含单独的步骤,而是将以下行添加到我的.gyp文件中。

'conditions': [
    ['OS=="linux"': {
        'sources': [
            'your other source code files',
            '<!(moc numerickeypad.h -o moc_numerickeypad.cpp && echo moc_numerickeypad.cpp)',
        ],
    }],
],

我没有在其他操作系统上尝试过,但我认为你可以在其他系统上进行类似操作。如果你有更好的方法,请告诉我。