Commit Graph

302 Commits

Author SHA1 Message Date
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
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
ca016bfb2e deploy.py: Support Python 2.7, do not require all clang executables
FileNotFoundException is new in Python 3.
We might not have a LLVM build with e.g. clazy-standalone and clang-tidy,
make deployment of Clang executables optional.

Change-Id: Id25b2f65a8d060bac9cb7a66fb2cd7022e2724e0
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-12-09 13:35:38 +00:00
Eike Ziller
b47d95449d deploy.py: Fix when running with Python 3.6
Which happens to be the default version on macOS 10.14.
Python 3.6 does not return a sensible default encoding if you don't
fiddle with your environment (like explicitly setting LANG). Fall back
to UTF-8.

Change-Id: I12534e4745e9c29b40a02c4946d8079d395cc650
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-11-24 16:13:56 +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
ee6b329f10 Fix Qt deployment on Windows
Broke with 07128078b9

Change-Id: Icfc1ef7766017abf983115b20428931214a2a7c5
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-11-24 12:02:13 +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
Eike Ziller
46d2046173 Merge remote-tracking branch 'origin/4.13' into 4.14
Conflicts:
    src/shared/qbs

Change-Id: If75741825f5788165f9bf2f0248e976811273b6a
2020-11-12 11:39:01 +01: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
8edae33b42 macOS: Fix deployment of QML2 imports
Amends e101e83f84

Change-Id: I43ee85d9e0c144ec9a25d811d17604c91e709cd8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-11-10 12:08:06 +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
Christian Stenger
ed678000a1 Scripts: Fix deploying assetimporters on macOS
Change-Id: If990ab8f5dcf482c671d8f39655f5372f8896fd3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-28 13:13:07 +00:00
Friedemann Kleint
f0048ae951 shiboken2tasks.py: Fix for Windows
File names were not captured since ':' was excluded which can
appear in a file name on Windows.

Change-Id: I4bbf08c63faa12d3b76d73e927aef1457c09e02f
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
2020-10-28 09:08:53 +00:00
Cristian Adam
6c841dfbd0 GitHub Actions: Update to use Clang 11.0.0
Change-Id: I015a71a4f53ff3be8609a00bdef47c93161af882
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-26 12:47:46 +00:00
Tim Jenssen
d011e7df25 add some qmlpuppet cpp files to dev package
Since external plugins are interacting with the puppet
we need them in the dev package.

Change-Id: I871629ad80583a09b842bb60cd5b6fab5b512fae
Reviewed-by: Michael Winkelmann <michael.winkelmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-08-20 17:08:28 +00:00
Tim Jenssen
4fe5b923cd Merge remote-tracking branch 'origin/qds-1.59' into 4.13
Change-Id: Ic720f3adab305c5ef8cd10e713ccabf510eff0c0
2020-08-13 06:39:40 +00:00
Eike Ziller
715aa04d33 Fix clazy-standalone deployment on Linux
For some reason the RHEL build of LLVM has ClazyPlugin in 'lib64'
instead of just 'lib'.

Fixes: QTCREATORBUG-24344
Change-Id: Ibfca2aabd4c25ad4d80ea0e56de5ca8692b3c7ae
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-08-10 13:03:27 +00:00
Eike Ziller
ded5c64d53 Fix deployment of clazy-standalone
On Linux and macOS, clazy-standalone links against some dynamic
libraries which we need to ship.

Fixes: QTCREATORBUG-24344
Change-Id: I4946d2ae22fc9363445e6a3eecb8d9e40be5ef0e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-17 06:23:03 +00:00
Tim Jenssen
42d0c2b9f4 add litehtml to dev package
Change-Id: If33500eda8d095d1d9d63afe4ad8331109a22871
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-10 07:15:02 +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
7c329e1902 Merge remote-tracking branch 'origin/4.12'
Change-Id: I4935b6afdb13627f32e850a4c8b536de0269bc4b
2020-06-25 09:28:57 +02:00
Friedemann Kleint
848054ce3c Add shiboken2tasks.py for converting Qt for Python's shiboken tool warnings
Add a tool for converting shiboken  warnings to task files to be
able to load them into the Issues pane of Qt Creator.

Task-number: PYSIDE-904
Change-Id: Ie28e93ad76a615e549594edf5bba60e134b46a88
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-06-24 09:03:00 +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
e2e50f80fa Deploy: Use argparse instead of gnuopt
It's the more modern variant that we use everywhere else.
Add -i/--ignore-errors as a dummy option since it wasn't used for much,
and all callers used it anyhow - always ignore the one error that it
applied to.

Change-Id: Iecb5b434b6c21fc555410565a8e63a80844228cc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-06-05 17:34:40 +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
f574f478eb build_plugin.py: Add option to pass additional arguments to CMake
Change-Id: Ifab717fdca9b8c5d4585146e552a60fc66c08d74
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-05-05 08:03:41 +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
Tim Jenssen
081186811d qds: remove workaround when qdocconf was somewhere else
After moving the QtDesignStudio documentation to the QtCreator
repository there is no need for these extra files in the dev
packages.

Change-Id: I4e24946bb6752403a6ecafb0c474332ad2317b1a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-04-24 08:34:16 +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
fa59e02f89 Merge remote-tracking branch 'origin/4.11' into 4.12
Change-Id: I8cc80483cdb10309bf73aba5cfab52c1d90e1bbc
2020-02-26 08:14:47 +01: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
c34864ccab macOS: Disable library validation when signing
So we can load 3rdparty plugins even when the app is signed and notarized.
Also give Qt Creator "debugging" capabilities, allowing it to attach
to processes.

Change-Id: Ia6bb8ab279920b75a96777eafebbb4e7454fda46
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-19 12:53:02 +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
Eike Ziller
75972f04f6 Merge remote-tracking branch 'origin/4.11' into 4.12
Change-Id: I0d2977a2ed6f73cbc1e3cb5f1bf7e2e923a35305
2020-02-18 12:14:02 +01:00
Eike Ziller
cde9f31068 macOS: Fix signing issues with notarization
Notarization requires signing with hardened runtime, but this added
requirements to the additional plugins we copy into Qt Creator for the
commercial package.

This patch fixes an issue with an absolute RPATH still being left in
extra plugins, and avoids copying plugins into an already signed
application by not signing the 7zips, but only the contents in the open
source disk image (and the installers are signed by the installer jobs
anyhow).

Change-Id: I8c945a0ad9df610b20a8ee110320875f255c65b4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-18 10:24:45 +00:00
Eike Ziller
42f02fae03 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ie1c4de44aa1af20dfb67e20607b9fb4e71445cbe
2020-02-12 08:04:14 +01:00
Eike Ziller
c522ceb7dd macOS: Do really deep deep code signing for notarization
Notarization is more picky than the regular code signing.
All code outside of the "usual" binary directories must be signed
separately, in addition to being codesigned with the application
afterwards.
That includes Imports/qtquick2 and Resources/libexec.
We cannot just move these into e.g. MacOS/ or PlugIns/ either, because
these directories may _only_ contain code, no other resources.

Change-Id: Id05b2644e01b61e9c33d86617c6374225b50e7f3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-10 13:04:39 +00:00
Eike Ziller
0795a5ae6f Merge remote-tracking branch 'origin/4.11'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I4e339410b17df4098f17e3bb621e1c02e3f8026b
2020-02-07 10:41:09 +01:00
Eike Ziller
ee579b5bf3 macOS: Use hardened runtime when signing
Follow up of c2398e3067

Change-Id: I003f03097633202585d36a136136d84d8f3c2140
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-07 07:44:18 +00:00