summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix Windows buildAlexandru Croitor2019-03-1812-61/+111
| | | | | | | | | | | | | | | | | | | | | | | | - Fix qmake build - Fix QtNetwork moc-ing, by including the moc files inside the cpp files - Fix sql odbc plugin by including QT_PLUGIN define - Fix Boostrap to link against the Platform target, to get the correct Unicode and WIN64 defines. - Fix vulkan headers to be found - Fix freetype bzip and png unresolved symbols / linker issues when building minimal platform plugin (also need to make sure to use the vcpkg toolchain instead of CMAKE_PREFIX_PATH because then find_package is overridden, which does magic to properly propagate static library dependencies). - Fix qfilesystementry test not to be built without private tests feature (it led to undefined symbols issues). - Make sure to remove QT_NO_CAST_TO_ASCII define when building QtCore, so that the qstringbuilder3 test builds successfully. Task-number: QTBUG-74140 Change-Id: I353d08392b604d55f8e62cdd8696d1e19a3c084a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Regenerate cmake files from configure.json filesAlexandru Croitor2019-03-184-43/+53
| | | | | | | | | The new files represent the json features more closely. This helps with various build issues as well, like dynamicgl feature not being present before. Change-Id: I433592f48e0550700226a635492a3ce15af743c1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Improve configurejson2cmake feature output generationAlexandru Croitor2019-03-181-30/+72
| | | | | | | | | | | | | | | | | | | There were a few cases of feature outputs that were handled incorrectly before this change, specifically: - publicFeatures and privateFeatures with custom names - privateFeatures that also ended up writing defines into public headers - publicFeatures that ended up in private headers - internal features (that should have no QT_FEATURE_foo defines) that were still written to either public or private headers The change takes care of all those cases by keeping a map of which features need to be written along with any visibility specifications, as well as custom name changes. Change-Id: I37baeaeacdfe4935128a392c72ca71b5c3ca1c8d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Do define generation after feature evaluationAlexandru Croitor2019-03-181-18/+40
| | | | | | | | | | | | | | | | | | | Instead of generating defines guarded by feature ifdefs, record the define information (condition, name, value, etc), and generate the final define statement only if the feature condition evaluated to true. This removes the need to generate feature defines (QT_FEATURE_foo) for features that have neither public nor private outputs in the configure.json file. Also note that all qt_feature_definition() calls (which correspond to type:"define" outputs in json files) now generate defines only in the public header, which seems to be consistent with how qmake evaluates json files. Change-Id: I5210b405d5735dd9df5f7a55d1ea9547bb7b1159 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Add QT_CFLAGS_* when building x86simd testsTobias Hunger2019-03-183-7/+22
| | | | | Change-Id: I5caa088d517cb9d3749c3ed8ef88a41552c1d340 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Better reporting of unused keys from qmakeTobias Hunger2019-03-181-28/+25
| | | | | Change-Id: Ie1b1f446c314bb5248cc13efeae1f279b0182e04 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle SIMD sourcesTobias Hunger2019-03-182-0/+78
| | | | | Change-Id: Ib445888e769432e8c247ae2d2fb5d8af2d5cd275 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Corelib: Update to include qrc-file removalTobias Hunger2019-03-181-1/+6
| | | | | Change-Id: I18d556d7517de7d9f2eb55045511d2166f0105ce Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Use qt_evaluate_config_expression for feature enable conditionsAlexandru Croitor2019-03-141-2/+4
| | | | | | | | | | | | | | | Certain features like opengles2 can be enabled or disabled based on the conditions that are specified in the ENABLE and DISABLE parameters. Because some of those conditions use STREQUAL with a single quoted argument, we have to use qt_evaluate_config_expression to circumvent the CMake bug regarding single quotes, which is described in the function implementation. Only then will enabling / disabling work correctly. Change-Id: I3b68ef611c985f0d8416fd089055fd862da1e542 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: configurejson2cmake.py: Fix typoTobias Hunger2019-03-121-1/+1
| | | | | Change-Id: Ib142032577f1d84bfb2402103271db04a4bb25a1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Update README to mention setting the vcpkg toolchainAlexandru Croitor2019-03-111-1/+2
| | | | | Change-Id: Icac2ba956246901e02bb6aa257f81cccf56560e8 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: pro2cmake.py: Remove .qrc files!Tobias Hunger2019-03-111-16/+91
| | | | | | | Remove qrc files from CMake. Use add_qt_resource function instead. Change-Id: I64cdbd9498f97d23cd8e03f34ab5ae4a52dba5af Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix header Depends file generationAlexandru Croitor2019-03-111-0/+1
| | | | | | | | The script used to write incorrect dependency headers due to not clearing the qtdeps variable at each loop step. Change-Id: Icf293be7cea596daa096ab19d390c0bb468a8654 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Improve add_qt_resource functionTobias Hunger2019-03-111-8/+24
| | | | | | | | * Handle BASE to give the directory files will be relative to. * Support lang="foo" for qresource sections. Change-Id: I36087220d03789a97105dc6dd1aca7a25a063d9f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Re-generate CMakeLists.txt file for networkTobias Hunger2019-03-112-133/+101
| | | | | Change-Id: Ib75578958a98947efbca853692b24528c1a3e8a5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-generate CMakeLists.txt file for corelibTobias Hunger2019-03-111-351/+540
| | | | | Change-Id: I96fb3e388a39481c513f1c6a23327e41a785e4af Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: fix the order of parameters for homebrewLiang Qi2019-03-071-1/+1
| | | | | Change-Id: I7b597a8d6bc81eafb21e5368a29700638c351bdf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update README to specify the minimum version of CMake neededAlexandru Croitor2019-03-071-3/+6
| | | | | Change-Id: I10e594859129bddfa56f078389b2272a0072fda0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: build qmacstyleLiang Qi2019-03-063-1/+31
| | | | | | Change-Id: I1fa0196036ffd31b5961bb5b73ff21123a818af8 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
* cmake: fix cocoa and graphics on macOSLiang Qi2019-03-063-6/+7
| | | | | | Change-Id: Ia956c74a54874f91cc0ea8e5105164de88890ff2 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Fix moc on macOSMikhail Svetkin2019-03-062-11/+52
| | | | | | | | | moc does not generate moc_defs.h and that's why moc does not understand that he runs on macOS. It happens because cmake can not find Qt version. Change-Id: I34c51ebb69dc1ff782a0f129e114cda819122805 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix buildSimon Hausmann2019-03-061-1/+1
| | | | | | | | | There is no more internal function for adding general linker flags. Let's use the appropriate cmake function right away, regardless of the compiler choice. This is also how global.pri handled it. Change-Id: I20c9002a31aa4d7e64c1c59d8d67118774da337c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-generate bootstrap-related CMakeLists.txt filesTobias Hunger2019-03-045-154/+243
| | | | | Change-Id: Ia4be80729807c6aaac5b22a0dab81a841d57bdcd Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Handle gc-sections linker flagsTobias Hunger2019-03-041-11/+21
| | | | | | | Add a function to set gc-sections flags on the linker. Change-Id: I9ac02364836d2aa8de239adb8d3a5d29659a4007 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-generate CMakeLists.txt file for concurrent and sqlTobias Hunger2019-03-042-2/+35
| | | | | Change-Id: I3b61e35a65d369f0fff7c61c0b3af6f6e2974e1f Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Re-generate CMakeLists.txt files for src/tools/*Tobias Hunger2019-03-044-5/+61
| | | | | | | | Re-generate the CMakeLists.txt files for qdbusxml2cpp, qdbuscpp2xml, qlalr and qvkgen. Change-Id: I473a7bbdfa5ed5049d17324fb7dab4940124ef86 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Re-generate CMakeLists.txt file for uicTobias Hunger2019-03-041-12/+36
| | | | | Change-Id: I9411b727b199d35709cf0fef37d3a442982cc3da Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Re-generate CMakeLists.txt file for dbusTobias Hunger2019-03-041-5/+19
| | | | | Change-Id: I13ce987d4db99e160bf579ea3a785ac45cc1417b Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Re-generate CMakeLists.txt file for xmlTobias Hunger2019-03-041-8/+7
| | | | | Change-Id: I6d2570b5b98defc241acf653847b4c433432290f Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Map libpng to PNG::PNGTobias Hunger2019-03-041-0/+1
| | | | | Change-Id: Ia8dd20b777e24e2783bedb0f063db2189e0b7ed3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Automatically map equals(QT_ARCH, "foo") in conditionsTobias Hunger2019-03-041-3/+11
| | | | | Change-Id: I10d8001ba8330deaa622ef8c499b2b6fe438e28a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle BOOTSTRAP for add_qt_toolTobias Hunger2019-03-041-1/+4
| | | | | | | Add BOOTSTRAP for tools that need it automatically. Change-Id: I33b2ec16dfcb09709f844ed232ce9974a9d7c7ed Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Cleanup harfbuzz featuresМихаил Светкин2019-03-012-11/+7
| | | | | | | Remove system-harfbuzz feature and use harfbuzz feature as system Change-Id: I441345a667450f1c2d19380b0709911011c7ceb7 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix building tests on macOSAlexandru Croitor2019-02-285-5/+5
| | | | | Change-Id: I15a83d5abf9e8fa541ff3ca60bd8243f5f4b85e3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: pro2cmake.py: Simplify code and add test for line continuationTobias Hunger2019-02-283-1/+16
| | | | | | | Simplify code a bit and add a test for line continuation fixup. Change-Id: If865bc94d7d419c65d3280b5f9613ebc0d3db74a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle for loops without blockTobias Hunger2019-02-283-1/+13
| | | | | | | | Handle for loops with a single line of instructions and add a test for that. Change-Id: I041ae30f64abcbd3db7df29933647f047b92ede3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Make \$\$QT_FOO work in assignmentsTobias Hunger2019-02-283-1/+10
| | | | | | | This broke somewhere along the way. Add a test for this. Change-Id: I106ddff6eb86a51ef132285d1bc623f3b5cf71fb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Fix parsing of Line continuation before end of fileTobias Hunger2019-02-283-1/+10
| | | | | | | ... and add a test case for this. Change-Id: If20d737b54ecb3f9e128e59070b238c840acad6c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Fix parsing of for loopsTobias Hunger2019-02-283-9/+24
| | | | | | | Ignore for loops in the pro2cmake.py parser and add a unit test for that. Change-Id: I2a0c075c45cf56f4f24ada2d53e8e8e94ce19f26 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: run_pro2cmake.py: Add statisticsTobias Hunger2019-02-281-4/+20
| | | | | Change-Id: I78e65970694d0c37c4b3c3ba6e6a83155579ea0f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Handle complex conditionsTobias Hunger2019-02-283-8/+29
| | | | | Change-Id: Ifb047e5736f1831ddbd65b210e760c2729378334 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Warn and fix broken line continuationTobias Hunger2019-02-282-1/+63
| | | | | | | | Warn on broken line continuation in .pro-files, but fix up the issue and proceed. Change-Id: Ibe68011b312bcea25620ce790a0b44b2983fbd88 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix build of qmake on macOSAlexandru Croitor2019-02-271-4/+6
| | | | | | | | | | Two changes were needed: - correctly link against frameworks - use qcore_mac.cpp instead of qcore_mac_objc.mm, because we don't link against AppKit Change-Id: Ibd9d6d367a7fcdf7dce277c1b06d36c491294eeb Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix usage of linker -no-undefined flag for macOSAlexandru Croitor2019-02-271-6/+15
| | | | | | Change-Id: I41c55871a8db3d860fc20ad17eb9a97b01d62448 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: pro2cmake.py: Handle values with () in assignmentsTobias Hunger2019-02-273-2/+17
| | | | | Change-Id: I0f59c7fa57cd6c64b151f439d4eea4ae56dca288 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Fix handling of TEMPLATE=subdir .pro-filesTobias Hunger2019-02-271-2/+1
| | | | | Change-Id: I52f575df199c4d9b38123ab5d838f2e85344835d Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Improve condition simplification codeTobias Hunger2019-02-273-11/+51
| | | | | | | | | Improve the code that simplifies conditions to take "OS families" into account. E.g. if a system must be ANDROID, then it is redundant to express that it is NOT APPLE_OSX. Change-Id: Ib7e62726c309bf84b9e5e0d6a6e3465511db0ead Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: pro2cmake.py: Better parsing of scopes with elseTobias Hunger2019-02-277-61/+237
| | | | | | | | Parse conditions more exactly as before, enabling proper handling of else scopes. Change-Id: Icb5dcc73010be4833b2d1cbc1396191992df1ee4 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Small unsorted fixes in preparation of upgrading to dev branchTobias Hunger2019-02-271-3/+5
| | | | | | Change-Id: Id4d03558e956c6994dc6a8b701030ba4edf86adf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* CMake: Fix build without double-conversion on macOSMikhail Svetkin2019-02-273-9/+21
| | | | | | Change-Id: I5102e93141eec95044df44884dcf6ecd1b9e8dd0 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>