Commit Graph

50 Commits

Author SHA1 Message Date
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
Eike Ziller
b3ffd8d1eb CMake build: Move documentation functions to re-usable location
Removes "install_..._docs" and "clean_docs" special targets.
Instead install documentation with "--install . --component qch_docs"
and "--install . --component html_docs" which have the advantage that
the install prefix can be specified later on with --prefix.
Also removes export of IDE_SOURCE_DIR, which is not used.

Change-Id: I4fce0b9aa8c7fc40b7e94e065777ddf4c0b76c41
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-05-25 11:31:06 +00:00
Eike Ziller
7051ba8498 Build script: Add option for passing arguments to build command
So one can pass e.g. -j3 when locally testing while still doing other things

Change-Id: I7a528884f19698290e49c372eb31030afe609d23
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-05-15 12:50:24 +00:00
Eike Ziller
5feec21cbd Packaging: Install documentation
Fixes: QTCREATORBUG-23912
Change-Id: I2e28c9f9000dca1216ec31bad307031937223e83
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-04-29 14:25:58 +00:00
Eike Ziller
05f746cfd0 Add script for building external plugins for packaging
Also turn off PCH for building Qt Creator and add some more options for
local testing.

Change-Id: Ic05099ef1dd8e8c78b174d7cd07a83b2f4a9cbb5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-04-28 11:21:19 +00:00
Eike Ziller
9eceb46739 Fix link on commit sha in about dialog
Passing a URL via defines breaks when trying to "stringify" it.
It would always stop at the first slash.
Instead use a qmake variable directly. That has the additional advantage that
the value isn't passed on each and every compiler command line.

Change-Id: I97a297fbcdee5ea03eb6fa08181c95b1ad2de767
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-03-23 07:14:27 +00:00
Alessandro Portale
3a52269a1d scripts: build.py: Handle Null path in default_python3()
Change-Id: Ice6b269502a77f31a7af447429bba4332df026e9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-26 12:00:48 +00:00
Eike Ziller
a8cca1b89a build.py: Remove unused 'temp' directory
Change-Id: I7b6a45aa2ac1d0851207512e2659f46f1940f628
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-26 07:01:23 +00:00
Eike Ziller
8a18ccdef9 Add script for building Qt Creator for packaging
The result is a number of 7zips in the build directory
that can be packaged in an installer, or unzipped
on a different machine directly

Change-Id: Ic1a691678b2268c08e9159c1958dbecefc640fc3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-02-19 09:56:08 +00:00