在qmake中包含其他项目文件

时间:2015-09-16 14:05:49

标签: c++ qt qmake

我喜欢将Qt项目文件包含到另一个Qt项目中。 长话短说我有一个制作项目和一个测试项目。它们彼此分开以保持生产代码的清洁。

我尝试使用通配符添加标头和源,但它不是递归的。

function GridCtrl($log, $scope, GridData, $q) {

之后我写了一个qmake逻辑来过滤文件。

SOURCES += path\to\production\*.cpp

编译完.pro文件时,邮件看起来很好:

QT += core
QT -= gui

TARGET = qt_test
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app

SOURCES = main.cpp

message("Fetching production code")

win32:PRODUCION_FILES = $$system(dir path\to\production /s /b)

for(a, PRODUCION_FILES) {

    IS_HEADER = $$find( a, .h$ )
    count( IS_HEADER, 1 ) {
        HEADERS += $$a
    }

    IS_CPP = $$find( a, .cpp$ )
    count( IS_CPP, 1 ) {
        SOURCES += $${a}
    }

    IS_FORM = $$find( a, .ui$ )
    count( IS_FORM, 1 ) {
        FORMS += $${a}
    }
}
message("Production code fetched!")
message(Headers: $$HEADERS)
message(Sources: $$SOURCES)
message(Forms: $$FORMS)

但不知何故,当我查看QtCreator中的Projects选项卡时,我会在Headers部分看到所有类型的文件(例如cpp和ui,甚至是pro)。

我错过了什么?

我使用Qt 5.4.1在QtCreator 3.5的Win7系统上使用mingw4.9.2 64bit编译。

感谢您的建议和帮助。

谢谢, spiralfuzet

0 个答案:

没有答案