Commit 66a35531 authored by Oswald Buddenhagen's avatar Oswald Buddenhagen

make library and plugin dependencies declarative

instead of directly including the respective pri files in
*_dependencies.pri, set variables and let qtcreator.pri resolve
them to includes.
this will allow us to re-use the dependency info elsewhere.

Change-Id: Iaa33924e428ac0409660f42df2f98a7978452d3e
Reviewed-by: default avatarEike Ziller <eike.ziller@digia.com>
Reviewed-by: default avatarTobias Hunger <tobias.hunger@digia.com>
Reviewed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@digia.com>
parent c320f65d
......@@ -191,3 +191,31 @@ qt:greaterThan(QT_MAJOR_VERSION, 4) {
QBSFILE = $$replace(_PRO_FILE_, \\.pro$, .qbs)
exists($$QBSFILE):OTHER_FILES += $$QBSFILE
# recursively resolve plugin deps
done_plugins =
for(ever) {
isEmpty(QTC_PLUGIN_DEPENDS): \
break()
done_plugins += $$QTC_PLUGIN_DEPENDS
for(dep, QTC_PLUGIN_DEPENDS) {
include($$PWD/src/plugins/$$dep/$${dep}_dependencies.pri)
LIBS += -l$$qtLibraryName($$QTC_PLUGIN_NAME)
}
QTC_PLUGIN_DEPENDS = $$unique(QTC_PLUGIN_DEPENDS)
QTC_PLUGIN_DEPENDS -= $$unique(done_plugins)
}
# recursively resolve library deps
done_libs =
for(ever) {
isEmpty(QTC_LIB_DEPENDS): \
break()
done_libs += $$QTC_LIB_DEPENDS
for(dep, QTC_LIB_DEPENDS) {
include($$PWD/src/libs/$$dep/$${dep}_dependencies.pri)
LIBS += -l$$qtLibraryName($$QTC_LIB_NAME)
}
QTC_LIB_DEPENDS = $$unique(QTC_LIB_DEPENDS)
QTC_LIB_DEPENDS -= $$unique(done_libs)
}
LIBS *= -l$$qtLibraryName(Aggregation)
LIBS *= -l$$qtLibraryName(CPlusPlus)
include(../languageutils/languageutils.pri)
QTC_LIB_NAME = CPlusPlus
QTC_LIB_DEPENDS += \
languageutils
INCLUDEPATH *= $$IDE_SOURCE_TREE/src/libs/3rdparty
include(extensionsystem_dependencies.pri)
LIBS *= -l$$qtLibraryName(ExtensionSystem)
include(../aggregation/aggregation.pri)
QTC_LIB_NAME = ExtensionSystem
QTC_LIB_DEPENDS += \
aggregation
LIBS *= -l$$qtLibraryName(GLSL)
include(../utils/utils.pri)
QTC_LIB_NAME = GLSL
QTC_LIB_DEPENDS += \
utils
LIBS *= -l$$qtLibraryName(LanguageUtils)
include(../utils/utils.pri)
QTC_LIB_NAME = LanguageUtils
QTC_LIB_DEPENDS += \
utils
LIBS *= -l$$qtLibraryName(QmlDebug)
LIBS *= -l$$qtLibraryName(QmlEditorWidgets)
include(../qmljs/qmljs.pri)
include(../utils/utils.pri)
QTC_LIB_NAME = QmlEditorWidgets
QTC_LIB_DEPENDS += \
qmljs \
utils
QT *= declarative
LIBS *= -l$$qtLibraryName(QmlJS)
include(../utils/utils.pri)
include(../languageutils/languageutils.pri)
QTC_LIB_NAME = QmlJS
QTC_LIB_DEPENDS += \
utils \
languageutils
include(ssh_dependencies.pri)
LIBS *= -l$$qtLibraryName(QtcSsh)
include(utils_dependencies.pri)
LIBS *= -l$$qtLibraryName(Utils)
LIBS *= -l$$qtLibraryName(zeroconf)
include(analyzerbase_dependencies.pri)
LIBS *= -l$$qtLibraryName(AnalyzerBase)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../libs/cplusplus/cplusplus.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/remotelinux/remotelinux.pri)
include(../../plugins/cpptools/cpptools.pri)
QTC_PLUGIN_NAME = AnalyzerBase
QTC_LIB_DEPENDS += \
cplusplus
QTC_PLUGIN_DEPENDS += \
coreplugin \
projectexplorer \
remotelinux \
cpptools
include(android_dependencies.pri)
LIBS *= -l$$qtLibraryName(Android)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/debugger/debugger.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/qt4projectmanager/qt4projectmanager.pri)
QTC_PLUGIN_NAME = Android
QTC_PLUGIN_DEPENDS += \
coreplugin \
debugger \
projectexplorer \
qt4projectmanager
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/qtsupport/qtsupport.pri)
QTC_PLUGIN_NAME = AutotoolsProjectManager
QTC_PLUGIN_DEPENDS += \
projectexplorer \
coreplugin \
cpptools \
qtsupport
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/vcsbase/vcsbase.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = Bazaar
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
coreplugin \
vcsbase
include(../../libs/utils/utils.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = BinEditor
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
texteditor \
coreplugin
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/texteditor/texteditor.pri)
QTC_PLUGIN_NAME = Bookmarks
QTC_PLUGIN_DEPENDS += \
projectexplorer \
coreplugin \
texteditor
include(../../libs/utils/utils.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
QTC_PLUGIN_NAME = ClassView
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
coreplugin \
cpptools \
projectexplorer \
texteditor
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/vcsbase/vcsbase.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = ClearCase
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
coreplugin \
vcsbase
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/qtsupport/qtsupport.pri)
QTC_PLUGIN_NAME = CMakeProjectManager
QTC_PLUGIN_DEPENDS += \
projectexplorer \
cpptools \
texteditor \
qtsupport
include(coreplugin_dependencies.pri)
LIBS *= -l$$qtLibraryName(Core)
include(../../libs/extensionsystem/extensionsystem.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = Core
QTC_LIB_DEPENDS += \
extensionsystem \
utils
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = CodePaster
QTC_PLUGIN_DEPENDS += \
texteditor \
coreplugin
TEMPLATE = app
TARGET=cpaster
QTC_LIB_DEPENDS += \
extensionsystem \
utils
include(../../../../qtcreator.pri)
include(../../../rpath.pri)
include(../../../plugins/coreplugin/coreplugin.pri)
CONFIG += console
CONFIG -= app_bundle
QT += network
LIBS *= -L$$IDE_PLUGIN_PATH/QtProject
LIBS *= -L$$IDE_PLUGIN_PATH/QtProject -l$$qtLibraryName(Core)
QMAKE_RPATHDIR *= $$IDE_PLUGIN_PATH/QtProject
DESTDIR=$$IDE_LIBEXEC_PATH
......
include(cppeditor_dependencies.pri)
LIBS *= -l$$qtLibraryName(CppEditor)
include(../../libs/utils/utils.pri)
include(../../libs/cplusplus/cplusplus.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/cpptools/cpptools.pri)
QTC_PLUGIN_NAME = CppEditor
QTC_LIB_DEPENDS += \
utils \
cplusplus
QTC_PLUGIN_DEPENDS += \
texteditor \
coreplugin \
cpptools
include(cpptools_dependencies.pri)
LIBS *= -l$$qtLibraryName(CppTools)
include($$IDE_SOURCE_TREE/src/libs/languageutils/languageutils.pri)
include($$IDE_SOURCE_TREE/src/libs/cplusplus/cplusplus.pri)
include($$IDE_SOURCE_TREE/src/plugins/projectexplorer/projectexplorer.pri)
include($$IDE_SOURCE_TREE/src/plugins/texteditor/texteditor.pri)
include($$IDE_SOURCE_TREE/src/plugins/locator/locator.pri)
include($$IDE_SOURCE_TREE/src/plugins/find/find.pri)
QTC_PLUGIN_NAME = CppTools
QTC_LIB_DEPENDS += \
languageutils \
cplusplus
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
locator \
find
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/vcsbase/vcsbase.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = CVS
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
coreplugin \
vcsbase
include(debugger_dependencies.pri)
LIBS *= -l$$qtLibraryName(Debugger)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/find/find.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../libs/cplusplus/cplusplus.pri)
include(../../libs/utils/utils.pri)
include(../../libs/qmljs/qmljs.pri)
include(../../libs/qmldebug/qmldebug.pri)
include(../../libs/ssh/ssh.pri)
QTC_PLUGIN_NAME = Debugger
QTC_LIB_DEPENDS += \
cplusplus \
utils \
qmldebug \
qmljs \
ssh
QTC_PLUGIN_DEPENDS += \
coreplugin \
cpptools \
find \
projectexplorer \
texteditor
include(designer_dependencies.pri)
LIBS *= -l$$qtLibraryName(Designer)
include(../../libs/cplusplus/cplusplus.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../libs/utils/utils.pri)
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = Designer
QTC_LIB_DEPENDS += \
cplusplus \
utils
QTC_PLUGIN_DEPENDS += \
cpptools \
texteditor \
coreplugin
include(diffeditor_dependencies.pri)
LIBS *= -l$$qtLibraryName(DiffEditor)
include(../../libs/utils/utils.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = DiffEditor
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
texteditor \
coreplugin
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/find/find.pri)
QTC_PLUGIN_NAME = FakeVim
QTC_PLUGIN_DEPENDS += \
coreplugin \
texteditor \
find
include(find_dependencies.pri)
LIBS *= -l$$qtLibraryName(Find)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = Find
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
coreplugin
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/qtsupport/qtsupport.pri)
QTC_PLUGIN_NAME = GenericProjectManager
QTC_PLUGIN_DEPENDS += \
projectexplorer \
cpptools \
texteditor \
qtsupport
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/vcsbase/vcsbase.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = Git
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
coreplugin \
vcsbase
include(qmljseditor_dependencies.pri)
LIBS *= -l$$qtLibraryName(QmlJSEditor)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../libs/glsl/glsl.pri)
include(../../libs/utils/utils.pri)
include(../../libs/cplusplus/cplusplus.pri)
QTC_PLUGIN_NAME = GLSLEditor
QTC_LIB_DEPENDS += \
glsl \
utils \
cplusplus
QTC_PLUGIN_DEPENDS += \
coreplugin \
texteditor \
projectexplorer \
cpptools
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = HelloWorld
QTC_LIB_DEPENDS += \
# nothing here at this time
QTC_PLUGIN_DEPENDS += \
coreplugin
include(help_dependencies.pri)
LIBS *= -l$$qtLibraryTarget(Help)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/find/find.pri)
include(../../plugins/locator/locator.pri)
QTC_PLUGIN_NAME = Help
QTC_PLUGIN_DEPENDS += \
coreplugin \
find \
locator
include(../../libs/utils/utils.pri)
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = ImageViewer
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
coreplugin
include(locator_dependencies.pri)
LIBS *= -l$$qtLibraryName(Locator)
include(../../plugins/coreplugin/coreplugin.pri)
QTC_PLUGIN_NAME = Locator
QTC_PLUGIN_DEPENDS += \
coreplugin
include(macros_dependencies.pri)
LIBS *= -l$$qtLibraryTarget(Macros)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/locator/locator.pri)
include(../../plugins/find/find.pri)
include(../../plugins/texteditor/texteditor.pri)
QTC_PLUGIN_NAME = Macros
QTC_PLUGIN_DEPENDS += \
coreplugin \
locator \
find \
texteditor
include(madde_dependencies.pri)
LIBS *= -l$$qtLibraryName(Madde)
include(../../plugins/qt4projectmanager/qt4projectmanager.pri)
include(../../plugins/remotelinux/remotelinux.pri)
QTC_PLUGIN_NAME = Madde
QTC_PLUGIN_DEPENDS += \
qt4projectmanager \
remotelinux
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/vcsbase/vcsbase.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = Mercurial
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
coreplugin \
vcsbase
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/vcsbase/vcsbase.pri)
include(../../libs/utils/utils.pri)
QTC_PLUGIN_NAME = Perforce
QTC_LIB_DEPENDS += \
utils
QTC_PLUGIN_DEPENDS += \
projectexplorer \
texteditor \
coreplugin \
vcsbase
include(projectexplorer_dependencies.pri)
LIBS *= -l$$qtLibraryName(ProjectExplorer)
include(../../libs/utils/utils.pri)
include(../../libs/ssh/ssh.pri)
include(../../plugins/locator/locator.pri)
include(../../plugins/find/find.pri)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/texteditor/texteditor.pri)
QTC_PLUGIN_NAME = ProjectExplorer
QTC_LIB_DEPENDS += \
ssh \
utils
QTC_PLUGIN_DEPENDS += \
locator \
find \
coreplugin \
texteditor
QT *= network
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/cpptools/cpptools.pri)
QTC_PLUGIN_NAME = PythonEditor
QTC_PLUGIN_DEPENDS += \
coreplugin \
texteditor \
cpptools
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/qtsupport/qtsupport.pri)
include(../../plugins/qmljstools/qmljstools.pri)
QTC_PLUGIN_NAME = QbsProjectManager
QTC_PLUGIN_DEPENDS += \
projectexplorer \
cpptools \
texteditor \
qtsupport \
qmljstools
include(qmldesigner_dependencies.pri)
include(designercore/designercore.pri)
LIBS *= -l$$qtLibraryName(QmlDesigner)
INCLUDEPATH *= $$PWD/components/componentcore
INCLUDEPATH *= $$PWD/components/formeditor
INCLUDEPATH *= $$PWD/components/itemlibrary
INCLUDEPATH *= $$PWD/components/navigator
INCLUDEPATH *= $$PWD/components/propertyeditor
INCLUDEPATH *= $$PWD/components/stateseditor
INCLUDEPATH *= $$PWD/components/debugview
INCLUDEPATH *= $$PWD/components/integration
INCLUDEPATH *= $$PWD/components/logger
INCLUDEPATH *= $$QTCREATOR_SOURCES/share/qtcreator/qml/qmlpuppet/interfaces
include(../../libs/utils/utils.pri)
include(../../libs/qmljs/qmljs.pri)
include(../../libs/qmleditorwidgets/qmleditorwidgets.pri)
include(../coreplugin/coreplugin.pri)
include(../texteditor/texteditor.pri)
include(../qmljseditor/qmljseditor.pri)
include(../qt4projectmanager/qt4projectmanager.pri)
include(../qmlprojectmanager/qmlprojectmanager.pri)
include(../projectexplorer/projectexplorer.pri)
QTC_PLUGIN_NAME = QmlDesigner
QTC_LIB_DEPENDS += \
utils \
qmljs \
qmleditorwidgets
QTC_PLUGIN_DEPENDS += \
coreplugin \
texteditor \
qmljseditor \
qt4projectmanager \
qmlprojectmanager \
projectexplorer
include(qmljseditor_dependencies.pri)
LIBS *= -l$$qtLibraryName(QmlJSEditor)
include(../../plugins/coreplugin/coreplugin.pri)
include(../../plugins/texteditor/texteditor.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/qmljstools/qmljstools.pri)
include(../../libs/utils/utils.pri)
include(../../libs/qmleditorwidgets/qmleditorwidgets.pri)
QTC_PLUGIN_NAME = QmlJSEditor
QTC_LIB_DEPENDS += \
utils \
qmleditorwidgets
QTC_PLUGIN_DEPENDS += \
coreplugin \
texteditor \
projectexplorer \
qmljstools
include(qmljstools_dependencies.pri)
LIBS *= -l$$qtLibraryName(QmlJSTools)
include($$IDE_SOURCE_TREE/src/libs/languageutils/languageutils.pri)
include($$IDE_SOURCE_TREE/src/libs/cplusplus/cplusplus.pri)
include($$IDE_SOURCE_TREE/src/libs/qmljs/qmljs.pri)
include($$IDE_SOURCE_TREE/src/plugins/projectexplorer/projectexplorer.pri)
include($$IDE_SOURCE_TREE/src/plugins/qtsupport/qtsupport.pri)
include($$IDE_SOURCE_TREE/src/plugins/texteditor/texteditor.pri)
include($$IDE_SOURCE_TREE/src/plugins/cpptools/cpptools.pri)
QTC_PLUGIN_NAME = QmlJSTools
QTC_LIB_DEPENDS += \
languageutils \