summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
Commit message (Collapse)AuthorAgeFilesLines
* deal with %PATH% containing parenthesesOswald Buddenhagen2012-07-091-1/+2
| | | | | | | | we need to make cmd escape the expanded output, so it doesn't confuse its own command line parsing (which happens later!). Change-Id: I0c2c71d276c0aebe3c2163f7f08db8050a14d7ce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* qt_parts.prf: fixed handling of demosRohan McGovern2012-07-061-2/+2
| | | | | | | | | Subdir for demos/demos.pro is 'demos', not 'examples'. Change-Id: Ic4d80501e5d910891b0436ecd9881b79a4a99090 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qt_parts.prf: fixed examples, tests, tools always disabledRohan McGovern2012-07-061-4/+4
| | | | | | | | | exists() resolves the path relative to qmake's current working directory, which is mkspecs/features. Explicitly refer to the full path. Change-Id: I04e9f377528bffc1ebeeed69c86d73b85a117423 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* centralize handling of QT_BUILD_PARTSOswald Buddenhagen2012-07-051-0/+44
| | | | | | Change-Id: I33b8c3958a102d87461ad887fa5749bd9a6dc037 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* make non-bootstrapped non-installed prefix-built executables runnableOswald Buddenhagen2012-07-052-15/+93
| | | | | | | | | tools like idc and lrelease are outside qtbase/bin and depend on libraries which are not in any search path, so we need some way to let the modules announce the locations (qt_tool.prf) and use it (in qtPrepareTool()). Change-Id: I98d5109cbee5e745d86dde94e3dc791d42edc3ec Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* set DLLDESTDIR only for non-prefix buildsOswald Buddenhagen2012-07-051-1/+1
| | | | | | | a prefix build needs to be installed first anyway Change-Id: I798861fddad2be289e9e4f182d0373e389b57437 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* set DLLDESTDIR to the build dir, not the install dirOswald Buddenhagen2012-07-051-1/+1
| | | | | Change-Id: I0aa3b512e5d633c5628c4bb285f96a41cda858d9 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Fix FRAMEWORK_INCLUDE for MacIikka Eklund2012-07-051-1/+1
| | | | | | | | | | | | On Mac the framework include paths were generated wrong. The $${MODULE_NAME} was missing. This patch fixes the framework include path generation. Change-Id: Ic0e8d69ac7ac63be755302dc822c28240c9bc3d2 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Skip (re-)creation of cmake files during build passes.Stephen Kelly2012-07-041-1/+1
| | | | | Change-Id: I03973220c17c065bc6ea391300b677e27f48a46f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Uppercase the CONFIG for verbatim mode.Stephen Kelly2012-07-041-1/+1
| | | | | Change-Id: Iec883e0218af80fc329d866affb2b95db72c54d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Avoid load(testcase) for installing test helper appsRohan McGovern2012-07-041-26/+30
| | | | | | | | | | | | Make test projects declare TEST_HELPER_INSTALLS rather than calling a function exported by testcase.prf. load(testcase) may be unsafe, as testcase.prf should be processed after default_post.prf. Fixes silent disabling of various autotests. Change-Id: I56b35ffd653a637ad5ab18d64dd1a1edadfac59f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
* Use qmake dirname function correctly.Stephen Kelly2012-07-031-1/+1
| | | | | | | It takes a variable name apparently. Change-Id: I9e2e2a0f6f5c42ecf9d07e4ac45954f14676d559 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* qmake: improve the .pc files generatorKonstantin Ritt2012-07-031-0/+5
| | | | | | | | Don't hardcode the "qt_config" EXTRA variable and use QMAKE_PKGCONFIG_VARIABLES instead. This allows qmake create the .pc files that are unrelated to Qt. Change-Id: Ic72005e8819a15f6c50f3aaf79424a247fba20af Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Look for CMake config files in the same prefixes as mkspecs.Stephen Kelly2012-07-031-1/+5
| | | | | | | | | This will allow tests of modules outside of qtbase to find their CMake config files. Change-Id: I68036908d0fd2ec640530b57d0f572d211ef44f0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Simplify logic for paths to CMake modules in tests.Stephen Kelly2012-07-031-5/+1
| | | | | | | Use a command line argument instead of an environment variable. Change-Id: I518b21d1fb9567d182384885a308c76e108598d8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Merge branch 'buildsystem' (second round)Oswald Buddenhagen2012-06-295-17/+75
|\ | | | | | | | | | | | | | | | | refactoring and cleanup. fixes x-builds between different os families. Conflicts: mkspecs/features/qt.prf Change-Id: I0205e6f07f77c9b015cf055dd87a471883949a91
| * unset QT_MODULE_* after loading the module prisOswald Buddenhagen2012-06-271-0/+5
| | | | | | | | | | | | | | | | abuses have been observed in the wild, so make sure these variables are not available. Change-Id: I502c3f5db7d341cf6a8bd2ec09e87f129da2fca6 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| * move initialization of numerous variables to spec_pre.prfOswald Buddenhagen2012-06-271-0/+39
| | | | | | | | | | | | | | | | this is cleaner by design and allows removing some hacks. Change-Id: I3270195b5d62caa476ffde7c1e1ef43cec99c565 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
| * don't put QMAKESPEC_ORIGINAL into INCLUDEPATH any moreOswald Buddenhagen2012-06-271-5/+0
| | | | | | | | | | | | | | | | the spec does that itself, given that the real spec is just included nowadays, instead of copied (which never worked without side effects). Change-Id: Ibf655b9a943dadb949d3c7a58d8fe50fcd62cef7 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
| * use real qmakespec as basis for finding featuresOswald Buddenhagen2012-06-271-11/+0
| | | | | | | | | | | | | | | | | | | | doesn't make much of a difference on unix (as the default specs are just symlinks). on windows, it makes the gross hack used for finding spec-specific wince default_post.prfs unnecessary. Change-Id: Id403dce5be487e1ae22c1f54b8095a6afdd98bc8 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
| * revamp handling of qmake target modeOswald Buddenhagen2012-06-271-0/+31
| | | | | | | | | | | | | | | | | | | | | | the project evaluator becomes oblivious of the target mode. the mode is set up in spec_post.prf according to the spec. $$QMAKE_TARGET contains the feature suffixes to search, and is also contained in $$CONFIG. the target_mode variable itself becomes private to the Makefile class. Change-Id: I3c06d9dab536b753343cec6c5c491d3203e50bd8 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | Update the macros for shared/DLL and static buildsThiago Macieira2012-06-284-14/+34
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, we had a mess of different macros used for building DLLs, for building shared libraries on Unix systems and for building static libraries. Some of the macros were contradictory and did not work. From now on, there shall be only: - QT_STATIC: indicates that it's a static Qt build and the export macros should expand to empty - QT_SHARED: indicates that it's a shared / dynamic Qt build and the export macros should expand to Q_DECL_EXPORT or Q_DECL_IMPORT, depending on whether the macro corresponds to the current module being built (the QT_BUILD_XXXX_LIB macro comes from the module's .pro file) QT_BOOTSTRAPPED implies QT_STATIC since the bootstrapped tools link statically to some source code. QT_STATIC is recorded in qconfig.h by configure when Qt is configured for static builds. Nothing is recorded for a shared / dynamic build, so QT_SHARED is implied if nothing is defined. This allows for the existence of a static_and_shared build: with nothing recorded, defining QT_STATIC before qglobal.h causes the export macros to be that of the static form. Linking to the static libraries is out of the scope of this change (something for the buildsystem and linker to figure out). From this commit on, the proper way of declaring the export macros for a module called QtFoo is: #ifndef QT_STATIC # ifdef QT_BUILD_FOO_LIB # define Q_FOO_EXPORT Q_DECL_EXPORT # else # define Q_FOO_EXPORT Q_DECL_IMPORT # endif #else # define Q_FOO_EXPORT #endif The type of the Qt build is recorded in QT_CONFIG (in qconfig.pri) so all Qt modules build by default the same type of library. The keywords are "static" and "shared", used in both QT_CONFIG and CONFIG. The previous keyword of "staticlib" is deprecated and should not be used. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-April/003172.html Change-Id: I127896607794795b681c98d08467efd8af49bcf3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* mkspecs: Use the right variable name to find the qdevice.priHolger Hans Peter Freyther2012-06-261-1/+1
| | | | | | | | | Commit 8b822825c5066957622194acf0fc267a6bf473fd introduced the /get version but used the wrong variable name. Fix it by using QT_HOST_DATA. Change-Id: Ia4759b8c6ff2de9726f3aebae2f2f39c6644d4ec Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make using testlib automatically "promote" all modules to -privateOswald Buddenhagen2012-06-262-2/+3
| | | | | | | | | | | | autotests often need private headers (especially with qpa headers now being private) and have no compatibility requirements, so it makes sense to just use the privates of requested modules. this also suppresses the useless warning about using privates, in case they are still explicitly specified. Change-Id: I9e499bedcf6ef25777283ff1432cef7254e9093a Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Factorize the cmake test infrastructure to be reusable.Stephen Kelly2012-06-261-0/+51
| | | | | | | | This makes it easy to add cmake module tests for all modules. Change-Id: I303bf7674ca6ae7a8544488f96e8e02afbaa6ff0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Don't re-evaluate the lib location.Stephen Kelly2012-06-261-4/+4
| | | | | | | Rely on the DESTDIR variable being set correctly by qt_module_config. Change-Id: I1a166124024722ec5a189a7402b38646179aa890 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* add possibility to set $$MODULE_IMPORT_SUFFIX in module .pri filesOswald Buddenhagen2012-06-241-1/+1
| | | | | | | | quick1 got a suffix, so we need a way to set it Change-Id: I099b868106abd4d3040047703472faa65f694f31 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* embedded doesn't exist anymoreGirish Ramakrishnan2012-06-221-3/+0
| | | | | Change-Id: Ib56895defb72f51bb790994b9fd72fc81ef25af5 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* make missing qt modules fatalOswald Buddenhagen2012-06-191-1/+3
| | | | | | | there is no point in continuing; it will error out later (in more cryptic ways) anyway. Change-Id: I2562eadc2d91bfaa6e85368dc3774da31409a141
* less confusing wordingOswald Buddenhagen2012-06-191-1/+1
| | | | Change-Id: Ia509fe1a28de803673623d425f5949b35404598c
* fix misnomer: qt_module.prf => qt_build_config.prfOswald Buddenhagen2012-06-193-34/+36
| | | | | | qt_module suggests to be congruent to qt_plugin. Change-Id: I629530bcbe2ba6c0adbdc11a275119c8aff0c953
* fix regexp in qmodule.pri inclusion checkOswald Buddenhagen2012-06-192-3/+1
| | | | | | this also allows us removing the redundant flag variable Change-Id: If26d22280ce7bc2ef3514c7c11ce7cd9baec1293
* support for private depends in modulesOswald Buddenhagen2012-06-193-1/+12
| | | | | | | | | | | if a module's private headers add additional dependencies, QT_PRIVATE is now the place to declare them. note however, that this may not contain other private headers in turn - that would be much harder to implement, and we want the explicitness anyway. Change-Id: Ic516fcf1a003c95798df4fbe216f92016afaf47e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* correctly find idc even for makefilesOswald Buddenhagen2012-06-191-1/+2
| | | | | | | | this is a qt tool, so it needs appropriate treatment Change-Id: I0cb30ba07e03c72ee275cd916ca0a39a99fc3705 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* scan module path backwardsOswald Buddenhagen2012-06-191-0/+1
| | | | | | | | the last read file wins, so reading in inverse order ensures that we respect the list's sorting by decreasing priority. Change-Id: I2e6539a52d4195ed6af4c0143b035c39577b8310 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* let default_pre add modules to the qmake pathOswald Buddenhagen2012-06-191-1/+3
| | | | | | | | | | | | | | that way qmake is made aware of the forwarding pris which are generated for this module even when a top-level .qmake.cache prevents the module's root from being found automatically. the path is also added to the cache, so that subsequent partial qmake-ing of the tree will still find the module. this also makes the -cache-module-fwd parameter of syncqt useless, so remove it. Change-Id: I2afbc52a465c0b3260e9bcaf032c43a82ae8061f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* recognize QMAKEMODULES env var, property and cache variableOswald Buddenhagen2012-06-191-2/+8
| | | | | | | | | the latter allows sub-projects to dynamically extend the qmake search path specifically for modules. the others are just for congruency with QMAKEPATH and QMAKEFEATURES. Change-Id: I0c099035f8dc8ee8645566dbc635644a15ed9da5 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move generation of module master headers to qt_module_headersOswald Buddenhagen2012-06-191-0/+28
| | | | | | | | | this has the advantage that the %mastercontent assignments in sync.profile are not necessary any more. as it happens, most modules got them wrong anyway. Change-Id: Ibdf689be408f18e1d90c44ef4ecacd7c24b1f1c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove detection-based usage of modules which are frameworksOswald Buddenhagen2012-06-191-11/+0
| | | | | | | | each qt module comes properly declared and located, so there is simply no point in performing a search. Change-Id: I86fad21bb8e128b85f1000cc116cc44a23642eb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix direct includes from modules which are frameworksOswald Buddenhagen2012-06-191-1/+1
| | | | | Change-Id: I1f2c1e5ebdb2fa258500a08b32dcafb4150ee424 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* let modules which are frameworks remember that factOswald Buddenhagen2012-06-191-0/+2
| | | | | | | | this will allow us to not rely on the modules matching the global qt_framework setting. Change-Id: Ic1dce757ff63d06af54a2428e23a1bbcf1c81ba1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove workarounds for broken syncqtOswald Buddenhagen2012-06-192-10/+0
| | | | | | | SYNCQT.HEADER_FILES contains qconfig.h just fine nowadays. Change-Id: I52b35d2ac41d772acaef06f3931df75742c867cb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* automatically add QT_BUILD_FOO_LIB to DEFINESOswald Buddenhagen2012-06-191-0/+5
| | | | | Change-Id: I35d9861e48469eb5cc8824e361450684047e6559 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove backwards compatibility hacksOswald Buddenhagen2012-06-192-14/+0
| | | | | | | | | | there won't be terribly many projects relying on it. now's the time to find out for sure ... this reverts commit 3279b07302fde0eb14f9b197c9ad2e14d512817e Change-Id: Id36687ab3bfc7dd5ce35b584621a8f5b3ee00fc9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* auto-generate QMAKE_PKGCONFIG_REQUIRES and QMAKE_PKGCONFIG_DESCRIPTIONOswald Buddenhagen2012-06-191-0/+6
| | | | | | | less boilerplate, more accuracy Change-Id: I6cc2abd50eafb4901d987c122f10a62ec9ea9da3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move QMAKE_PKGCONFIG_VARIABLES stuff out of qt_module_config.prfOswald Buddenhagen2012-06-191-23/+0
| | | | | | | | | | | | | | this only needs to be set in one module each - the one which provides the relevant tool. this is moderately source-incompatible, in that a package which queries a given variable from the wrong library won't get the path it looks for any more. as it's likely that everyone was using QtCore as a reference anyway, this will only affect uic - which is in the new QtWidgets library, to which people need to adjust anyway. Change-Id: If05d3c33fda6cd12466e261391b825c59651d3e4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove ACTIVEQT_IDC assignment from QMAKE_IDCOswald Buddenhagen2012-06-191-1/+0
| | | | | | | the specs have been cleaned of it Change-Id: Ica0ab4d5f9d36f1f9566759326f3b3144e34cd67 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove support for CONFIG+=qt_compatOswald Buddenhagen2012-06-191-6/+0
| | | | | | | this is truly prehistoric stuff Change-Id: Ia781fc03c081bff895f4d2b5325d3624441bdf5f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* don't explicitly inject qt header/library pathsOswald Buddenhagen2012-06-191-6/+0
| | | | | | | the modules already do that on demand. Change-Id: I889a5cd7b62631e2551ada4b096f20b3b79b2c75 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* always add library path from moduleOswald Buddenhagen2012-06-191-3/+3
| | | | | | | | that way we can theoretically support modules outside $QTDIR. also, it's just cleaner. Change-Id: I6139ebc7328b64ace8552b3e54f9a8c69248ceec Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>