Commit Graph

350 Commits

Author SHA1 Message Date
Cristian Adam
22b8f3bdcd scripts: Deploy clang-format tool
The beautifier plugin can use the clang-format tool, which is statically
build, and it's around 2-6 MB in size.

Fixes: QTCREATORBUG-25600
Change-Id: I900f0dbfc2ba2773d3ad986c149adb41a4103e94
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-27 15:40:18 +00:00
Cristian Adam
61f04d260c scripts: remove deployment of libclang-cpp
All the clang binaries that we ship (clangd, clang-tidy,
clazy-standalone) are compiled statically and libclang-cpp
is not needed anymore.

Change-Id: I486fc0d1a55a18916c0abf56ec6a966321ef2b46
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-22 08:29:14 +00:00
Cristian Adam
cdedc71182 scripts: Do not deploly clang and clang-cl executables
They were used in debugging of the libclang code model, and having
only the compiler is not very useful.

Users can install complete LLVM toolchains from llvm.org

Change-Id: If19a0b75c8505ba7589b377292bd96f855e91c00
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-17 14:05:03 +00:00
Cristian Adam
28497d928b Scripts: Do not deploy libclang anymore
Since libclang is no longer needed, we don't need to deploy the
library anymore.

Change-Id: Ia7bdb7e089ec95b8252efbfa1c607d03082a99e6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-25 09:45:10 +00:00
Eike Ziller
f5b77d87da Move build scripts to Python3
On newer macOS versions there even is no unversioned python
executable anymore, so we need to make it explicit

Change-Id: Ic2260a06b859e949a42f7dc34f1ff4dd582ce635
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-20 14:23:43 +00:00
Eike Ziller
9084ab1b64 Remove some unused scripts
These are no longer used, and instead solved via CMake or part of
build(_plugin).py

Change-Id: I86a829713fe32b9ff1386fc0bdfd23a88e3e00c4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-04-20 14:23:34 +00:00
Eike Ziller
d2e1590aec macOS: Do not deploy some plugins and their dependencies
macdeployqt deploys all plugins of a kind, like all tls or sql backends.
We only want the securetransport and sqlite ones from these, and
since Qt 6.3 now also builds the openssl backend, and the postgres backend
has a dependency on openssl that gets shipped, we end up with issues
(openssl backend being loaded which finds and loads openssl from postgres).

So clean these things up after macdeployqt.

Change-Id: Iccbe4c422a4cce3fd4da0af5f6e2595f85848ece
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-04-08 14:18:17 +00:00
Eike Ziller
81c1c63c1d macOS: Remove workarounds for Qt 6.2 betas
QTBUG-94796 is fixed, and macdeployqt copies all the plugins again.

Change-Id: I1f8201483e9cf4986eea0732d75d545425d3b5d6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-08 14:18:08 +00:00
Eike Ziller
2829412e15 macOS: Fix 'disclaim' in packages not passing on DYLD_... variables
Signed executables with hardened runtime need the entitlement
com.apple.security.cs.allow-dyld-environment-variables
to be able to pass on the DYLD_... variables to subprocesses.

Fixes: QTCREATORBUG-27175
Change-Id: Ibc203487be4d7111fc60b05749cae4e3ad750b3d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-03-11 08:43:59 +00:00
Christian Stenger
5ce07a2345 Scripts: Fix uichanges script
Amends 394bfb508f.

Change-Id: I6e933f8bc18298b81b99a716e734d84fbd2b7528
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-24 14:35:37 +00:00
Eike Ziller
041e8d178f Linux: (Optionally) Enforce XCB backend if QT_QPA_PLATFORM is not set
Especially on older distributions, Qt/Wayland works worse than Qt/
XCB(XWayland). On Ubuntu 20.04, starting Qt Creator with Wayland can
even crash the Wayland session
(https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1958684/).

We still want to ship the plugins, and allow forcing the usage of
Wayland, since on the other hand Wayland works better in HiDPI
environments for newer distributions.

Behavior is enabled when configuring with  -DQTC_FORCE_XCB=ON

Task-number: QTCREATORBUG-26867
Change-Id: I623f001412f809381208b6cb3ec5b3fcfdb86011
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2022-02-16 07:50:48 +00:00
Eike Ziller
aac0e8ef6e Fix finding python development package for cdb extension
Amends e9f3f8cc64

We switched to find_package(Python3 ...) and that doesn't use
PYTHON_LIBRARY and PYTHON_INCLUDE_DIR. Simply provide the root path for
find_package(Python3 ...).

Change-Id: If862151c095af358be5f35d3d8002d77dcd17aa6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-02-09 13:18:49 +00:00
Christian Stenger
394bfb508f Scripts: Fix output for python 3
Change-Id: Ie914e04b25bdd4e41a9d2b3a9002385f5867ad6b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-02-04 10:26:01 +00:00
Christian Stenger
358146a322 Scripts: Make uichanges script work with Python 3
Change-Id: Ieb5abc4845098b62afa37a3e0e0fdf88326da2ab
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-01-17 10:15:45 +00:00
Eike Ziller
9056d708fa Merge remote-tracking branch 'origin/6.0'
Change-Id: I642abb110bb120e20af11a5d55244c03e6c48caa
2022-01-12 13:59:10 +01:00
Eike Ziller
bc6b05497d Build.py/macOS: Add a signed bundle
If a signing identity is given, create a signed install, and zip it up
(if zip files are wanted).
Can be used to directly add a signed app to an installer.

Change-Id: Ib575d7c907eea74c247407107884f29a526d5d1c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-10 13:44:40 +00:00
Eike Ziller
998abe9b7a macOS/deployHelper: Accept if clazy-standalone already has right rpath
Adding an already existing rpath is an error for install_name_tool.
Not completely failing in that case makes local testing easier.

Change-Id: I22d94225af2375af4e397212b2a7500315f25882
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-10 10:57:54 +00:00
Eike Ziller
65e8c864af Merge remote-tracking branch 'origin/6.0'
Change-Id: I405e3f95b0cdcd7b2686f31baae16c03c787f007
2022-01-06 11:55:39 +01:00
Eike Ziller
1e46db88a1 Do not link packages against libGLX and libOpenGL
Also for the additional plugins.
Work around QTBUG-89754

Amends 7d948b0c5d

Fixes: QTCREATORBUG-26744
Change-Id: I5cafcbe77a37fcd9c5432ef45aa364066d772be8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-04 14:58:09 +00:00
Eike Ziller
85b60d9608 Merge remote-tracking branch 'origin/6.0'
Conflicts:
	src/plugins/coreplugin/editormanager/editormanager.cpp

Change-Id: I80fe565749ad5c06dfe99436f2dc6ab4b66a2537
2021-12-16 10:50:33 +01:00
Eike Ziller
13db647329 build_plugin.py: Add --add-module-path option
Like we have for build.py

Change-Id: I8450b81edcdf10300985762153cd5750d9ddcd59
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-12-15 13:51:01 +00:00
Eike Ziller
d422b408e0 Merge remote-tracking branch 'origin/6.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I32991a77e52831dd2e24cf4a51ec252998c2d743
2021-12-09 12:04:32 +01:00
Eike Ziller
7d948b0c5d Do not link packages against libGLX and libOpenGL
Work around QTBUG-89754

Fixes: QTCREATORBUG-26652
Change-Id: I9fb7ba2127a93460184154a9eb2d4c053f8fc22d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-12-06 10:31:35 +00:00
Eike Ziller
d62d0f305b Merge remote-tracking branch 'origin/6.0'
Change-Id: I71b19dd8ecd96a7a2a58622f68283b8635264e48
2021-12-01 09:24:05 +01:00
Eike Ziller
fe710cadf9 Work around error when building telemetry plugin
Change-Id: Ia4a4314180b561c2a45446b1ae550c3164612b10
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-11-30 05:09:49 +00:00
Joerg Kreuzberger
efdaeaba43 Add option to build QtCreator with sanitizer
Fixes: QTCREATORBUG-26318
Change-Id: I44589b5bb39958eda2329b444e4857e8f61823bf
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-11-05 09:03:41 +00:00
Eike Ziller
03bcdc9186 Fix RPATH of Qbs binaries when built with Qt 6
The build system for Qt Creator ensures that we have the right
relative RPATH to Qt for the packages.
We still check if we need to fix the RPATHs when deploying Qt, and
the Qbs build relies on that.

That part was broken for Qt 6 since it looked for libQt5* to decide
if the relative RPATH to Qt must be added. Remove the Qt version
number from the check.

Change-Id: Ib9d0408943d61364bfe9c8813a55bf60145b7972
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
2021-10-29 12:54:26 +00:00
Eike Ziller
342a24d56a Merge remote-tracking branch 'origin/5.0'
Change-Id: I0ef7cd302ba7cba64fec401f3426dd682b8dc036
2021-09-15 11:18:11 +02:00
Eike Ziller
9121372f9c macOS: Remove absolute RPATH from clazy-standalone
Remove the absolute RPATH to somewhere on the build machine,
which creates issues when loading Qt Creator on macOS 10.14,
and of course is bogus in any case.

Fixes: QTCREATORBUG-26196
Change-Id: Ic92deb9b2c6fe32f377fc31004779a2a43794054
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-15 08:33:07 +00:00
Eike Ziller
3d4d7c7e14 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	src/plugins/clangtools/clangtoolssettings.cpp
	src/plugins/clangtools/executableinfo.cpp
	src/plugins/clangtools/executableinfo.h

Change-Id: Id8caf63e3e594792467d3447870086bd2d8f73b9
2021-09-13 17:03:55 +02:00
Eike Ziller
9d1cb4211a build.py: Remove --app-target option
It was no longer used since d04355dfb0

Change-Id: I048d8566babec1e926cbf32916c4d88d474d8ef8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-13 07:18:39 +00:00
Alp Öz
344d70e8f4 Move shortening of revision string to build script
This is to allow setting a longer IDE_REVISION_STR which is not necessarily a SHA256 value.

Change-Id: Iad61e87fcd92e1b96a2066a3c6a6ae51d452b9b7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-09 07:40:18 +00:00
Eike Ziller
8e652e1586 Do not build Qbs by default
Compiling Qbs takes time and is not strictly necessary for the Qbs
integration in Qt Creator.
We still want to build it for the release, but let's not build it by
default anymore.

[ChangeLog][Building from Sources] Qbs is not built anymore by default.
Pass -DBUILD_QBS=ON on the CMake command line to enable it.

Change-Id: Ic5793e26c7f6a7ac92931777e5d77cef2c8bf888
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-07 13:16:11 +00:00
Eike Ziller
af9408d9ae macOS: Fix creation of disk image with universal builds
Our universal Qt Creator build can be larger than 1 GB.
Increase maximum size of disk image.

Change-Id: I055e891f7da8e3c9db99a7b4b2d703cca594c22a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-07 06:25:45 +00:00
Eike Ziller
1030715abc Do not try to deploy qbs-qmltypes, it's gone
Change-Id: I5cfe8c2e7e4e3aff6aad66d1979304522529cbf4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-02 07:40:17 +00:00
Tim Jenssen
0588161edd macOS: workaround for missing libqsvg.dylib
Change-Id: Ibc0e758eab53f92978458f0c9a1be505c9421439
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-08-23 16:15:28 +00:00
Eike Ziller
57243d4dc6 build.py: Only zip the .app on macOS
Not the full contents of the folder containing the app.
Works around QTBUG-95845

Change-Id: Id515142b99891e89d0f4db5dae009c481939811f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-08-18 12:14:26 +00:00
Tim Jenssen
8d222e22d5 deploy tls plugins to fix ssl downloads
it fixes https example downloads in QtDesignStudio

Change-Id: Ib162e630ae3a66691bec6d8f32cee241614e01e6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-09 14:56:30 +00:00
Tim Jenssen
9857985013 macOS: workaround for missing libqsqlite.dylib
Change-Id: I667d144035a36aed55f2bdc3e6e021832c058236
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-07-15 16:53:49 +00:00
Eike Ziller
9e8cfe1a41 macOS: Remove clangrefactoring/pchmanager from deployment
They are gone for real now

Change-Id: I653ed1ce1591d839a5ba01d00ef18c590d44100a
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2021-06-25 07:15:11 +00:00
Eike Ziller
9d8be9ce58 build.py: Add option for 7z multi-threading behavior
Fixes: QTCREATORBUG-25590
Change-Id: I4234928cfd4e2d76afe5acf76cd53eb1d67fa5a0
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-04-21 12:18:25 +00:00
Viacheslav Tertychnyi
2a456e5439 Deploy: Use objdump for MinGW build
Change-Id: Icb22aaecf3ca010b49d04af2ead7fb627a40c1db
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-04-20 20:16:53 +00:00
Eike Ziller
89acd38b40 macOS: Adapt build_plugin.py for possibly branded application bundle
Change-Id: I0d9860db78c2f617f5e8631064b271c0207f01de
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-04-12 09:38:06 +00:00
Eike Ziller
4b3a746332 CMake build: Fix remaining issues with Devel package
On Linux (and Windows) we should not create toplevel files (README.md
etc) or directories (doc/, scripts/ etc).

On macOS, move the whole Devel package contents into the app bundle,
because that is installed toplevel in the Qt installers, and we
shouldn't even create include/, lib/ or any other directory at the
toplevel at all.

Since the prefix path must now point to the Resources folder inside the
app bundle, adapt build_plugin.py to also accept --qtc-path pointing to
the app bundle (Qt Creator.app) itself, and also to the app bundles
parent directory. Adapt the Qt Creator plugin project template
similarly.

Task-number: QTCREATORBUG-25414
Fixes: QTCREATORBUG-25415
Change-Id: Ic756237fb920b54b1ec95d076649ad947b39a7e8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-04-06 10:59:27 +00:00
Cristian Adam
a96a94ac79 GitHub Actions: Build without PCH
ccache is not working very well when pch is enabled.

Change-Id: I2922d2261bf4040ccd2837b2cc5c505ec2881207
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-03-26 17:11:16 +00:00
Eike Ziller
92de8402c4 build.py: Do not enforce building without PCH
We have a guard for the CMake version in QtCreatorAPIInternal since a
while.

Change-Id: Ie76010b39e33d57c77b993db375a7821687145ea
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-03-25 15:44:00 +00:00
Eike Ziller
c5d4515ec1 build.py: Make it possible to skip building Qt Creator
And only build the windows tools qtcreatorcdbext and wininterrupt.
For minimal 32bit Windows build.

Change-Id: I126c0963a8917c95300c0b2e9f00da274a62887d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-24 16:07:49 +00:00
Eike Ziller
cc0d70dd99 build.py: Build wininterrupt and qtcreatorcdbext separately
The build of wininterrupt and qtcreatorcdbext was using the fully
configured & built Qt Creator as a base. Now that we have separate CMake
projects for these tools, build them really separately.

This will be needed for building them on Windows 32bit for the Qt 6
build, since that doesn't provide Qt builds on that platform anymore.

Change-Id: I50a662c6366814cbb6f4ce62adca2c1c3e9d546f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-23 13:56:46 +00:00
Eike Ziller
0f9a206bd5 cmake build: Make separate debug info optional
In the CMake build in general, but still use it for
RelWithDebInfo builds with the build*.py scripts.

Fixes: QTCREATORBUG-25151
Change-Id: I8414f953278ebb395f73414c12af0ed7bd4fcdbe
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-12-22 13:02:03 +00:00
Eike Ziller
909f74dc56 Fix deployment of clang tools on Windows
Amends ca016bfb2e

Change-Id: I529f7f37b86f086167774e3c8d03761d4cc654a9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-12-16 12:31:42 +00:00