summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/default_post.prf
Commit message (Collapse)AuthorAgeFilesLines
* Fix interaction between sdk.prf and silent.prfTor Arne Vestbø2013-03-141-0/+8
| | | | | | | | | | | The 'silent' option to CONFIG will mangle QMAKE_CXX and friends by prepending an @echo, which sdk.prf doesn't handle (it assumes the variables contain names of executables, with optional arguments). Instead of teaching sdk.prf generic command line parsing we ensure that silent.prf does its job at the very end, when the tools have already had their paths fixed by sdk.prf. Change-Id: I7093232e5cc37ed8106a3b838f42ad8f1a43fb86 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* take advantage of new safety regarding build config resolutionOswald Buddenhagen2013-02-181-1/+1
| | | | | | | | | all tests that happen after default_post loads resolve_config can rely on debug vs. release, static vs. shared, and staticlib vs. dll being properly "de-conflicted". Change-Id: Ie0b4defcd6024bd1c25f53ba7e03621052d96492 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* refactor build config resolutionOswald Buddenhagen2013-02-181-7/+22
| | | | | | | | | | | | | | the current approach of having "free-flying" prf files for such a core issue is rather insane. this was noticed early on, as evidenced by the forcible loading of debug/release/debug_and_release in default_post. however, things remained a mess, in particular static vs. shared. consequently, the commit merges all related feature files. the actual config resolution is put in a separate feature file, so it can be loaded by resolve_target if that happens to be loaded early on. Change-Id: Ie30e7c63cabe9409a3263ca1650e323a870926f2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add some docu about the project loading sequenceOswald Buddenhagen2012-12-131-0/+2
| | | | | Change-Id: Icb6bb58247724aeb6b9433a8d032718f1ba4babe Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* factor out testcase_targets.prfOswald Buddenhagen2012-12-031-9/+0
| | | | | | | | | instead of letting *every* qmake-based project have recursive check target, let interested projects "subscribe" to it by adding CONFIG+=testcase_targets in a central place (.qmake.conf, which Qt itself does via qt_build_config.prf). Change-Id: Ib13fdd2d3a1adee0c5ad02b6b176a664c583bf9d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* factor out qt_docs_targets.prfOswald Buddenhagen2012-11-281-53/+0
| | | | | | | | | instead of letting *every* qmake-based project have recursive docs targets, let qt modules "subscribe" to it explicitly by having load(qt_build_config) in their .qmake.conf (which they already do). Change-Id: I97b74591fd0c4bd5f8b08c5f550df9c7eef2f556 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* revamp doc generation targetsOswald Buddenhagen2012-11-271-7/+20
| | | | | | | | | | | | | | - the old docs target becomes html_docs - a new qch_docs target is added. the .qch files end up directly in QT_INSTALL_DOCS, wihout any subdirectories in between - the new docs target invokes html_docs and qch_docs - respective un-/install targets are added as well. note that the install targets don't depend on the build targets, as it's virtually impossible to get the dependencies right throughout the hierarchy. Change-Id: I07a2589db8252371e77cf925c47c4e59fbd1b2ca Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Add config option to build documentation as a two-step processTor Arne Vestbø2012-10-251-2/+17
| | | | | | | | | | | | | | | | | | | | The new 'prepare_docs' CONFIG option triggers the documentation rules in default_post to generate two extra targets: prepare_docs and generate_docs. The prepare_docs stage runs qdoc with the -prepare option, which means qdoc will only generate index files, and the generate_docs stage will call qdoc with -generate, which reads the index files and generates the final output. The regular docs target will then run the prepare_docs target for all submodules before running the generate_docs target. This ensures that when generating the final output, qdoc has all the index files for all the other modules available, to be able to resolve cross-references between the various Qt modules. This patch needs a follow-up in qt5.git to add CONFIG+=prepare_docs, so that the root Qt5 build will be able to hook into this new behavior. Change-Id: I654d7f0d4d5a41d9be208e6d3a8923bf0194f9ad Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Prevent 'make install' from automatically installing documentationTor Arne Vestbø2012-10-181-0/+8
| | | | | | | | | Just like 'make docs' is used to build documentation, you will now have to run 'make install_docs' to install it. Change-Id: I57db53160ca91618784f4e39da0a47322c070208 Task-number: QTBUG-27590 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Refactor recursive target logic out of default_post into functionTor Arne Vestbø2012-10-181-31/+5
| | | | | | | | | The qmake function prepareRecursiveTarget can now be used both by the existing logic in default_post, as well as future recursive targets that will be needed as part of the modularization of documentation builds. Change-Id: Ibc72c3e224cb57c9f1796de3b04fda9de663dbb4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Modularize documenation buildTor Arne Vestbø2012-10-101-0/+1
| | | | | | | | | | qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global includes, instead of using relative paths. Qt modules will automatically get a doc target that builds and installs into the right place (including supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module). Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Make it possible to force generation of debug info in release buildsAndreas Holzammer2012-08-091-3/+9
| | | | | Change-Id: Ie79e5a6a87475d5140163a2a547b4385a53fc05f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* fix host vs. makefile directory separator messOswald Buddenhagen2012-07-281-2/+2
| | | | | | | | | | | | | | | | | the system path separator and shell are bound to the host system (system() will use cmd even on mingw with sh.exe in path). the makefiles otoh may depend on what the qmakespec defines. consequently, add $$system_path() and $$system_quote() (for use with system() & $$system()). $$native_path() is renamed to $$shell_path() and should be used with $$shell_quote() to produce command lines in makefiles. $$QMAKE_DIR_SEP needs to be applied to Option::dir_sep right after parsing the spec, so it is available to $$shell_{path,quote}(). Change-Id: If3db4849e7f96068cf03a32348a24f3a72d6292c Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* fix syntax error in breakpad supportOswald Buddenhagen2012-07-251-1/+1
| | | | | | Change-Id: I7964615814377ae4fd9c7da897978100c9294835 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make use of new functionsOswald Buddenhagen2012-07-161-13/+5
| | | | | | | makes for cleaner code Change-Id: I1a86bc4cac3778a1df37aa3307e5a8edac246961 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Update the macros for shared/DLL and static buildsThiago Macieira2012-06-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* remove qt from CONFIG for non-artifact templatesOswald Buddenhagen2012-06-191-0/+2
| | | | | | | | | there is no point in adding Qt modules to SUBDIRS projects. as QT contains core and gui by default, the operations are relatively expensive, so skip them when they are unneeded. Change-Id: Ibe6447ff452e403cb040fabe245d248edbda0eaa Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* define have_target CONFIG flagOswald Buddenhagen2012-06-191-1/+3
| | | | | | | | | the check whether we are building a lib or an app (and thus have a target) is done by quite some feature files (and generally wrongly, as they do not account for the new aux target), so centralize it in default_post.prf. Change-Id: I868edbc4185be8a6c23ecd4a2c126024d73cdeb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Set QMAKE_DOCS_INSTALLDIR to $$[QT_INSTALL_DOCS] to allow overriding in .proMarius Storm-Olsen2012-05-151-1/+1
| | | | | | | | | | | | Normally you want to pass -installdir $$[QT_INSTALL_DOCS] to qdoc by default. However, if you want to force the generation of URL links to the documentation, the option cannot be specified. By setting the QMAKE_DOCS_INSTALLDIR variable in default_pre.prf a project may override it at will, as for example Qt Creator would do. Change-Id: Ib31f03acf4e8050cf2dd3aa33f3a10ed027f1df7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Properly implement a 'make docs' target for subdirs and apps/libsMarius Storm-Olsen2012-05-091-0/+27
| | | | | | | | | | | | | | Only call qdoc for projects which sets the QMAKE_DOCS variable to point to a qdocconf file. Exclude examples/ and tests/ from the qdoc run, by adding no_docs_target to CONFIG for those projects. Change-Id: Ic856c8f19db59309302d0602b3e99735609e525a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Make it possible to disable the 'check' targetBradley T. Hughes2011-11-161-5/+7
| | | | | | | | | | | | | | | | | If subdir.CONFIG contains no_check_target, we do not recurse into that subdir when generating the 'check' target. This will be used to selectively disable crashing tests on Mac OS X. Currently, all autotests are disabled on Mac OS X. The goal is to re- enable them, but not all at once. This approach allows us to get each change through the CI system individually. The first step is get all tests to build, but not run, then we will re-enable the tests for each module, possibly disabling individual tests at the same time. Change-Id: I69f62c238f381ae0315d414cd71d76bc88b088dd Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Split TARGET_BASEPATH from breakpad.Caroline Chao2011-11-111-59/+4
| | | | | | | | | | | | | | TARGET_BASEPATH becomes QMAKE_RESOLVED_TARGET. QMAKE_RESOLVED_TARGET will be reused for future implementation of code coverage tool TestCocoon. Creating of resolve_target.prf. Clean unused "unset(SYMBOLFILENAME)" in default_post.prf. Change-Id: I054efb0065fa06697b60ac60a9ddf364f2f40366 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qmake: remove symbian supportJoerg Bornemann2011-11-071-9/+0
| | | | | Change-Id: I1db834500921681676a6f46e7750bdd81bf0093d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Let CONFIG+=no_default_target also disable `check' by defaultRohan McGovern2011-08-111-1/+7
| | | | | | | | | | If the compilation of a subdir was explicitly disabled by default, then the testing of that subdir should also be disabled by default. Change-Id: I928e232393e89a7c27813b7a48864d4e0fb687f8 Reviewed-on: http://codereview.qt.nokia.com/2835 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+122
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12