summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix AUTOMOC and friends to run only once the tools are builtAlexandru Croitor2019-03-222-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | While building on macOS, AUTOMOC sometimes hanged indefinitely. The problem was that AUTOMOC was executed for the qmacstyle plugin before moc was actually built. Because of an upstream bug in CMake, AUTOMOC was caught in a deadlock without reporting that spawning the moc process failed. Specifically if a libuv spawn() call failed, the condition variable for a waiting thread was not notified, and the thread kept waiting forever for the process launch to finish. Fix the dependency by setting the AUTOGEN_TARGET_DEPENDS property on all targets that have AUTOGEN tools enabled. This makes sure that moc and friends are built before they are used. Also add some special cases to disable autogen tools on certain targets to break cycles between targets. Fixes: QTBUG-74636 Change-Id: I6e689e63cba1962525f169f332a58498d173c0a6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
* Temporarily disable the opengles2 feature on WIN32Alexandru Croitor2019-03-211-1/+1
| | | | | | | | | | | | | | | | | | The feature used to be implicitly enabled because qt source ships with ANGLE sources, and thus ANGLE could always be built. Yet because the CMake port of ANGLE is not done yet, and because the feature is implicitly enabled, the build failed when trying to find GLES headers. To provide a nicer out-of-the-box configuring of the Windows build, disable the opengles2 feature on Windows, to default to a desktop GL build. It can be re-enabled once (if) ANGLE porting is done. After this change, you shouldn't need to pass any additional custom FEATURE_foo options to cmake to build qtbase on Windows. Change-Id: I94c96d8ef70cf671d2ce0198311f70b55fa642b1 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix windows build after gui regenerationAlexandru Croitor2019-03-213-13/+23
| | | | | | | | | | | | | | | | | - vulkan/nolink is not a valid target, instead pass along vulkan include directories to consuming targets, and don't link to the library at all - fix vulkan support target name in the windows qpa dependencies - the wrong opengl dynamic feature was used in the windows qpa (the current way is consistent with qmake, otherwise there were issues with the feature evaluation, because gui feature definitions are not available in the qpa project scope) - fix issue with qfloat16_f16c not being built because of previous subarch issues Change-Id: Ia75fc76a71e516fe8718027063fe554657d4d47b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Add public dependency from Qt::Dbus to Qt::CoreTobias Hunger2019-03-201-0/+2
| | | | | | | | Anything that uses Qt::Dbus also needs to link to Qt::Core, so encode that in the target. Change-Id: Ibc984d5b5e118aae8d1c0d21117fcff1664b0ae3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-generate guiTobias Hunger2019-03-201-114/+263
| | | | | Change-Id: Ia14d61ba0f2fa346090ebbb2cd179ba5b38e3056 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add windows platform plugin and its requirementsAlexandru Croitor2019-03-185-2/+219
| | | | | | | | | | | | | - executed pro2cmake script on windows qpa plugin - added windowsuiautomation platformsupport project - fixed plugin dlls and lib files to be written to the same path - fixed an issue comErrorString which used implicit casting from QString to char*, but plugins are currently built with QT_NO_CAST_TO_ASCII Task-number: QTBUG-74140 Change-Id: I5db3b6c5264bbd5dfba2998b049fda36eb312c70 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix Windows buildAlexandru Croitor2019-03-189-60/+88
| | | | | | | | | | | | | | | | | | | | | | | | - 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-183-14/+20
| | | | | | | | | 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>
* Corelib: Update to include qrc-file removalTobias Hunger2019-03-181-1/+6
| | | | | Change-Id: I18d556d7517de7d9f2eb55045511d2166f0105ce 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: 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-061-1/+4
| | | | | | | | | 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: 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: Cleanup harfbuzz featuresМихаил Светкин2019-03-011-11/+1
| | | | | | | Remove system-harfbuzz feature and use harfbuzz feature as system Change-Id: I441345a667450f1c2d19380b0709911011c7ceb7 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: Fix build without double-conversion on macOSMikhail Svetkin2019-02-271-0/+5
| | | | | | Change-Id: I5102e93141eec95044df44884dcf6ecd1b9e8dd0 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Make it so that eglfs plugin doesn't hang on make -jNAlbert Astals Cid2019-02-271-0/+1
| | | | | | | | | | | | | | | Since the dependency on moc is in CorePrivate (o Core) we need the target to depend on it otherwise cmake will try to use moc before it is built. This is because what we do with cmake is say "moc is in this path, you can use it", but it's actually not built yet so we need to depend on a target that depends on moc directly otherwise cmake will trust us and try to use a cmake that doesn't exist and just hang forever when running make -jN Change-Id: Icf55c62092fd3fd3754a4f4f28c8c313bf374615 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* cmake: Give the egl_x11 test the necessary libs to compileAlbert Astals Cid2019-02-273-3/+38
| | | | | | | | | | | And add the eglfs_x11 plugin We need to actually try to compile the test as the comment it it says that having x11 and egl is not enough since sometimes they are actually incompatible Change-Id: If6bdc08c21b91fa9c41663f2fa653fd59e5ddd2e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* cmake: fix a syntax for elseLiang Qi2019-02-211-1/+1
| | | | | | | | This amends d885226544c. Change-Id: Ia7b2fb6e0e762c73d3c0775cdd106c1dec646ab2 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix ELF interpreter detectionSimon Hausmann2019-02-201-6/+16
| | | | | | | | | | | | Use the same approach as with qmake, by using readelf -l /bin/ls and then a regular expression to extract the program interpreter path. It's a little simpler in cmake because we can avoid the perl dance and quotes and just use cmake's built-in regular expression matching. This change also excludes static builds, as with qmake. Change-Id: I699e166c4b38b3fe98e6390316206109ad6363f9 Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* Fix use of uic when cross-compilingSimon Hausmann2019-02-191-23/+4
| | | | | | | | Don't try to build uic but instead import it. This is done centrally now in add_qt_tool. Change-Id: I241fbb924de68549e9c0320e157351bd7b1bf5c3 Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* Fix source file name on AndroidSimon Hausmann2019-02-181-1/+1
| | | | | Change-Id: I0814cb02ef7205bb5d197ea0e5cc7e26a8bc15eb Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* cmake: build eglfs_emuAlbert Astals Cid2019-02-182-1/+27
| | | | | Change-Id: I793865f55114d08c342477f4e786d1089239ace4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: build eglfs_kms_egldeviceAlbert Astals Cid2019-02-182-1/+35
| | | | | Change-Id: Ib224140d64efdc9c7190add7b568484313ecd7a3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: build eglfs_kms pluginAlbert Astals Cid2019-02-182-1/+39
| | | | | Change-Id: I362c17a67c2cb4c243c39f760c598bfc7e1071bd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: build eglfs_kms_supportAlbert Astals Cid2019-02-182-1/+30
| | | | | Change-Id: I0c1cca14756519f60f71143150e56380fa3a6289 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: add deviceintegration/CMakeLists.txtAlbert Astals Cid2019-02-182-1/+51
| | | | | Change-Id: I2b30c27bb4f17f40143a66e89b3d5986375a76a6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: Add the eglfs platform pluginAlbert Astals Cid2019-02-152-1/+108
| | | | | Change-Id: I1caef781db690a3c25e871947c11175cde5cc97b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: Compile qobject.cpp with same flags as CoreKevin Funk2019-02-151-8/+6
| | | | | | | | Makes sure qobject.cpp.o also sees -DQT_BUILD_CORE_LIB Change-Id: I2aaf1cec62eeab07bbec6e4135bbe144d4ae7fba Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: printsupport depends on core, gui and widgetsLiang Qi2019-02-141-1/+3
| | | | | Change-Id: Ifd1f8c23eca3daa788f814b450ad326f6415212f Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* cmake: src/printsupport: Rerun conversion scriptKevin Funk2019-02-131-13/+21
| | | | | Change-Id: I0bdc4eefa5e1e78ba7f68da5848e32297c6af5a1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: enable vnc platform pluginAlbert Astals Cid2019-02-122-1/+42
| | | | | Change-Id: I5015681aff3c9ceb5c0b72571bc8756f3ada104c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: FindWrapOpenGL->WrapOpenGLAlbert Astals Cid2019-02-121-1/+1
| | | | | Change-Id: Ic44d3ee806cf287a2c3cb36811b99418ea92d8a0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix Desktop GL/EGL/GLESv2 linkageSimon Hausmann2019-02-124-7/+24
| | | | | | | | | | | | | | | | This change fixes a few things in one go: * cmake's FindOpenGL cannot be used reliably to detect EGL. So use a custom module for that. * Added a custom module for GLESv2 detection, as cmake's FindOpenGL does not support that. * Map CONFIG += opengl to a WrapOpenGL target, which links against either GLESv2 or libGL - just like mkspecs/features/*/opengl.prf * cmake's FindOpenGL remains in use solely to detect the availability of desktop gl. Change-Id: I9315e5ad1fd88e1b7dc7e920053e98fb51fea7fc Reviewed-by: Volker Krause <volker.krause@kdab.com>
* cmake: compile the networkmanager bearer pluginAlbert Astals Cid2019-02-122-1/+24
| | | | | Change-Id: Ia744afec6114266fcb693702db257fe36ba94b92 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: add localserver in networkLiang Qi2019-02-121-0/+26
| | | | | Change-Id: I319ffad73bb5f8285b1b2fa583d813667498c3dd Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* cmake: build the connman bearer pluginAlbert Astals Cid2019-02-122-1/+24
| | | | | Change-Id: I034ac995e231e7ad380ca9680e72037a573a1003 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: Build the generic bearer pluginAlbert Astals Cid2019-02-123-1/+39
| | | | | Change-Id: I3ab356e23e22499be98a626d043e2cfb9fc51105 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: Find and build odbc pluginAlbert Astals Cid2019-02-123-2/+36
| | | | | Change-Id: I479d2b1cc897f601ef68b10272c9396e52228201 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: Find and build psql pluginAlbert Astals Cid2019-02-123-2/+31
| | | | | Change-Id: I8cbc8ab0061f67824d78198cbb926f0625fc7e41 Reviewed-by: Liang Qi <liang.qi@qt.io>
* cmake: add TODOs in plugins/platforms for futureLiang Qi2019-02-121-4/+56
| | | | | Change-Id: I472b87cdd4f87633df7867c161ab861fba519bd3 Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
* cmake: Fix more old-style CMake macrosKevin Funk2019-02-122-5/+5
| | | | | | | Use the proper target name for the Qt tools Change-Id: I04b3aed7b58d44e60597223340d66ac97ea083cb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* cmake: Search and enable the sqlite[3] pluginAlbert Astals Cid2019-02-124-1/+131
| | | | | | | | Added to QtFeature.cmake a way to be able to run feature_module begin and end without having an actual module by passing NO_MODULE Change-Id: Ib708bd3878e2591da193d18563c8932cc4b75e7f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>