summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* assemble the tool commands at use time, after allOswald Buddenhagen2013-06-153-10/+11
| | | | | | | | | | | the precise syntax depends on what exactly the command is used for, so we need to resolve it at the last moment. see followup commits. This logically reverts commits 6f4ff81380862ad0e788151b35d742f548241d5a and 731e6bece5cebe205ca47c1c078c7ac18984ba1c. Change-Id: If285c91d7521069be86d32593b5c2ae2027b3038 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Adjust the cmake files to find the dlls in the bin dir.Stephen Kelly2013-06-152-23/+42
| | | | | | Change-Id: I840f963c3648d123b31f79aa2c8902c0ad74e982 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* remove overquoting of extra compiler argumentsOswald Buddenhagen2013-06-122-4/+4
| | | | | | | qmake automatically escapes the ${expandos}. Change-Id: If74b6d2f2c68ff50785fdcbb66351122a273051f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove overquoting of extra compiler commandsOswald Buddenhagen2013-06-122-3/+3
| | | | | | | the commands are already quoted appropriately for the shell. Change-Id: I746bb5fba2cd6548c5dc7ef81087c69a200ecbb8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix QMAKE_COMPILER fallback for clang specsOswald Buddenhagen2013-06-121-1/+1
| | | | | | | | in the actual specs, we also set 'gcc' for clang. Change-Id: Ifc6b27d56596f34c944205795d665f545d090f80 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Don't test existence of private header directories for mac frameworksStephen Kelly2013-06-101-1/+5
| | | | | | | | | | | These directories are not currently part of the Qt installation for mac frameworks. Task-number: QTBUG-31641 Change-Id: Ifef372cc2ebb692f9ae5a7b1f8dba5f683d1e7eb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove the use of CMAKE_FIND_ROOT_PATH.Stephen Kelly2013-06-101-1/+1
| | | | | | | | | | | | This is actually a list in CMake, not a value to be prepended to paths. Specify the QT_SYSROOT instead to root the location of include directories. CMake will soon get a CMAKE_SYSROOT variable which will replace this. Change-Id: I239f69f127f3676a3835aa4f29638f44ef209819 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* mkspecs/qml_plugin: adding -nonrelocatable flag to qmldump callFawzi Mohamed2013-06-101-1/+1
| | | | | | | | | | | | nonrelocatable adds the full uri to the exported type information which is the correct thing to do for the qt plugins (and 99% of the cases). This way import bla.x 1.0 works correctly in the code model. Change-Id: Ia06873dd8b2ea4627e3297a98e8df87275ceaf73 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* redo include path logic for pre-generated headersOswald Buddenhagen2013-06-101-16/+32
| | | | | | | | | make the include dir in the source tree the "main" include path, as that's where the majority of the headers is. then selectively add the shadowed dirs. Change-Id: I03ad13cfcf77175c141b94d41b1221740d851faf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* reshuffle path setupOswald Buddenhagen2013-06-102-7/+8
| | | | | | | | | | | | | rename MODULE_PROFILE_DIR to MODULE_BASE_INDIR. force MODULE_BASE_OUTDIR to be always the shadow of the above. rename MODULE_BASE_DIR to MODULE_SYNCQT_DIR (the former is still recognized for backwards compat with webkit). the idea behind these changes is making the variable names and override possibilities reflect their actual use. Change-Id: Ica4062d7231a0ce13241670e0d0f43e6b1b97160 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use correct variable for library base pathOswald Buddenhagen2013-06-101-1/+1
| | | | | Change-Id: I6d621db2c4d5365a9c9a7284026b464e663a4cc6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* update some comments relating to forwarding module pri filesOswald Buddenhagen2013-06-102-4/+4
| | | | | Change-Id: I3486f949fee2ac977e3cde669188790e5f4b3167 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* allow modules to extend their MODULE_{,PRIVATE_}INCLUDESOswald Buddenhagen2013-06-101-0/+2
| | | | | Change-Id: I5e401edbe891846579cf6d9ff84427d16783923b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Strip the -L dirs when processing GL dirs for the CMake files.Stephen Kelly2013-06-061-1/+1
| | | | | | | | | | | | | The generated cmake files expect only the names of libraries, so the existence of directories causes erroneous fatal errors when attempting to use Qt5Gui, if pkg-config returns a -L entry from pkg-config --libs egl Change-Id: Iec50b4be68ab643c3c02abce2435a98e69955138 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* don't add absent private include paths to non-git buildsOswald Buddenhagen2013-06-051-2/+2
| | | | | | | | | all private headers are created by syncqt (and are thus in the source dir), so we can simply override the normal (build dir based) paths instead of extending them. Change-Id: I9c1f3344c401b481b3f3d2295515f1aabffaa9a0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix non-git non-shadow non-prefix non-qtbase buildsOswald Buddenhagen2013-06-051-1/+2
| | | | | | | | | | these builds usually assume all headers in the qtbase build (== source == install) dir, so the path for adding our pre-generated per-module include paths needs to be triggered explicitly. Change-Id: I57ec441d58cdf8186907ee6c36dce08daa206c49 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* run syncqt only for builds from gitOswald Buddenhagen2013-06-033-3/+23
| | | | | | | | | | | | | | | | | the logic in the configures was even trying to express that, only that nowadays we always ship syncqt, so the tests were kinda pointless. this frees us from the perl dependency for non-developer builds of packaged modules (except for webkit, which needs almost every scripting language on earth anyway). obviously, this requires that the packaging scripts run syncqt in the source dir before tarring up the sources. note that for repositories other than qtbase, the -version argument needs to be passed to syncqt. Task-number: QTBUG-29465 Change-Id: Ic929ab17a5de4b30fbf48b3aa9bfa3b4d2ef37d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* move module master header generation back to syncqtOswald Buddenhagen2013-06-031-25/+0
| | | | | | | | | | now that we split out the part that depends on the project file, we can do it cleanly here. this way we can generate these headers at pre-build time already. and for git builds, perl is probably faster than qmake at this task. Change-Id: I343255c6de22329471a3ae2c2aac9ebeb160a501 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* split out dependencies from module master headerOswald Buddenhagen2013-06-031-5/+14
| | | | | | | | this will allow us the create the dependency list in a different way than the rest of the master header. Change-Id: Ib083fbbf6194cd9a161d669f860aaf32fd96d9d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless quoting of MODULE_*INCLUDES assignmentsOswald Buddenhagen2013-06-031-3/+3
| | | | | | | it would only cause trouble further down the line. Change-Id: Ied9ba8a1ecf36b77e1091c73564bd7601ea6a6b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* move module version header generation back to syncqtOswald Buddenhagen2013-06-031-29/+0
| | | | | | | | | | | there is no particular reason for it being done by qmake. avoids that the logic is distributed over two source files, and allows us to generate these headers at pre-build time already, including not forwarding to a yet unexisting file (which would have a yet unknown location). Change-Id: I9c78ab425cf6f01d076c86fd1ee602626f231487 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Android: Fix Windows build with recent SDKEskil Abrahamsen Blomfeldt2013-05-311-0/+6
| | | | | | | | | | | Since the dx tool has moved in the SDK, we need to update our copy of it to also search in the new location for dx.jar. Task-number: QTBUG-31405 Change-Id: If093a9f51f33c5d8666919f516a3b336322a7169 Reviewed-by: Ray Donnelly <mingw.android@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Android: Compile jar file on WindowsEskil Abrahamsen Blomfeldt2013-05-281-1/+1
| | | | | | | | | | | | Due to the way the DEX_CMD is formatted on Windows this would break every time. Since we actually bundle dx.bat in the repository, there's no need to check for its existence, so the easy fix is just to move the existence check into the code path where it's run from the SDK. Task-number: QTBUG-31405 Change-Id: If1aeb744d3abbd2488153b13aac401436965074e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
* add -compile-examples configure optionOswald Buddenhagen2013-05-261-2/+1
| | | | | | | | | | | | | | | | this overrides the magic that makes examples only install their sources in production builds. packagers may want to force the build of the examples, so they can package them up for demo purposes. this is actually why we formerly had the split between demos and examples ... Task-number: QTBUG-30788 Change-Id: I5633f69404c5aa6846f5496e8f161a273a7a7da3 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Added the attribute "extends".Christian Strømme2013-05-221-1/+4
| | | | | | | | | | | Enables us to detect if a library should be added as a dependency or not. E.g., libQt5MultimediaQuick_p should only be added as a dependency if an application is using both QtMultimedia _and_ QtQuick. Task-number: QTBUG-30861 Change-Id: Id62642c40e2ecca7149d249f65c7b0c950898374 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix Qt for Android build with recent SDK bundleEskil Abrahamsen Blomfeldt2013-05-211-0/+7
| | | | | | | | | | | | | | | In the recent revisions of the Android SDK bundle, the dx tool has moved from platform-tools/ and into build-tools/<revision-number> where revision-number is 17.0.0 at the moment. To enable building on these SDKs, we add detection for the dx tool and an environment variable which can be set to override the revision number to provide a way to build it against future revisions as well. Task-number: QTBUG-31199 Change-Id: I0d6a22163dc2e50f7a81cd3fe8f3d53c6335aaee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Check that files we expect to find actually exist when using a cmake package.Stephen Kelly2013-05-201-8/+35
| | | | | | Change-Id: If7c724daa85df5e29e410b8deb4e69beb43ee8ea Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* MSYS: use cp -f for QMAKE_INSTALL_*Ray Donnelly2013-05-202-0/+8
| | | | | | | | | | | | ... in mingw-using specs because msysgit doesn't provide install.exe and Windows doesn't care about Unix permissions anyway. Task-number: QTBUG-31147 Change-Id: Ic8032ca1a970ef41381852b6c5c372b805a124f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Only generate entries for private include dirs if they exist.Stephen Kelly2013-05-142-0/+10
| | | | | | Change-Id: I1d745adfbae371f8f1f76e954be98f4c2fd962e0 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* remove qtPrepareTool()'s ability to run batch filesOswald Buddenhagen2013-05-131-5/+1
| | | | | | | | | | | it was only meant to automatically support syncqt.bat, which is gone now. fwiw, invoking batch files from within msys Makefiles was broken to start with, as sh cannot directly run them. Change-Id: I435568c578ce79e46f4e230e985ca9a04b34ffff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless extension check from qtPrepareTool()Oswald Buddenhagen2013-05-131-1/+1
| | | | | | | | we never call it with an explicit extension, so this only complicates matters. Change-Id: Ib15180130359bb9575bf5dda564f8b817431618f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make qtPrepareTool recognize perl scripts by extensionOswald Buddenhagen2013-05-131-1/+3
| | | | | | | | this makes it possible to directly execute perl scripts on windows. Change-Id: Ibbb90d46518ea8ac4f695d07141700630b33fab3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* install host libraries into -hostprefixOswald Buddenhagen2013-05-134-12/+35
| | | | | | | | | | | | | | ... and introduce -hostlibdir configure option for symmetry. the libraries built for the host have no business in the target prefix. in principle this code would even support dynamically linked host libraries, but that's currently unused. Task-number: QTBUG-30591 Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Ivan Romanov <drizt@land.ru>
* Cache Xcode and SDK settings in .qmake.cache if it existsTor Arne Vestbø2013-05-088-41/+60
| | | | | | | | | | | | | | | The Xcode and SDK settings are expensive to resolve, as we're using system() calls to resolve them. We now try to detect the presence of a .qmake.cache file (and inform the user that creating one would be a good idea), and use the file to cache the various settings after resolving them. The Xcode logic had to be moved form xcode.conf as part of the mkspec, into default_pre/post.prf, so that we could cache() the resolved values. Task-number: QTBUG-30586 Change-Id: Ib5368cfee6f7e4a4a33f6be70d0e20d96896fe56 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Only expect EGL libraries in the cmake files if Qt is configured to use it.Stephen Kelly2013-05-071-2/+3
| | | | | | Change-Id: Ida382a80dba882bbeb920756adc0c16321efe37e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* set QMAKE_PLATFORM in win32-msvc2012Joerg Bornemann2013-05-071-0/+1
| | | | | Change-Id: I3f43ece757b6f483fde256dbcc00f72b4e71c33e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* qmake/vcxproj: add WIN64 macro for x86_46 buildsJoerg Bornemann2013-05-074-0/+16
| | | | | | | | | | | | | The compiler defines _WIN32 for x86 builds. The compiler defines _WIN32 and _WIN64 for x86_64 builds. For consistency, the same should happen to the user defined macros without underscore. The WIN32 macro is added in the win32-* mkspecs. Task-number: QTBUG-30223 Change-Id: I342afed731f4ba253a2708b98f575039a04613d7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix _WIN32 compiler defines for MSVCJoerg Bornemann2013-05-074-4/+4
| | | | | | | The compiler defines _WIN32, not WIN32. Change-Id: I359a188b4ef145b7b78c35c5b72a804200b76507 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Enable bundling Qt in Android package in build systemEskil Abrahamsen Blomfeldt2013-05-012-9/+32
| | | | | | | | | | | | | | | | | | | | | For bundling Qt, we need two things: 1. We need to build a regular .jar file out of the Java files, so that they can be built into the app package. Dexing the classes first (i.e. compiling the JVM bytecode to Dalvik bytecode) is required for loading the .jar file at run-time, but cannot be used for building it into the app, so we need two different paths. 2. We need to specify which extra files have to be bundled for each module (this is primarily for plugins and imports). This is because there is no static dependency on these files, so it cannot be detected during deployment. Task-number: QTBUG-30751 Change-Id: I733603ee5d1c64bd7c5b9357eb5d993b9d0298f7 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Define QMAKE_CXXFLAGS_RTTI_{ON|OFF} for aix-xlc mkspecAndy Shaw2013-04-261-0/+2
| | | | | | | Task-number: QTBUG-26393 Change-Id: I2d676ad6004c3fad2ef0a3ab990d6e120ed7f73c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* split qt_app.prf out of qt_tool.prfOswald Buddenhagen2013-04-262-22/+35
| | | | | | | this way we can use it for "regular" apps (gui tools) as well. Change-Id: I3b00d0bde215dff1c2726b35626c4c0c256d92c2 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make src/ subdir optionalOswald Buddenhagen2013-04-261-12/+14
| | | | | | | | | | | | there is at least one examples-only repo (qtwebkit-examples). we look for tools/ only when src/ is also present, based on the assumption that if there was only tools/, it would be actually named src/ (like in qttools). the split between the two is nowadays arbitrary anyway. Change-Id: I982b1d0e26dd7d0a5de751546099a58f86390124 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* groundwork for making "configure -nomake tools" saneOswald Buddenhagen2013-04-262-1/+17
| | | | | | | | | | | the idea is that "tools" actually means "graphical applications". that means that all bootstrapped/build tools are consistently built, regardless of their location in the source tree. non-bootstrapped non-graphical tools are a bit of a grey area. it's going to be decided on a case-by-case basis. Change-Id: I28b959b7e659d8aa86cf6769ab6d2689c855ec6b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Don't list all QMAKE_LIBS in QMAKE_LIBS_OPENGL_ES2.Stephen Kelly2013-04-231-1/+1
| | | | | | | There is no need to, and it confuses the generation of cmake files. Change-Id: I00c8751990e707cf32652babcb9af3e4b681561a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use the CMake list separator for content in a CMake list.Stephen Kelly2013-04-231-1/+1
| | | | | | Change-Id: I664c31d256d395d4afec81de66a84dc79ed10b9d Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add IMPORTED targets for the GL libraries used by Qt.Stephen Kelly2013-04-222-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | There may be multiple libraries specified in the mkspec, such as EGL and Mali, as used in devices/linux-sh4-stmicro-ST7108-g++, so create an imported target for each one. Also populate the Qt5Gui_EGL_LIBS variable with all created imported targets. Similar variables are created for the used OPENGL implementation. In the case of using the packaged ANGLE library, we already know the exact locations of the binaries. This makes it possible for third parties to use the same GL implementation as used by the Qt build itself. As these are used only privately by QtGui, they are also added to the DEPENDENT_LIBRARIES of that target so that they are found for rpath-link usage. On some platforms (eg Raspberry Pi), multiple include directories must be set to include egl.h, as the headers it includes for vcos are a bit scattered. Task-number: QTBUG-29132 Change-Id: I1126da3d37cd51c88d3670347c8b6405b285efb5 Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* purge obsolete filesOswald Buddenhagen2013-04-192-3/+0
| | | | | | | the warnings should have been acted upon before 5.0. Change-Id: I20a4673d7ec80e0252aa39289c6718fe80799de7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add the GL headers to cmake variables.Stephen Kelly2013-04-191-0/+9
| | | | | | | | | | | | | | If building angle ourselves, that's just the basic Qt include dir, and if using an external gl, look for it in the places specified in the mkspec. As the qopengl.h header includes the gl header, this is a 'public include dependency' of QtGui, so it is added to the relevant variable and the INTERFACE_INCLUDE_DIRECTORIES of Qt5::Gui. Change-Id: I8c2c1782e0a2600032771175444b087da28433fc Reviewed-by: Volker Krause <volker.krause@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Handle usr-move without forcing absolute pathsStephen Kelly2013-04-193-9/+33
| | | | | | | | | | | | | | | | | | In qtbase commit 7ac58d1ff0815566ba1de09519299b5119e5ee91 (Make cmake packages installed to /usr non-relocatable., 2013-02-11), we made cmake config files non-relocatable if they were installed to the /usr prefix. That was assumed to mean that this was a distro or platform package, and was a workaround for the usr-move problem on Fedora and ArchLinux. However, cmake bug http://public.kitware.com/Bug/view.php?id=14041 showed that forcing absolute paths in this situation is not desirable in cross compiling scenarios. CMake commit 6c613b433c45efb0bb013a6bd668cbb8ac740259 (Handle usr-move without forcing absolute paths (#14041), 2013-04-03) addressed the problem in CMake, and this commit is an equivalent. Change-Id: I065a6230bc618aa980fae6ca511ae10df4cd62c2 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Harden check for SDK platform name on Mac OSTor Arne Vestbø2013-04-181-2/+2
| | | | | | | | | | We now use an absolute path, to prevent picking up the wrong plutil binary. In addition we pipe the possible stderr output of plutil and xpath to the null device, so that the final QMAKE_MAC_PLATFORM_NAME will be empty in case of any errors, and caught by the isEmpty() check below. Change-Id: I8ad24bf63162a76410c2ae223dd2fc48e7886bbf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>