Commit Graph

58 Commits

Author SHA1 Message Date
Eike Ziller
9fea21c103 Build: Unify archive creation
Between building Qt Creator, extra plugins, and sdktool.
This adds avoiding arm-specific 7zip methods to the sdktool build, which
cannot be extracted with p7zip on Linux.

Change-Id: Ibc8a18967b6c4e7869a4a86680da9005f70d498b
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-11-11 14:47:33 +00:00
Eike Ziller
fec8e320de Build: Fix zipping of dev package on Linux
Official 7zip normally checks for the existence of symlink targets, and
fails if they do not. That can be avoided with a command line flag. This
is important for the dev packages on Linux, where the libFoo.so is a
symlink to the actual library, and the symlink is part of the dev
package, but the actual library part of the non-dev package.

Change-Id: Ibd5855c4e106c96058a693d87e84d0f2d8f93365
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
2024-11-07 07:28:52 +00:00
Eike Ziller
cf1f4b050f COIN: Make independent from internal scripts
The coin scripts may no longer access the repository with the internal
build scripts. Move (adapted versions of) the needed scripts into the
repository itself.

Change-Id: I0515b8d66bd917e32eaabf64a1c76cc852fbe5df
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-10-28 09:54:36 +00:00
Eike Ziller
14e04c0325 Build: Fix archive creation on ARM Windows
Prevent 7z from using the "arm executable" compression algorithm, that
cannot be extracted by pk7zip

Task-number: QTCREATORBUG-31331
Change-Id: I1c6358bad90f4fc0f8e065cdda802c72a97bd129
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-09-24 07:38:46 +00:00
Eike Ziller
2e9e107191 build.py: Avoid ARM 7z compression filter
Which fails to extract with (older?) p7zip from Linux distributions,
which is used for building online repositories.

Change-Id: Ia9032293841cf192b9b2e0ff820ca4a8b7f47763
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-06-10 07:28:25 +00:00
Tim Jenssen
399f7a1968 Merge remote-tracking branch 'origin/qds/dev'
Change-Id: I5d593fc74785958886453dc0b452c25356a8c65f
2024-01-18 11:15:29 +00:00
Tim Jenßen
1a76f3f665 scripts: add build sdk_tool option
Change-Id: I1bfbcb1baead5fe351a785b126540c60bc5db3c3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-01-17 19:12:44 +00:00
Cristian Adam
3939ba93af qtcreatorcdbext: Deploy lldb on Windows
Starting with LLVM 17.0.1 we include lldb in the list of packages
compiled on Windows.

This commit deploys lldb.exe and its Python required machinery.

Fixes: QTCREATORBUG-14539
Change-Id: I7f44c537cbaf31bf2f065762bdc9a48dd5efc64d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-11-15 13:47:46 +00:00
Eike Ziller
839f737946 build.py: Apply additional config to all builds
Not only Qt Creator but also cdbextension & wininterrupt.
Otherwise there is no way to pass additional configuration to these.

Change-Id: I2bd4894f212df9795e1d66577bb25a26b29224a4
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-10-10 14:38:07 +00:00
Eike Ziller
f1fde363a0 Build: Optionally sign on Windows
Add an argument to the build script that takes a signing command (path
to sign is added at the end, run in cwd)

Task-number: QTCREATORBUG-25740
Task-number: QTCREATORBUG-28909
Change-Id: I6d3bdf7bd9fab0ea1fc129da08cf77c9a5448b31
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-11 12:01:17 +00:00
Eike Ziller
364013b9ac Merge remote-tracking branch 'origin/9.0' into 10.0
Change-Id: Ib01e191652168b2c38e80678f2f804bb95143cc5
2023-02-14 16:05:31 +01:00
Eike Ziller
a069ed838e Let Debian packages install to /opt/qt-creator
instead of /opt directly. Seems to be more conventional

Change-Id: I6d3b0b973684b6f72c096eeb4f2b572012f30351
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-02-14 10:22:02 +00:00
Kai Köhne
4e9c1d126c Replace GPL-3.0 with GPL-3.0-only
GPL-3.0 is deprecated by SPDX.

Change done by

 find . -type f -exec perl -pi -e 's/LicenseRef-Qt-Commercial OR GPL-3.0(?!-)/LicenseRef-Qt-Commercial OR GPL-3.0-only/g' {} \;

Change-Id: If316a498e3f27d2030b86d4e7743b3237ce09939
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-10 08:05:04 +00:00
Eike Ziller
c319163e66 build.py/CPack: Install to /opt from .deb packages
Default is /usr/local, and that is also the default when
installing self-built versions, so avoid a conflict.

Change-Id: I92879baa4afd1b90b7de6addfbcd7ec361b396cc
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-13 06:17:15 +00:00
Eike Ziller
c72a9197a4 build.py: Add option to call cpack
Adds --with-cpack option.

- macOS: does nothing (we already create a better, signed disk image)
- Linux: creates qtcreator.deb in build directory
- Windows: Checks for NSIS and WIX installation,
  creates qtcreator.exe and qtcreator.msi as appropriate

Change-Id: Ie7816d04cb2e01e90795481e1519b0a6645f5cd3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-10-07 09:15:33 +00:00
Christian Stenger
dd2d05a772 Scripts: Fix permissions
Broke with a7956df3ca.

Change-Id: I072ea34183aedf2fd693af1bb589660aa06b9e1c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-29 09:32:13 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +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
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
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
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
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
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
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
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
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
Ivan Komissarov
962918629b qbs: fix installing doc dependenices on macOS and Windows
python still aliases to python 2.7 on macOS, so we need a smarter way to
find python3.

Change-Id: I229d8c1e124fb599119991b44c0f6d88d39b1684
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-12-14 09:42:40 +00:00
Eike Ziller
d04355dfb0 cmake build: Re-add a "Dependencies" component that runs deploy script
And use that from the build script.

Change-Id: I97d5b593cf703bb8e51556240f37c80aad654732
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-24 14:10:07 +00:00
Eike Ziller
07128078b9 Integrate deployqtHelp_mac.sh into deployqt.py
For now this is a dummy integration by just calling the former from
the latter, which has the advantage that
- only one script needs to be used for all platforms
- passing just qmake instead of individual install paths is enough
  also on macOS

Change-Id: Ie05077ada950addd287b87d88045605d3bddb48f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-24 09:36:56 +00:00
Eike Ziller
eb4d230e38 cmake build: Create DebugInfo component with separate debug info
When building with RelWithDebInfo. The CMake code is adapted from
corresponding (internal) functions from Qt 6.
Also let the scripts create an additional *-debug.7z with the debug
info.

Task-number: QTCREATORBUG-24916
Change-Id: Ibc3c8c0013718b9c5e868136e5ce01e1e99f84c4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-17 11:32:32 +00:00
Eike Ziller
093d5f5ab1 Build in release mode on GitHub
Add option to build scripts to override build type, so it can be
freely chosen.
Build in release mode on GitHub - RelWithDebInfo was too big.

Amends b1640074e3

Change-Id: Ibba6e60d4e9b2eee24e789bfd28bddffb1e782f6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-11-12 16:22:19 +00:00
Tim Jenssen
b1640074e3 scripts: make release with debug info default
Change-Id: If08eeb64bfda42780f6ba9223c3394ce8daf6a6b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-11 19:23:23 +00:00
Eike Ziller
88498101a0 Build scripts: Fix path format for cmake calls
Make sure to pass posix style paths to CMAKE_PREFIX_PATH,
CMAKE_MODULE_PATH and CMAKE_INSTALL_PREFIX. Otherwise this can lead to
funny "Unknown control sequence \U" kind of errors.

Follow-up of fceaff1a6f

Change-Id: I1c8445f9c298a17115bca6b42f099a99e33d6de2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-11-10 09:50:23 +00:00
Tim Jenssen
fceaff1a6f cmake expects forward slashes here - even on windows
Change-Id: Ia31727b703745e01d6def91237a0bc46ea37261a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-11-09 17:35:51 +00:00
Eike Ziller
e101e83f84 Do not try to deploy QtQuick1 imports
We don't ship them with Qt Creator since a longer time now, and in Qt6
they are completely gone.

Change-Id: I7c6b1da1782cb641e17b2d1c7ff764dd81e15ee6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-11-06 06:57:10 +00:00
Eike Ziller
30017685e7 build.py: add --add-module-path
Which prepends a path to CMAKE_MODULE_PATH which is required for branding.

Task-number: QTCREATORBUG-22488
Change-Id: I6b0015778d8ceec7183740e5b70eaafd220a3bdf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-28 13:57:59 +00:00
Eike Ziller
3476b8aa67 Consolidate some options for build.py and build_plugin.py
Change-Id: Ic745231ed68296f8052e3b0897893ee8fce53b16
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-28 13:57:53 +00:00
Eike Ziller
bc4c2f8a15 Use the packaging script for the github action
Unifies a bit of what is done. For example this adds documentation and creates a disk image for
macOS. It will also make adding perfparser/elfutils and 32bit wininterrupt and qtcreatorcdbext
easier.

Adds Qt translations.
Adds some useful options to build.py and make it work with python3
Disables detection of debug vs release build in deployqt.py on Windows
if dumpbin is not there (for MinGW).

Change-Id: I3cc33144cad653823321209c219d220eb75093ec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-25 16:37:28 +00:00
Eike Ziller
2e130acfd7 CMake build: Show build date in about dialog in packages
The default for non-packaging build is OFF.

Fixes: QTCREATORBUG-24128
Change-Id: Id422babe197e215d6cb33807a78ba1ee3aaabb32
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-15 11:32:22 +00:00
Eike Ziller
0f362115c1 CMake build: Deploy elfutils
Fixes: QTCREATORBUG-24131
Change-Id: Ibfe829492e86ce1563882cf3be6469f9e553812d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-05 17:34:51 +00:00