diff options
author | Michael Goddard <michael.goddard@nokia.com> | 2011-06-29 13:38:46 +1000 |
---|---|---|
committer | Michael Goddard <michael.goddard@nokia.com> | 2011-06-29 13:38:46 +1000 |
commit | 2a34e88c1e1ced28e75c487cd13402e1c9cf9fa3 (patch) | |
tree | e6c1b770c5c47212792a1f9344fa034ea3e54c44 /features |
Initial copy of QtMultimediaKit.
Comes from original repo, with SHA1:
2c82d5611655e5967f5c5095af50c0991c4378b2
Diffstat (limited to 'features')
-rw-r--r-- | features/basic_examples_setup.pri | 59 | ||||
-rw-r--r-- | features/deploy.pri | 61 | ||||
-rw-r--r-- | features/mobility.prf.template | 130 |
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 +} |