aboutsummaryrefslogtreecommitdiffstats
path: root/tools/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Turn qmlls into an app instead of a tool as a workaroundAlexandru Croitor2022-06-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | A developer can have a host Qt without a qmlls, but still want to cross-compile Qt including all tools (the Yocto SDK scenario). While configuring the target Qt, they would get Searching for tool 'Qt6::qmlls' in package Qt6QmlTools. CMake Error at qtbase/cmake/QtToolHelpers.cmake:170 (message): The tool "Qt6::qmlls" was not found in the Qt6QmlTools package. Package found: 1 qmlls does not contribute to the Qt build itself (like moc or other code generators), so a host qmlls is not required to build a target Qt. But qt_internal_add_tool currently does not support not requiring the host tool when cross-building it. Work around this by building qmlls with qt_internal_add_app. Place it in libexec because it's not user facing and don't cross-compile it for platforms that don't support the SDK scenario. Task-number: QTBUG-100047 Change-Id: I4678ea791b21ecf3a57ccc870b9a4be09e2a8950 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit 399cdef52bc921356458897b37c0682e255a66fc)
* Re-add qmlprofiler qmleasing and qmlplugindump to default targetUlf Hermann2022-05-121-9/+16
| | | | | | | | | | | | | | | | I don't know what the CI is doing there, but fundamentally you cannot remove those tools from the default target and then install them. Apparently they were removed from the default target because they don't work on iOS. Well, they indeed don't work on iOS. Let's make that explicit instead. Amends commit c1ae217a52ace4b955577bf0aaf1c4c8afb8b81b Change-Id: I3759b03425fcdfc604483632f28be2748fe0efdb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 53ee2748ac05534dab895bab19449a3d5207900a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Disable qmljs on iOS buildJuha Vuolle2022-02-161-1/+1
| | | | | | | | | | | | When compiling for iOS the linking of qmljs tool fails with: Undefined symbols for architecture arm64 "_qt_main_wrapper" Fixes: QTBUG-100855 Change-Id: I25a3ca9fd9d5efd2d6906087f1580b2679e6745f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit f3536a202ea124c91dc1ab53bd5c40cdb9b693e7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QML: qmljsrootgen is host only toolPasi Petäjäjärvi2022-01-241-1/+1
| | | | | | | | | Task-number: QTBUG-100040 Change-Id: I90254b7b8079f027206121c487d974abae144644 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 71a2cdb6fb8674911d3be5554273a72ae6e8cf49) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* qmlls: qml language server implementationFawzi Mohamed2021-12-231-0/+3
| | | | | | | | | | This is the initial commit, with just qmllint integration, but many of the tricky bits and the architecture are already there, see the description in qqmllanguageserver.cpp and qqmlcodemodel.cpp Change-Id: Ie493fed02276f938fde641e8d91c67aed0514d1f Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> (cherry picked from commit 25ac957f6da559333938430eec9cc341823e22cc)
* CMake: Don't build Qt apps using Ninja when targeting iOSAlexandru Croitor2021-11-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Building them using ninja is pointless because they can't deployed / executed without the Xcode generator. Apart from that, the qml app will also fail to link in a static top-level build with Undefined symbols for architecture arm64: "_qt_main_wrapper", referenced from: implicit entry/start for main executable due to QTBUG-98058. The linking failure does not happen in CI because it does per-repo builds and not top-level builds. Amends 3e2a85384b1f5454e51a27827114e49746f8837a Pick-to: 6.2 Fixes: QTBUG-98015 Task-number: QTBUG-98058 Change-Id: I7fe6538ac0e2f2ea0f89b09bb1b77265a3cd51fe Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Long live (dummy-for-now) qmltc!Andrei Golubev2021-10-211-0/+1
| | | | | | | | | | This is a stub commit that introduces qmltc as a binary We don't even attempt to generate any code here yet Task-number: QTBUG-84368 Change-Id: I98da17d839970a2561f501f3b9d6b1e1310e0e01 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* qmldom: compare and dump to file, domtoolFawzi Mohamed2021-06-051-0/+1
| | | | | | | | | | | * qqmldomfieldfilter: ignore fields or types in dump or comparison * qqmldomcompare: compare DomItem * qqmldomfilewriter: safely write to a file (keep backups, avoid overwrite before success is confirmed, avoid overwrite if equal) * qmldomtool: command line tool to dump dom Change-Id: If4fbff7dff70d3a780293ac8b458f674e8f91591 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix qmleasing build without features.*Tasuku Suzuki2021-05-061-1/+14
| | | | | Change-Id: I68df56cdadf42ca535290b4f1ee6d88a34470a91 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix build without features.mainwindowTasuku Suzuki2021-04-161-1/+1
| | | | | Change-Id: I497207567fe940bc077804b58db79bc5d44ae9f0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Add qmltypes for JavaScript root objectMaximilian Goldstein2021-03-191-0/+3
| | | | | | | | | | | | | This change adds jsroot.qmltypes which represents QJSEngine's global / root object and a tool to generate it (qmlsjrootgen). If you wish to regenerate jsroot.qmltypes run the following commands: qmljsrootgen jsroot.json qmltyperegistrar jsroot.json --generate-qmltypes src/imports/builtins/jsroot.qmltypes --import-name QJSEngine --major-version 1 --minor-version 0 Fixes: QTBUG-90807 Change-Id: I5ba0a048586d2dd945009d65c2b51be8ead85feb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Adjust and regenerate tools projectAlexandru Croitor2020-05-041-41/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking for android_app scope does not make sense in subdirs projects, it's expected that it is explicitly set as CONFIG += android_app in a standalone executable project. When the config is set, instead of creating an .so file, a true Android CLI executable is created. This is seemingly a relic from a time when there existed an Android mkspec that allowed building Qt without the .so requirement. Thus remove the android_app scope. Also exchange the static scope, with a contains(CONFIG, static) scope, so that pro2cmake can deal with the condition better. Keep the qmlcachegen target commented, due to it being built in the src project. Finally regenerate the CMake project, to exclude certain apps being built by default, thus fixing failures when building a simulator_and_device iOS configuration. Task-number: QTBUG-80899 Change-Id: Ief89d85c3a238c4a002ab6d98ee2596508cf130b Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* Revert "CMake: Exclude building apps when cross-compiling"Alexandru Croitor2020-04-061-7/+0
| | | | | | | | | | A slightly modified commit will-be relanded once a dependent change in qtbase is merged and propagated to qtdeclarative. This reverts commit e4f1c1068bccea38889ba1d66dfcecacbb9f6634. Change-Id: Ia7ca2f5f3b7d2ad2d07e380b3853aca87d779d18 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Exclude building apps when cross-compilingAlexandru Croitor2020-04-061-0/+7
| | | | | | | | | | | | | | | | | | | | | It would fail the iOS multi-arch build otherwise, at link time with Undefined symbols for architecture x86_64: "_adler32", referenced from: _png_icc_set_sRGB in libQt6BundledLibpng.a(png.c.o)<Paste> .... This is due to us using system zlib instead of bundled zlib. Because system zlib only has one slice of architectures (either device or simulator), we get the above linker error. Solution is not to link (build) the apps at all). This is consistent with what qmake does. Change-Id: Ief2e63a8da49f9daac4f5542e78b0f0b3d37ed93 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Regenerate and adapt to merge from devwip/cmakeAlexandru Croitor2020-03-121-0/+1
| | | | | | Change-Id: If8daa6152a563d4309d7342414780ef75b9f5589 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* Post merge fixesLeander Beernaert2020-01-241-1/+0
| | | | | Change-Id: Ie8aca222809f35174fb6c6488832ec3ff5432272 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Stop manually using qt_export_toolsAlexandru Croitor2019-09-301-1/+0
| | | | | | | | It is now done automatically in QtPostProcess.cmake. Change-Id: Ib95d68adbbb29fff5896fd19c24597db4024807e Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Allow the use of qmlcachegen inside srcSimon Hausmann2019-07-291-4/+2
| | | | | | | | | | | Make the qmlcachegen target visible in src. This will allow the use of compiling .qml files such as src/imports/testlib/*.qml ahead of time. We might move the sources over from tools/ in the future, but for cmake this isn't necessary -- as long as the targets are defined. Change-Id: I0755c6cb5c78fcb144c067d2b50092e42bb6f65a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Export built Qml ToolsLeander Beernaert2019-07-221-0/+2
| | | | | | | | Export all available Qml tools with an install. They were previously missing. Change-Id: Id054997ef17c14bd95c2f46ee01bc07493d2f90b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-07-111-1/+1
| | | | Change-Id: I2963c1209316fb6755f572969f368970450d7991
* Port the declarative toolsAlexandru Croitor2019-06-081-0/+54
Also fix up QmlDevTools module to not depend on QtQml, but instead make it include the headers / cpp files as it is done in the qmake project. Change-Id: I240c52d5357db150a7c0c819892fb0a3708ceee4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>