summaryrefslogtreecommitdiffstats
path: root/features
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2011-06-29 13:38:46 +1000
committerMichael Goddard <michael.goddard@nokia.com>2011-06-29 13:38:46 +1000
commit2a34e88c1e1ced28e75c487cd13402e1c9cf9fa3 (patch)
treee6c1b770c5c47212792a1f9344fa034ea3e54c44 /features
Initial copy of QtMultimediaKit.
Comes from original repo, with SHA1: 2c82d5611655e5967f5c5095af50c0991c4378b2
Diffstat (limited to 'features')
-rw-r--r--features/basic_examples_setup.pri59
-rw-r--r--features/deploy.pri61
-rw-r--r--features/mobility.prf.template130
3 files changed, 250 insertions, 0 deletions
diff --git a/features/basic_examples_setup.pri b/features/basic_examples_setup.pri
new file mode 100644
index 000000000..8915a03f5
--- /dev/null
+++ b/features/basic_examples_setup.pri
@@ -0,0 +1,59 @@
+symbian: {
+ vendorinfo = \
+ "; Localised Vendor name" \
+ "%{\"Nokia, Qt\"}" \
+ " " \
+ "; Unique Vendor name" \
+ ":\"Nokia, Qt\"" \
+ " "
+ examples_deployment.pkg_prerules += vendorinfo
+ DEPLOYMENT += examples_deployment
+}
+
+win32:contains(CONFIG_WIN32,build_all):Win32DebugAndRelease=yes
+mac | contains(Win32DebugAndRelease,yes) {
+ #due to different debug/release library names we have to comply with
+ #whatever Qt does
+ !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
+ CONFIG -= debug_and_release debug release
+ contains(QT_CONFIG,debug): CONFIG+=debug
+ contains(QT_CONFIG,release): CONFIG+=release
+ }
+}
+
+CONFIG(debug, debug|release) {
+ SUBDIRPART=Debug
+} else {
+ SUBDIRPART=Release
+}
+
+OUTPUT_DIR = $$QT_MOBILITY_BUILD_TREE
+MOC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/moc
+RCC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/rcc
+UI_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/ui
+OBJECTS_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET
+
+# See common.pri for comments on why using QMAKE_FRAMEWORKPATH/QMAKE_LIBDIR
+# rather than LIBS here.
+mac:contains(QT_CONFIG,qt_framework) {
+ QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib
+}
+QMAKE_LIBDIR = $$OUTPUT_DIR/lib
+
+QMAKE_RPATHDIR+=$$QT_MOBILITY_LIB
+INCLUDEPATH+= $$QT_MOBILITY_SOURCE_TREE/src/global
+
+maemo6 {
+ DEFINES+= Q_WS_MAEMO_6
+ DEFINES+= QTM_EXAMPLES_SMALL_SCREEN
+ DEFINES+= QTM_EXAMPLES_PREFER_LANDSCAPE
+}
+maemo5 {
+ error(Maemo5/Freemantle not supported by QtMobility 1.2+ \(Not building any examples and demos\).)
+ DEFINES+= Q_WS_MAEMO_5
+ DEFINES+= QTM_EXAMPLES_SMALL_SCREEN
+ DEFINES+= QTM_EXAMPLES_PREFER_LANDSCAPE
+}
+symbian {
+ DEFINES+= QTM_EXAMPLES_SMALL_SCREEN
+}
diff --git a/features/deploy.pri b/features/deploy.pri
new file mode 100644
index 000000000..0f712409a
--- /dev/null
+++ b/features/deploy.pri
@@ -0,0 +1,61 @@
+headers.files = $$PUBLIC_HEADERS
+headers.path = $$QT_MOBILITY_INCLUDE/$$TARGET
+
+contains(TEMPLATE,.*lib) {
+ target.path=$$QT_MOBILITY_LIB
+
+ maemo5|maemo6|meego {
+ CONFIG += create_pc create_prl
+ QMAKE_PKGCONFIG_NAME = lib$$TARGET
+ QMAKE_PKGCONFIG_DESTDIR = pkgconfig
+ QMAKE_PKGCONFIG_LIBDIR = $$target.path
+ QMAKE_PKGCONFIG_INCDIR = $$headers.path
+ QMAKE_PKGCONFIG_CFLAGS = -I$${QT_MOBILITY_INCLUDE}/QtMobility
+
+ pkgconfig.files = $${TARGET}.pc
+ pkgconfig.path = $$QT_MOBILITY_LIB/pkgconfig
+ INSTALLS += pkgconfig
+ }
+
+ TARGET = $$qtLibraryTarget($${TARGET}$${QT_LIBINFIX})
+
+ symbian {
+ middleware { path=$$MW_LAYER_PUBLIC_EXPORT_PATH("") }
+ app { path=$$APP_LAYER_PUBLIC_EXPORT_PATH("") }
+
+ exportPath=$$EPOCROOT"."$$dirname(path)
+ nativePath=$$replace(exportPath,/,\\)
+ exists($$nativePath) {
+ } else {
+ system($$QMAKE_MKDIR $$nativePath)
+ }
+
+ for(header, headers.files) {
+ middleware { BLD_INF_RULES.prj_exports += "$$header $$MW_LAYER_PUBLIC_EXPORT_PATH($$basename(header))"}
+ app { BLD_INF_RULES.prj_exports += "$$header $$APP_LAYER_PUBLIC_EXPORT_PATH($$basename(header))"}
+ }
+
+ }
+
+} else {
+ contains(TEMPLATE,.*app):target.path=$$QT_MOBILITY_BIN
+}
+
+INSTALLS+=target headers
+
+mac:contains(QT_CONFIG,qt_framework) {
+ CONFIG += lib_bundle absolute_library_soname
+
+ CONFIG(debug, debug|release) {
+ !build_pass:CONFIG += build_all
+ } else { #release
+ !debug_and_release|build_pass {
+ FRAMEWORK_HEADERS.version = Versions
+ FRAMEWORK_HEADERS.files = $${PUBLIC_HEADERS}
+ FRAMEWORK_HEADERS.path = Headers
+ }
+ QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
+ }
+}
+
+CONFIG+= create_prl
diff --git a/features/mobility.prf.template b/features/mobility.prf.template
new file mode 100644
index 000000000..47ebecd75
--- /dev/null
+++ b/features/mobility.prf.template
@@ -0,0 +1,130 @@
+!isEmpty(QT_MOBILITY_BUILD_TREE):CONFIG+=mobility_build
+
+defineTest(qtMobilityAddLibrary) {
+ # If we are currently building Mobility itself, do not add the install
+ # include paths. It can't help since we haven't installed our headers yet,
+ # and it may hurt since incompatible headers may be present from an
+ # earlier build.
+ !mobility_build:!isEmpty(MOBILITY_INCLUDE) {
+ INCLUDEPATH -= $${MOBILITY_INCLUDE}/$$1
+ INCLUDEPATH = $${MOBILITY_INCLUDE}/$$1 $$INCLUDEPATH
+ }
+
+ # qtAddLibrary will add $$QMAKE_INCDIR_QT/$$1 to the INCLUDEPATH, which we
+ # don't want, but we want everything else it does.
+ OLD_INCLUDEPATH = $$INCLUDEPATH
+ qtAddLibrary($$1)
+ INCLUDEPATH = $$OLD_INCLUDEPATH
+
+ export(INCLUDEPATH)
+}
+
+!symbian {
+ !mobility_build:INCLUDEPATH += $${MOBILITY_INCLUDE}
+} else {
+ load(data_caging_paths)
+ contains(MOBILITY, contacts|versit|organizer) {
+ INCLUDEPATH+=$$APP_LAYER_SYSTEMINCLUDE
+ }
+
+ INCLUDEPATH+=$$MW_LAYER_SYSTEMINCLUDE
+}
+
+!mobility_build {
+ mac: LIBS += -F$${MOBILITY_LIB}
+
+ LIBS+= -L$${MOBILITY_LIB}
+}
+
+QMAKE_RPATHDIR+=$${MOBILITY_LIB}
+
+# versit depends on contacts
+contains(MOBILITY, versit) {
+ MOBILITY += contacts
+}
+
+
+simulator: qtMobilityAddLibrary(QtMobilitySimulator)
+
+contains(MOBILITY, bearer) {
+ DEFINES += QT_MOBILITY_BEARER
+ qtMobilityAddLibrary(QtBearer)
+ !equals(QT_MAJOR_VERSION,4)|!equals(QT_MINOR_VERSION, 6) {
+ message(Qt Mobility Bearer API is deprecated when using Qt 4.7 or higher.)
+ message(Please use source compatible replacement Bearer API in QtNetwork.)
+ }
+}
+
+#for includes from src/global
+!mobility_build:!isEmpty(MOBILITY_INCLUDE):INCLUDEPATH += $${MOBILITY_INCLUDE}/QtMobility
+
+contains(MOBILITY, publishsubscribe) {
+ qtMobilityAddLibrary(QtPublishSubscribe)
+}
+
+contains(MOBILITY, location) {
+ qtMobilityAddLibrary(QtLocation)
+}
+
+contains(MOBILITY, serviceframework) {
+ qtMobilityAddLibrary(QtServiceFramework)
+}
+
+contains(MOBILITY, systeminfo) {
+ #QSystemInfo header requires QNetworkInterface
+ QT += network
+ qtMobilityAddLibrary(QtSystemInfo)
+}
+
+contains(MOBILITY, multimedia) {
+ QT += network
+ contains(QT_CONFIG, opengl): QT += opengl
+ qtMobilityAddLibrary(QtMultimediaKit)
+}
+
+contains(MOBILITY, contacts) {
+ qtMobilityAddLibrary(QtContacts)
+}
+
+contains(MOBILITY, messaging) {
+ qtMobilityAddLibrary(QtMessaging)
+}
+
+contains(MOBILITY, versit) {
+ qtMobilityAddLibrary(QtVersit)
+ contains(MOBILITY, organizer) {
+ qtMobilityAddLibrary(QtVersitOrganizer)
+ }
+}
+
+contains(MOBILITY, sensors) {
+ qtMobilityAddLibrary(QtSensors)
+}
+
+contains(MOBILITY, feedback) {
+ qtMobilityAddLibrary(QtFeedback)
+}
+
+contains(MOBILITY, gallery) {
+ qtMobilityAddLibrary(QtGallery)
+}
+
+contains(MOBILITY, organizer) {
+ qtMobilityAddLibrary(QtOrganizer)
+}
+
+contains(MOBILITY, connectivity) {
+ INCLUDEPATH += $${QMAKE_INCDIR_QT}/QtNetwork
+ qtMobilityAddLibrary(QtConnectivity)
+}
+
+# Add dependency to QtMobility package to all projects besides QtMobility package itself.
+# Mobility libs have UID3 0x2002AC89
+# self-signed Mobility libs have UID3 0xE002AC89
+symbian:contains(CONFIG, mobility)::contains(default_deployment.pkg_prerules, pkg_depends_qt):!contains(TARGET.UID3, 0x2002AC89):!contains(TARGET.UID3, 0xE002AC89) {
+ mobility_pkg_name = QtMobility
+ mobility_default_deployment.pkg_prerules += \
+ "; Default dependency to QtMobility libraries" \
+ "(0x2002AC89), 1, 2, 0, {$$addLanguageDependentPkgItem(mobility_pkg_name)}"
+ DEPLOYMENT += mobility_default_deployment
+}