From 1835afe6217c562a61c37676119c0d1f081a9828 Mon Sep 17 00:00:00 2001 From: axis Date: Wed, 18 May 2011 15:30:27 +0200 Subject: Moved common module profiles to be feature profiles. This enables external modules to also make use of them without having access to the complete QtBase source code. Change-Id: I056e45cba6c6798b76670b8d238dadb2d9f9c092 Task: QTBUG-19585 Reviewed-on: http://codereview.qt.nokia.com/234 Reviewed-by: Marius Storm-Olsen --- src/corelib/corelib.pro | 2 +- src/dbus/dbus.pro | 2 +- src/gui/gui.pro | 2 +- src/network/network.pro | 2 +- src/opengl/opengl.pro | 2 +- src/openvg/openvg.pro | 2 +- src/qbase.pri | 227 +----------------------------------------------- src/qt_install.pri | 45 +--------- src/qt_targets.pri | 5 +- src/s60main/s60main.pro | 2 +- src/sql/sql.pro | 2 +- src/testlib/testlib.pro | 2 +- src/tools/moc/moc.pro | 2 +- src/tools/rcc/rcc.pro | 2 +- src/tools/uic/uic.pro | 2 +- src/uitools/uitools.pro | 2 +- src/winmain/winmain.pro | 2 +- src/xml/xml.pro | 2 +- 18 files changed, 18 insertions(+), 289 deletions(-) (limited to 'src') diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index 1e1e4dacf6..4862263f0c 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -10,7 +10,7 @@ DEFINES += QT_BUILD_CORE_LIB QT_NO_USING_NAMESPACE win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x67000000 irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/corelib/qtcoreversion.h diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro index 731d20a893..4c631aebdc 100644 --- a/src/dbus/dbus.pro +++ b/src/dbus/dbus.pro @@ -31,7 +31,7 @@ win32 { CONFIG(debug, debug|release):LIBS_PRIVATE += -ldbus-1d else:LIBS_PRIVATE += -ldbus-1 } -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/dub/qtdbusversion.h diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 7e9d78d0bb..7412978da8 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -13,7 +13,7 @@ irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/gui/qtguiversion.h diff --git a/src/network/network.pro b/src/network/network.pro index 4ee71b028e..e3e576a7a1 100644 --- a/src/network/network.pro +++ b/src/network/network.pro @@ -18,7 +18,7 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x64000000 unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/network/qtnetworkversion.h diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index b30d4057db..079f93d3de 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -13,7 +13,7 @@ irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/opengl/qtopenglversion.h diff --git a/src/openvg/openvg.pro b/src/openvg/openvg.pro index 0e22503c3b..bd9aa1a732 100644 --- a/src/openvg/openvg.pro +++ b/src/openvg/openvg.pro @@ -50,7 +50,7 @@ symbian { } } -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/openvg/qtopenvgversion.h diff --git a/src/qbase.pri b/src/qbase.pri index cf02978853..528dd1e17a 100644 --- a/src/qbase.pri +++ b/src/qbase.pri @@ -1,226 +1 @@ -load(qt_module) - -isEmpty(MODULE):MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0) -isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}") - -MODULE_INCLUDES = $$eval(QT.$${MODULE}.includes) -MODULE_PRIVATE_INCLUDES = $$eval(QT.$${MODULE}.private_includes) -INCLUDEPATH *= $$MODULE_PRIVATE_INCLUDES -INCLUDEPATH *= $$MODULE_PRIVATE_INCLUDES/$$TARGET -INCLUDEPATH *= $$MODULE_INCLUDES $$MODULE_INCLUDES/.. #just for today to have some compat -!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR -isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700 -TEMPLATE = lib -isEmpty(QT_MAJOR_VERSION) { - VERSION=5.0.0 -} else { - VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION} -} - -#load up the headers info -CONFIG += qt_install_headers -#headers.pri is loaded from the last include path -LAST_MODULE_INCLUDE=$$MODULE_INCLUDES -for(include_path, MODULE_INCLUDES):LAST_MODULE_INCLUDE=$${include_path} -HEADERS_PRI = $$LAST_MODULE_INCLUDE/headers.pri -include($$HEADERS_PRI, "", true)|clear(HEADERS_PRI) - -#version overriding -win32 { - #because libnetwork.pro could be qmake'd (qmade?) before libqcore.pro we - #need to override the version of libq* in all other libq*'s just to be - #sure the same version is used - VERSIONS_LIST = $$split(VERSION, ".") - QT_LIBS_OVERRIDE = $$member(VERSIONS_LIST, 0) - for(lib, $$list(qtcore qtgui qtnetwork qtxml qtopengl qtsql qt3support)) { - eval(QMAKE_$${upper($$lib)}_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE) - eval(QMAKE_$${upper($$lib)}D_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE) - } -} - -#other -DESTDIR = $$QMAKE_LIBDIR_QT -win32:!wince*:DLLDESTDIR = $$[QT_INSTALL_PREFIX]/bin - -CONFIG += qt warn_on depend_includepath -CONFIG += qmake_cache target_qt -CONFIG -= fix_output_dirs -win32|mac:!macx-xcode:CONFIG += debug_and_release -linux*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF - -contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols -unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions -contains(QT_CONFIG, largefile):CONFIG += largefile - -#mac frameworks -mac:!static:contains(QT_CONFIG, qt_framework) { - #QMAKE_FRAMEWORK_VERSION = 4.0 - CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework - CONFIG(debug, debug|release) { - !build_pass:CONFIG += build_all - } else { #release - !debug_and_release|build_pass { - CONFIG -= qt_install_headers #no need to install these as well - FRAMEWORK_HEADERS.version = Versions - FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES - FRAMEWORK_HEADERS.path = Headers - equals(TARGET, QtCore) { - #headers generated by configure - !contains(FRAMEWORK_HEADERS.files, .*/qconfig.h) { - FRAMEWORK_HEADERS.files *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h - } - } - } - QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS - } -} - -mac { - CONFIG += explicitlib - macx-g++ { - QMAKE_CFLAGS += -fconstant-cfstrings - QMAKE_CXXFLAGS += -fconstant-cfstrings - } -} - -win32:!shared:CONFIG += static - -win32-borland { - mng:QMAKE_CFLAGS_WARN_ON += -w-par - mng:QMAKE_CXXFLAGS_WARN_ON += -w-par - # Keep the size of the .tds file for the Qt library smaller than - # 34 Mbytes to avoid linking problems - QMAKE_CFLAGS_DEBUG += -vi -y- - QMAKE_CXXFLAGS_DEBUG += -vi -y- -} - -win32 { - INCLUDEPATH += tmp - !static: DEFINES+=QT_MAKEDLL -} -symbian { - shared { - DEFINES+=QT_MAKEDLL - TARGET.CAPABILITY = All -Tcb - - # When building without autotests, DEF files are used by default. - # This is to maintain binary compatibility with previous releases. - # To explicitly disable DEF files usage, eg. when lots of code churn is - # going on, and functions may be added and removed before shipping, - # configure with -no-usedeffiles - # WARNING - disabling DEF files *will* break BC with previous released versions - # of Qt, and the only compatibility will be between this build of Qt and anything - # built in this exact environment. *Never* use this when building a version - # for release. - contains(CONFIG, def_files) { - DEF_FILE=../s60installs - } - } - load(armcc_warnings) - - # workaround for the fact that some of our required includes in Symbian^3 - # now depend upon files in epoc32/include/platform - INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE -} -win32-borland:INCLUDEPATH += kernel - -aix-g++* { - QMAKE_CFLAGS += -mminimal-toc - QMAKE_CXXFLAGS += -mminimal-toc -} - -embedded { - EMBEDDED_H = $$EMBEDDED_CPP -} - -DEPENDPATH += ;$$NETWORK_H;$$KERNEL_H;$$WIDGETS_H;$$SQL_H;$$TABLE_H;$$DIALOGS_H; -DEPENDPATH += $$ICONVIEW_H;$$OPENGL_H;$$THREAD_H;$$TOOLS_H;$$CODECS_H; -DEPENDPATH += $$WORKSPACE_H;$$XML_H;$$STYLES_H;$$COMPAT_H -embedded:DEPENDPATH += ;$$EMBEDDED_H - -!static:PRL_EXPORT_DEFINES += QT_SHARED - -#install directives -include(qt_install.pri) - -unix:!symbian { - CONFIG += create_libtool create_pc explicitlib - QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PRL_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET - QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS] - QMAKE_PKGCONFIG_DESTDIR = pkgconfig - include_replace.match = $$QMAKE_INCDIR_QT - include_replace.replace = $$[QT_INSTALL_HEADERS] - lib_replace.match = $$QMAKE_LIBDIR_QT - lib_replace.replace = $$[QT_INSTALL_LIBS] - prefix_replace.match = $$QT_BUILD_TREE - prefix_replace.replace = $$[QT_INSTALL_PREFIX] - QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace - QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace - QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace -} - -win32-g++* { - CONFIG += create_pc - QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS] - QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET - QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS] - QMAKE_PKGCONFIG_DESTDIR = pkgconfig -} - -contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE -DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS -contains(QT_CONFIG, gui-qt3support):DEFINES *= QT3_SUPPORT -DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code -DEFINES *= QT_USE_QSTRINGBUILDER - -TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end - -qtPrepareTool(QMAKE_LUPDATE, lupdate) -qtPrepareTool(QMAKE_LRELEASE, lrelease) - -moc_dir.name = moc_location -moc_dir.variable = QMAKE_MOC - -uic_dir.name = uic_location -uic_dir.variable = QMAKE_UIC - -rcc_dir.name = rcc_location -rcc_dir.variable = QMAKE_RCC - -lupdate_dir.name = lupdate_location -lupdate_dir.variable = QMAKE_LUPDATE - -lrelease_dir.name = lrelease_location -lrelease_dir.variable = QMAKE_LRELEASE - -QMAKE_PKGCONFIG_VARIABLES += moc_dir uic_dir rcc_dir lupdate_dir lrelease_dir - -include(qt_targets.pri) - -win32:DEFINES+=_USE_MATH_DEFINES - -symbian { - # Make partial upgrade SIS file for all dll's except webkit and s60main - !contains(TARGET.UID3, 0x200267C2):!contains(TARGET.UID3, 0xE00267C2):!contains(TARGET.UID3, 0x2001E61F):!contains(TARGET.UID3, 0xE001E61F) { - # Partial upgrade SIS file - vendorinfo = \ - "; Localised Vendor name" \ - "%{\"Nokia\"}" \ - " " \ - "; Unique Vendor name" \ - ":\"Nokia, Qt\"" \ - " " - isEmpty(QT_LIBINFIX): PARTIAL_UPGRADE_UID = 0x2001E61C - else: PARTIAL_UPGRADE_UID = 0xE001E61C - - pu_header = "; Partial upgrade package for testing $${TARGET} changes without reinstalling everything" \ - "$${LITERAL_HASH}{\"$${TARGET}\"}, ($$PARTIAL_UPGRADE_UID), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU" - partial_upgrade.pkg_prerules = pu_header vendorinfo - partial_upgrade.files = $$QMAKE_LIBDIR_QT/$${TARGET}.dll - partial_upgrade.path = c:/sys/bin - DEPLOYMENT += partial_upgrade - } -} +load(qt_module_config) diff --git a/src/qt_install.pri b/src/qt_install.pri index f5ad51f591..8a9a7ab5ba 100644 --- a/src/qt_install.pri +++ b/src/qt_install.pri @@ -1,44 +1 @@ -#always install the library -win32 { - dlltarget.path=$$[QT_INSTALL_BINS] - INSTALLS += dlltarget -} -target.path=$$[QT_INSTALL_LIBS] -INSTALLS += target - -#headers -qt_install_headers { - INSTALL_HEADERS = $$SYNCQT.HEADER_FILES - equals(TARGET, QtCore) { - #headers generated by configure - INSTALL_HEADERS *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h \ - $$QT_SOURCE_TREE/src/corelib/arch/$$QT_ARCH/arch - } - - equals(TARGET, phonon) { - class_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET - } else { - flat_headers.files = $$INSTALL_HEADERS - flat_headers.path = $$[QT_INSTALL_HEADERS]/Qt - INSTALLS += flat_headers - - class_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET - } - class_headers.files = $$SYNCQT.HEADER_CLASSES - INSTALLS += class_headers - - targ_headers.files = $$INSTALL_HEADERS - targ_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET - INSTALLS += targ_headers - - private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES - private_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET/$$eval(QT.$${MODULE}.VERSION)/$$TARGET/private - INSTALLS += private_headers -} - -embedded|qpa: equals(TARGET, QtGui) { - # install fonts for embedded - INSTALLS += fonts - fonts.path = $$[QT_INSTALL_LIBS]/fonts - fonts.files = $$QT_SOURCE_TREE/lib/fonts/* -} +load(qt_installs) diff --git a/src/qt_targets.pri b/src/qt_targets.pri index af1a32bb02..900b50bde4 100644 --- a/src/qt_targets.pri +++ b/src/qt_targets.pri @@ -1,4 +1 @@ -QMAKE_TARGET_COMPANY = Nokia Corporation and/or its subsidiary(-ies) -QMAKE_TARGET_PRODUCT = Qt4 -QMAKE_TARGET_DESCRIPTION = C++ application development framework. -QMAKE_TARGET_COPYRIGHT = Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +load(qt_targets) diff --git a/src/s60main/s60main.pro b/src/s60main/s60main.pro index 4c598e2857..8cdd00e56f 100644 --- a/src/s60main/s60main.pro +++ b/src/s60main/s60main.pro @@ -35,4 +35,4 @@ symbian { error("$$_FILE_ is intended only for Symbian!") } -include(../qbase.pri) +load(qt_module_config) diff --git a/src/sql/sql.pro b/src/sql/sql.pro index c7cbbc4985..74f6cd2cb6 100644 --- a/src/sql/sql.pro +++ b/src/sql/sql.pro @@ -11,7 +11,7 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x62000000 unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/sql/qtsqlversion.h diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro index 3408c91420..0706a5b510 100644 --- a/src/testlib/testlib.pro +++ b/src/testlib/testlib.pro @@ -84,7 +84,7 @@ qpa:mac: { } } -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/testlib/qttestlibversion.h diff --git a/src/tools/moc/moc.pro b/src/tools/moc/moc.pro index 0b8ddbe31e..8e2e76d4b9 100644 --- a/src/tools/moc/moc.pro +++ b/src/tools/moc/moc.pro @@ -15,4 +15,4 @@ include(../bootstrap/bootstrap.pri) target.path=$$[QT_INSTALL_BINS] INSTALLS += target -include(../../qt_targets.pri) +load(qt_targets) diff --git a/src/tools/rcc/rcc.pro b/src/tools/rcc/rcc.pro index edc85a1d15..6c78642406 100644 --- a/src/tools/rcc/rcc.pro +++ b/src/tools/rcc/rcc.pro @@ -13,4 +13,4 @@ include(../bootstrap/bootstrap.pri) target.path=$$[QT_INSTALL_BINS] INSTALLS += target -include(../../qt_targets.pri) +load(qt_targets) diff --git a/src/tools/uic/uic.pro b/src/tools/uic/uic.pro index 591925ca90..0b0ae782d4 100644 --- a/src/tools/uic/uic.pro +++ b/src/tools/uic/uic.pro @@ -20,4 +20,4 @@ include(../bootstrap/bootstrap.pri) target.path=$$[QT_INSTALL_BINS] INSTALLS += target -include(../../qt_targets.pri) +load(qt_targets) diff --git a/src/uitools/uitools.pro b/src/uitools/uitools.pro index 977fe50c09..e326c8a726 100644 --- a/src/uitools/uitools.pro +++ b/src/uitools/uitools.pro @@ -22,7 +22,7 @@ isEmpty(QT_MAJOR_VERSION) { } else { VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION} } -include(../qt_targets.pri) +load(qt_targets) QMAKE_TARGET_PRODUCT = UiLoader QMAKE_TARGET_DESCRIPTION = QUiLoader diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro index 8c2710ccd9..b353e8e382 100644 --- a/src/winmain/winmain.pro +++ b/src/winmain/winmain.pro @@ -16,6 +16,6 @@ win32 { } !win32:error("$$_FILE_ is intended only for Windows!") -include(../qbase.pri) +load(qt_module_config) wince*:QMAKE_POST_LINK = diff --git a/src/xml/xml.pro b/src/xml/xml.pro index 986e478b69..361b948176 100644 --- a/src/xml/xml.pro +++ b/src/xml/xml.pro @@ -10,7 +10,7 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x61000000 unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore -include(../qbase.pri) +load(qt_module_config) HEADERS += $$QT_SOURCE_TREE/src/xml/qtxmlversion.h -- cgit v1.2.3