qtmobility/qtmobility.pro
branchRCL_3
changeset 6 4203353e74ea
parent 3 eb34711bcc75
child 8 885c2596c964
equal deleted inserted replaced
5:4ea83c148e84 6:4203353e74ea
     1 
     1 # config.pri specifies the configure options and is pulled in via staticconfig.pri
     2 #This is a temporary workaround for internal Symbian builds
       
     3 #QT_MAJOR_VERSION et al are not set
       
     4 symbian {
       
     5     isEmpty(QT_MAJOR_VERSION)  {
       
     6          exists($${EPOCROOT}epoc32/data/z/system/install/Series60v5.2.sis) {
       
     7            QT_MAJOR_VERSION=4;
       
     8            QT_MINOR_VERSION=6;
       
     9            QT_PATCH_VERSION=0;
       
    10         }
       
    11     }
       
    12 }
       
    13 
       
    14 # config.pri specifies the configure options
       
    15 include(staticconfig.pri)
     2 include(staticconfig.pri)
    16 !include($$QT_MOBILITY_BUILD_TREE/config.pri) {
     3 !include($$QT_MOBILITY_BUILD_TREE/config.pri) {
    17     error("Please run configure script");
     4     error("Please run configure script");
    18     #also fails if .qmake.cache was not generated which may
     5     #also fails if .qmake.cache was not generated which may
    19     #happen if we are trying to shadow build w/o running configure
     6     #happen if we are trying to shadow build w/o running configure
    20 }
     7 }
    21 
       
    22 #creating qbuildcfg header
       
    23 !exists($$QT_MOBILITY_BUILD_TREE/src/global){
       
    24 	message("creating qbuildcfg header")
       
    25 	symbian|win32|wince*{
       
    26 		system($$QMAKE_MKDIR $$QT_MOBILITY_BUILD_TREE\src\global)
       
    27 	}
       
    28 	else{
       
    29 		system($$QMAKE_MKDIR $$QT_MOBILITY_BUILD_TREE/src/global)
       
    30 	}
       
    31 }
       
    32 	
       
    33 QCFGH_OUTPUT=$$QT_MOBILITY_BUILD_TREE/src/global/qbuildcfg.h
       
    34 mobilityprefixpath = $$QT_MOBILITY_PREFIX
       
    35 symbian|win32|wince*{
       
    36 	mobilityprefixpath = $$replace(mobilityprefixpath, \\\, \\\\)
       
    37 	system(echo static const char qt_mobility_configure_prefix_path_str [512 + 12] = \"$$mobilityprefixpath\\0\"; > $$QCFGH_OUTPUT)
       
    38 }
       
    39 else{
       
    40 	system(echo static const char qt_mobility_configure_prefix_path_str [512 + 12] = '\\\"$$mobilityprefixpath\\\0\\\"\;' > $$QCFGH_OUTPUT)
       
    41 }
       
    42 
       
    43 
     8 
    44 #don't build QtMobility if chosen config mismatches Qt's config
     9 #don't build QtMobility if chosen config mismatches Qt's config
    45 win32:!contains(CONFIG_WIN32,build_all) {
    10 win32:!contains(CONFIG_WIN32,build_all) {
    46    contains(QT_CONFIG,debug):!contains(QT_CONFIG,release):contains(CONFIG_WIN32,release) {
    11    contains(QT_CONFIG,debug):!contains(QT_CONFIG,release):contains(CONFIG_WIN32,release) {
    47        # Qt only build in debug mode
    12        # Qt only build in debug mode
    76 
    41 
    77     unix:!symbian:system(cat $${QT_MOBILITY_SOURCE_TREE}/features/mobility.prf.template >> $$PRF_OUTPUT)
    42     unix:!symbian:system(cat $${QT_MOBILITY_SOURCE_TREE}/features/mobility.prf.template >> $$PRF_OUTPUT)
    78     win32:system(type $${QT_MOBILITY_SOURCE_TREE}\features\mobility.prf.template >> $$PRF_OUTPUT)
    43     win32:system(type $${QT_MOBILITY_SOURCE_TREE}\features\mobility.prf.template >> $$PRF_OUTPUT)
    79     symbian:system(type $${QT_MOBILITY_SOURCE_TREE}\features\mobility.prf.template >> $$PRF_OUTPUT)
    44     symbian:system(type $${QT_MOBILITY_SOURCE_TREE}\features\mobility.prf.template >> $$PRF_OUTPUT)
    80 
    45 
       
    46     PRF_CONFIG=$${QT_MOBILITY_BUILD_TREE}/features/mobilityconfig.prf
       
    47     system(echo MOBILITY_CONFIG=$${mobility_modules} > $$PRF_CONFIG)
       
    48 
    81     #symbian does not generate make install rule. we have to copy prf manually 
    49     #symbian does not generate make install rule. we have to copy prf manually 
    82     symbian {
    50     symbian {
    83         FORMATDIR=$$[QT_INSTALL_DATA]\mkspecs\features
    51         FORMATDIR=$$[QT_INSTALL_DATA]\mkspecs\features
    84         FORMATDIR=$$replace(FORMATDIR,/,\\ )
    52         FORMATDIR=$$replace(FORMATDIR,/,\\ )
    85         system(copy "$${QT_MOBILITY_BUILD_TREE}\features\mobility.prf $$FORMATDIR")
    53         system(copy "$${QT_MOBILITY_BUILD_TREE}\features\mobility.prf $$FORMATDIR")
       
    54         system(copy "$${QT_MOBILITY_BUILD_TREE}\features\mobilityconfig.prf $$FORMATDIR")
    86     }
    55     }
       
    56 
       
    57     # install config file
       
    58     config.path = $$[QT_INSTALL_DATA]/mkspecs/features
       
    59     config.files = $$QT_MOBILITY_BUILD_TREE/features/mobilityconfig.prf
    87 
    60 
    88     # install feature file
    61     # install feature file
    89     feature.path = $$[QT_INSTALL_DATA]/mkspecs/features
    62     feature.path = $$[QT_INSTALL_DATA]/mkspecs/features
    90     feature.files = $$QT_MOBILITY_BUILD_TREE/features/mobility.prf
    63     feature.files = $$QT_MOBILITY_BUILD_TREE/features/mobility.prf
    91     INSTALLS += feature
    64     INSTALLS += feature config
    92 }
    65 }
    93 
    66 
    94 TEMPLATE = subdirs
    67 TEMPLATE = subdirs
    95 CONFIG+=ordered
    68 CONFIG+=ordered
    96 
    69 
    97 SUBDIRS += src
    70 SUBDIRS += src
    98 
    71 
    99 contains(build_unit_tests, yes):SUBDIRS+=tests
    72 contains(build_unit_tests, yes):SUBDIRS+=tests
   100 contains(build_examples, yes):SUBDIRS+=examples
    73 contains(build_examples, yes):SUBDIRS+=examples
   101 
    74 
       
    75 #updating and deployment of translations requires Qt 4.6.3/qtPrepareTool
       
    76 !symbian:defined(qtPrepareTool):SUBDIRS += translations
       
    77 
   102 # install Qt style headers
    78 # install Qt style headers
   103 qtmheaders.path = $${QT_MOBILITY_INCLUDE}
    79 qtmheaders.path = $${QT_MOBILITY_INCLUDE}
   104 qtmheaders.files = $${QT_MOBILITY_BUILD_TREE}/include/*
       
   105 
    80 
   106 INSTALLS += qtmheaders
    81 !symbian {
       
    82     qtmheaders.files = $${QT_MOBILITY_BUILD_TREE}/include/QtmBearer/* \
       
    83                          $${QT_MOBILITY_BUILD_TREE}/include/QtmContacts/* \
       
    84                          $${QT_MOBILITY_BUILD_TREE}/include/QtmLocation/* \
       
    85                          $${QT_MOBILITY_BUILD_TREE}/include/QtmMessaging/* \
       
    86                          $${QT_MOBILITY_BUILD_TREE}/include/QtMultimedia/* \
       
    87                          $${QT_MOBILITY_BUILD_TREE}/include/QtmPubSub/* \
       
    88                          $${QT_MOBILITY_BUILD_TREE}/include/QtmServiceFramework/* \
       
    89                          $${QT_MOBILITY_BUILD_TREE}/include/QtmVersit/* \
       
    90                          $${QT_MOBILITY_BUILD_TREE}/include/QtmSystemInfo/* \
       
    91                          $${QT_MOBILITY_BUILD_TREE}/include/QtmSensors/*
       
    92     INSTALLS += qtmheaders
       
    93 } else {
       
    94     #absolute path does not work and so is shadow building for Symbian
       
    95     qtmAppHeaders = include/QtmContacts/* \
       
    96                           include/QtmVersit/*
       
    97 
       
    98     qtmMwHeaders = include/QtmBearer/* \
       
    99                        include/QtmLocation/* \
       
   100                        include/QtmMessaging/* \
       
   101                        include/QtMultimedia/* \
       
   102                        include/QtmPubSub/* \
       
   103                        include/QtmServiceFramework/* \
       
   104                        include/QtmSystemInfo/* \
       
   105                        include/QtmSensors/*
       
   106 
       
   107     contains(mobility_modules,contacts|versit) {
       
   108         for(api, qtmAppHeaders) {
       
   109             INCLUDEFILES=$$files($$api);
       
   110             #files() attaches a ';' at the end which we need to remove
       
   111             cleanedFiles=$$replace(INCLUDEFILES, ;,)
       
   112             for(header, cleanedFiles) {
       
   113                 exists($$header):
       
   114                     BLD_INF_RULES.prj_exports += "$$header $$APP_LAYER_PUBLIC_EXPORT_PATH($$basename(header))"
       
   115             }
       
   116         }
       
   117     }
       
   118 
       
   119     contains(mobility_modules,serviceframework|location|bearer|publishsubscribe|systeminfo|multimedia|messaging) {
       
   120         for(api, qtmMwHeaders) {
       
   121             INCLUDEFILES=$$files($$api);
       
   122             #files() attaches a ';' at the end which we need to remove
       
   123             cleanedFiles=$$replace(INCLUDEFILES, ;,)
       
   124             for(header, cleanedFiles) {
       
   125                 exists($$header):
       
   126                     BLD_INF_RULES.prj_exports += "$$header $$MW_LAYER_PUBLIC_EXPORT_PATH($$basename(header))"
       
   127             }
       
   128         }
       
   129     }
       
   130 }
       
   131