1isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}") 2INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat 3!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR 4isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700 5TEMPLATE = lib 6isEmpty(QT_MAJOR_VERSION) { 7 VERSION=4.8.7 8} else { 9 VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION} 10} 11 12#load up the headers info 13CONFIG += qt_install_headers 14HEADERS_PRI = $$QT_BUILD_TREE/include/$$TARGET/headers.pri 15include($$HEADERS_PRI, "", true)|clear(HEADERS_PRI) 16 17#version overriding 18win32 { 19 #because libnetwork.pro could be qmake'd (qmade?) before libqcore.pro we 20 #need to override the version of libq* in all other libq*'s just to be 21 #sure the same version is used 22 VERSIONS_LIST = $$split(VERSION, ".") 23 QT_LIBS_OVERRIDE = $$member(VERSIONS_LIST, 0) 24 for(lib, $$list(qtcore qtgui qtnetwork qtxml qtopengl qtsql qt3support)) { 25 eval(QMAKE_$${upper($$lib)}_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE) 26 eval(QMAKE_$${upper($$lib)}D_VERSION_OVERRIDE = $$QT_LIBS_OVERRIDE) 27 } 28} 29 30#other 31DESTDIR = $$QMAKE_LIBDIR_QT 32win32:!wince*:DLLDESTDIR = $$[QT_INSTALL_PREFIX]/bin 33 34CONFIG += qt warn_on depend_includepath 35CONFIG += qmake_cache target_qt 36CONFIG -= fix_output_dirs 37win32|mac:!macx-xcode:CONFIG += debug_and_release 38linux*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF 39 40contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols 41unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions 42contains(QT_CONFIG, largefile):CONFIG += largefile 43 44#mac frameworks 45mac:!static:contains(QT_CONFIG, qt_framework) { 46 #QMAKE_FRAMEWORK_VERSION = 4.0 47 CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework 48 CONFIG(debug, debug|release) { 49 !build_pass:CONFIG += build_all 50 } else { #release 51 !debug_and_release|build_pass { 52 CONFIG -= qt_install_headers #no need to install these as well 53 FRAMEWORK_HEADERS.version = Versions 54 FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES 55 FRAMEWORK_HEADERS.path = Headers 56 equals(TARGET, QtCore) { 57 #headers generated by configure 58 !contains(FRAMEWORK_HEADERS.files, .*/qconfig.h) { 59 FRAMEWORK_HEADERS.files *= $$QT_BUILD_TREE/src/corelib/global/qconfig.h 60 } 61 } 62 } 63 QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS 64 } 65} 66 67mac { 68 CONFIG += explicitlib 69 macx-g++ { 70 QMAKE_CFLAGS += -fconstant-cfstrings 71 QMAKE_CXXFLAGS += -fconstant-cfstrings 72 } 73} 74 75win32:!shared:CONFIG += static 76 77win32-borland { 78 mng:QMAKE_CFLAGS_WARN_ON += -w-par 79 mng:QMAKE_CXXFLAGS_WARN_ON += -w-par 80 # Keep the size of the .tds file for the Qt library smaller than 81 # 34 Mbytes to avoid linking problems 82 QMAKE_CFLAGS_DEBUG += -vi -y- 83 QMAKE_CXXFLAGS_DEBUG += -vi -y- 84} 85 86win32 { 87 INCLUDEPATH += tmp 88 !static: DEFINES+=QT_MAKEDLL 89} 90symbian { 91 shared { 92 DEFINES+=QT_MAKEDLL 93 TARGET.CAPABILITY = All -Tcb 94 95 # When building without autotests, DEF files are used by default. 96 # This is to maintain binary compatibility with previous releases. 97 # To explicitly disable DEF files usage, eg. when lots of code churn is 98 # going on, and functions may be added and removed before shipping, 99 # configure with -no-usedeffiles 100 # WARNING - disabling DEF files *will* break BC with previous released versions 101 # of Qt, and the only compatibility will be between this build of Qt and anything 102 # built in this exact environment. *Never* use this when building a version 103 # for release. 104 contains(CONFIG, def_files) { 105 DEF_FILE=../s60installs 106 } 107 } 108 load(armcc_warnings) 109 110 # workaround for the fact that some of our required includes in Symbian^3 111 # now depend upon files in epoc32/include/platform 112 INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE 113 114 # All relevant files are marked as SMP safe for the Symbian port 115 MMP_RULES*=SMPSAFE 116} 117win32-borland:INCLUDEPATH += kernel 118 119aix-g++* { 120 QMAKE_CFLAGS += -mminimal-toc 121 QMAKE_CXXFLAGS += -mminimal-toc 122} 123 124embedded { 125 EMBEDDED_H = $$EMBEDDED_CPP 126} 127 128DEPENDPATH += ;$$NETWORK_H;$$KERNEL_H;$$WIDGETS_H;$$SQL_H;$$TABLE_H;$$DIALOGS_H; 129DEPENDPATH += $$ICONVIEW_H;$$OPENGL_H;$$THREAD_H;$$TOOLS_H;$$CODECS_H; 130DEPENDPATH += $$WORKSPACE_H;$$XML_H;$$STYLES_H;$$COMPAT_H 131embedded:DEPENDPATH += ;$$EMBEDDED_H 132 133!static:PRL_EXPORT_DEFINES += QT_SHARED 134 135#install directives 136include(qt_install.pri) 137 138unix|win32-g++*:!symbian { 139 CONFIG += create_pc 140 QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS] 141 QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS]/$$TARGET 142 QMAKE_PKGCONFIG_CFLAGS = -I$$[QT_INSTALL_HEADERS] 143 QMAKE_PKGCONFIG_DESTDIR = pkgconfig 144 include_replace.match = $$QMAKE_INCDIR_QT 145 include_replace.replace = $$[QT_INSTALL_HEADERS] 146 lib_replace.match = $$QMAKE_LIBDIR_QT 147 lib_replace.replace = $$[QT_INSTALL_LIBS] 148 prefix_replace.match = $$QT_BUILD_TREE 149 prefix_replace.replace = $$[QT_INSTALL_PREFIX] 150 QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace prefix_replace 151} 152 153unix:!symbian { 154 CONFIG += create_libtool explicitlib 155 QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS] 156 QMAKE_PRL_LIBDIR = $$[QT_INSTALL_LIBS] 157 QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace 158 QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace 159} 160 161contains(QT_PRODUCT, OpenSource.*):DEFINES *= QT_OPENSOURCE 162DEFINES *= QT_NO_CAST_TO_ASCII QT_ASCII_CAST_WARNINGS 163contains(QT_CONFIG, qt3support):DEFINES *= QT3_SUPPORT 164DEFINES *= QT_MOC_COMPAT #we don't need warnings from calling moc code in our generated code 165DEFINES *= QT_USE_QSTRINGBUILDER 166 167TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end 168 169QMAKE_MOC_PC = $$[QT_INSTALL_BINS]/moc 170moc_dir.name = moc_location 171moc_dir.variable = QMAKE_MOC_PC 172 173QMAKE_UIC_PC = $$[QT_INSTALL_BINS]/uic 174uic_dir.name = uic_location 175uic_dir.variable = QMAKE_UIC_PC 176 177QMAKE_RCC_PC = $$[QT_INSTALL_BINS]/rcc 178rcc_dir.name = rcc_location 179rcc_dir.variable = QMAKE_RCC_PC 180 181QMAKE_LUPDATE_PC = $$[QT_INSTALL_BINS]/lupdate 182lupdate_dir.name = lupdate_location 183lupdate_dir.variable = QMAKE_LUPDATE_PC 184 185QMAKE_LRELEASE_PC = $$[QT_INSTALL_BINS]/lrelease 186lrelease_dir.name = lrelease_location 187lrelease_dir.variable = QMAKE_LRELEASE_PC 188 189QMAKE_PKGCONFIG_VARIABLES += moc_dir uic_dir rcc_dir lupdate_dir lrelease_dir 190 191include(qt_targets.pri) 192 193win32:DEFINES+=_USE_MATH_DEFINES 194 195symbian { 196 # Make partial upgrade SIS file for all dll's except webkit and s60main 197 !contains(TARGET.UID3, 0x200267C2):!contains(TARGET.UID3, 0xE00267C2):!contains(TARGET.UID3, 0x2001E61F):!contains(TARGET.UID3, 0xE001E61F) { 198 # Partial upgrade SIS file 199 vendorinfo = \ 200 "; Localised Vendor name" \ 201 "%{\"Nokia\"}" \ 202 " " \ 203 "; Unique Vendor name" \ 204 ":\"Nokia, Qt\"" \ 205 " " 206 isEmpty(QT_LIBINFIX): PARTIAL_UPGRADE_UID = 0x2001E61C 207 else: PARTIAL_UPGRADE_UID = 0xE001E61C 208 209 pu_header = "; Partial upgrade package for testing $${TARGET} changes without reinstalling everything" \ 210 "$${LITERAL_HASH}{\"$${TARGET}\"}, ($$PARTIAL_UPGRADE_UID), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU,RU" 211 partial_upgrade.pkg_prerules = pu_header vendorinfo 212 partial_upgrade.files = $$QMAKE_LIBDIR_QT/$${TARGET}.dll 213 partial_upgrade.path = c:/sys/bin 214 DEPLOYMENT += partial_upgrade 215 } 216} 217