Commit Graph

469 Commits

Author SHA1 Message Date
Orgad Shaneh
3d8b46685a MSVC: Enable exception handling for libs that use STL streams
Sample warning:
Building CXX object src\libs\qtcreatorcdbext\CMakeFiles\qtcreatorcdbext.dir\common.cpp.obj
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(342): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(335): note: while compiling class template member function 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned long)'
F:\Projects\qt-creator\qt-creator\src\libs\qtcreatorcdbext\common.cpp(20): note: see reference to function template instantiation 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned long)' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sstream(655): note: see reference to class template instantiation 'std::basic_ostream<char,std::char_traits<char>>' being compiled

Change-Id: I26508048a875aabe4c5b80ef4cccfe091a2a145e
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-02-23 09:29:28 +00:00
Eike Ziller
66d4e12a58 Build: Remove FindQt5.cmake
No longer needed, since we generally only support building with
Qt 6 nowadays, and the parts that still do support building with
Qt 5 handle that manually.

Change-Id: I72381589ca3ab7bf1af88d9f185cad7f0cdf149c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-02-23 07:12:44 +00:00
Eike Ziller
c41b417748 Bump version to 10.0 beta2 and copyright year
Change-Id: I633df92077441d6eab1390259769488687803a9f
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-02-20 14:24:04 +00:00
Eike Ziller
133b78dafa Build: Sort contexts on translation updates
Change-Id: I484f42ff9e3d41f8830d5f531de9e4d8cdfa9c88
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-02-20 13:20:54 +00:00
Eike Ziller
1938926c69 Build: Add target for lupdate with obsolete, without locations
Which would be something that we can check into the repository.

Change-Id: I14e3a6d5e5a505b4ae0dc4b22046834ee645ef9c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-02-17 11:02:46 +00:00
Marco Bubke
121e300527 cmake: Add PROPERTIES to add_qtc_test
Change-Id: I66d4437866ae2b107fede78760284dc35a1fb8f0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-02-16 12:27:24 +00:00
Eike Ziller
a89d1e5958 Build: Don't add QT_RESTRICTED_CAST if QT_NO_CAST is already set
as directory property.
It is not allowed to set both, but perfparser adds QT_NO_CAST_FROM_ASCII
as a directory property now.

Change-Id: I6dbc8911521c737dd38c58777b8cd785e8cfe135
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2023-01-25 15:04:47 +00:00
Eike Ziller
06c4df37b9 CMake build: Remove usages of Qt5_VERSION
and remove checks for Qt < 6.2, since that is our minimum version.
Except for sdktool and qml2puppet.

Change-Id: Id36cd1a15a5a6e5480e4ae5d0a8ffaea4b2a1864
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-01-24 15:35:46 +00:00
Eike Ziller
55fa109b59 CMake build: Use version-less Qt targets
Since we do not support Qt < 5.15 anymore, and as a first step
for getting rid of our special FindQt5.cmake.

Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-01-05 10:13:16 +00:00
Eike Ziller
3f4c3a3db4 Merge remote-tracking branch 'origin/9.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/texteditor/texteditor.cpp

Change-Id: I9c8f1331be3f5442f1fd28aeb0a9bc07128629d1
2022-12-20 11:05:01 +01:00
Eike Ziller
1faae7dec4 Bump version to 9.0.2
Change-Id: Ibc35cf8f8b388438d34c3b824c9eb97d9eefb9ea
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-12-15 15:01:02 +00:00
Eike Ziller
01dc87b100 CMake build: Add hint for installing libdw-dev for elfutils
to the CMake output when elfutils is not found

Change-Id: I7ecc83ddadb0ce4bd4f8f9695cbf58443d71ff98
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-12-15 14:20:09 +00:00
hjk
b2e4bad49c Cmake: Give a hint on the use of libdw-dev for the perf parser tools
Change-Id: Ia6aed65035856250a496db41cf1ffa81590dc536
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-12-15 11:09:46 +00:00
Orgad Shaneh
157f2bcd39 Merge remote-tracking branch 'origin/9.0'
Change-Id: I231d35f492713f317773b79478b5f7fb97a4fe50
2022-11-28 17:29:19 +02:00
Tim Jenssen
98a40b3690 CMake build: Make errors of execute_process fail the build
Instead of silenty failing and resulting in broken builds/packages.

The property is only available since CMake 3.19, so limit the feature to
that.

Change-Id: I82b06e78540e81a809f7fdfe130648becfc9672e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-11-28 08:29:42 +00:00
Eike Ziller
b6d3333daf Bump version to 9.0.1
Change-Id: Iaa42623df5a1b35833cb1f9e0cfc3187b580e34b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-11-24 14:03:15 +00:00
Eike Ziller
3922ee3c72 Bump version to 9.0.0
Change-Id: I9975d78fc4d9f263702e7f031083ab4847269fc3
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-11-11 12:44:34 +00:00
Eike Ziller
10dca6b37f Merge remote-tracking branch 'origin/9.0'
Change-Id: Ie069f3b2a1200b3e665341b1d56ce836024b0d29
2022-11-10 13:22:43 +01:00
Eike Ziller
872994b5e5 CMake/translations: Use lconvert for cleaning ts files
For the translation process it is nice to keep obsolete items and locations,
but we do not want these submitted in the end. So while translating we'd have
patches:

1. lupdate cleaned of obsolete and line numbers
2. wip: lupdate with obsolete and line numbers
3. translation of plugin X
4. translation of plugin Y

and before submitting we want to remove the wip patch (2).

But, running lupdate with "-no-obsolete -locations none" for cleaning
the ts file has a slightly different sorting than without it, which
leads to conflicts when removing the wip patch (2).

Instead run lupdate with obsolete items and line numbers first, and
clean the ts file with lconvert afterwards. That keeps the diff between
patch (1) and (2) minimal, and results in a clean rebase process when
removing patch (2).

Change-Id: I3b8ac7c30dc6eb0e501be765eb6e64069007a5bd
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-11-09 11:11:13 +00:00
Eike Ziller
68388a38dd Merge remote-tracking branch 'origin/9.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/qmldesigner/components/edit3d/edit3dwidget.cpp

Change-Id: I154a9ababa9e166cb06e98652d481fe6234f6399
2022-11-03 13:44:37 +01:00
Eike Ziller
da364bd4df Translations: Add targets that update translations without the cruft
Without obsolete and vanished translations, and files and line numbers.
Which is what we would in the end submit into the repository.

run with `cmake --build . --target ts_<lang>_cleaned`

Change-Id: If5b73f19d8fc7b49bcf95fbeb0b0ff7793056cca
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-10-31 08:46:43 +00:00
David Schulz
91257b3e76 Bump version to 9.0.0-rc1
Change-Id: If9f046539e70e8aba9af367472b76bac853198b8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-10-26 11:46:35 +00:00
Eike Ziller
871aeed8eb Bump version to 9.0.0-beta2
Change-Id: I2ad221b1f6eef849220de2870ac2219e5c008279
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-10-13 06:07:56 +00:00
Eike Ziller
7efb0a0625 Merge remote-tracking branch 'origin/9.0'
Conflicts:
	src/plugins/qmldesigner/CMakeLists.txt

Change-Id: I500420df35519e6903abc570d1283185f01bf900
2022-10-10 11:47:45 +02: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
Eike Ziller
8b028a69a7 Bump version to 10.0.0-beta1
Change-Id: Ieb90096775fecfb4bfe1228372a1a3b0d9512faf
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-10-05 09:20:53 +00:00
Cristian Adam
860d003a34 CMake: Add cpack packaging support
Tested on all desktop platforms like this:

  * Windows with cpack -G NSIS64|WIX|IFW
  * Ubuntu Linux with cpack -G DEB
  * macOS with cpack -G DragNDrop

Fixes: QTCREATORBUG-28199
Change-Id: I5cd66aa387cc9677303ac3aece28eccb710d074f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-09-28 13:44:12 +00:00
Marcus Tillmanns
66eca4cb4b CMake: Fix WITH_SANITIZE
Adding qtc_enable_sanitize to add_qtc_executable to also instrument applications

Changing qtc_enable_sanitize to use target_compile_options instead of trying
to modify CMAKE_CXX_FLAGS_DEBUG and hoping that nobody else overwrites it,
which previously erased the added flags.

Adds support for MSVC /fsanitize

Change-Id: Ida80cfd7ef7ea91b2d6473fdc047cb7132cdfec6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-09-20 10:17:31 +00:00
Eike Ziller
b338405477 Require Qt 6.2 for building Qt Creator
Change-Id: I43f7bf123e359b4e312269f645a9d26aeeeb6d7a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: hjk <hjk@qt.io>
2022-07-11 13:36:18 +00:00
Eike Ziller
99a116d721 Bump version to 9.0.0-beta1
Change-Id: If64527bc1f5af72f488a96bb134e70a4194515af
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-07-08 13:49:19 +00:00
Eike Ziller
1cb4f33dfb CMake build: Fix include paths passed to lupdate
The include paths that we extract from the targets often still contain
the generator expression, like $<BUILD_INTERFACE:actual/include/path>.
Throw away "paths" with generator expressions that we don't care about,
and strip the BUILD_INTERFACE expression around the paths, which are the
ones that we do care about.

This wasn't only partially relevant so far, though it probably was the
reason for the need for fully qualified tr(...) calls at some places.
It becomes essential when we move to the <Plugin>::Tr class, which
requires an include to <plugin>tr.h, which is otherwise not found for
files that are not in the same directory.

Change-Id: I7a0183f002973069839920ec29944342cfd91721
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-07-08 13:04:06 +00:00
Eike Ziller
10163afae0 Merge remote-tracking branch 'origin/8.0'
Conflicts:
	share/qtcreator/translations/qtcreator_ja.ts

Change-Id: I436b8f60971f11a5fb7962a57600ad075135f397
2022-07-08 10:21:30 +02:00
Eike Ziller
c857644c14 Bump version to 8.0.0
Change-Id: Ibf884cf0128e6e24e09c0b04e20a4a8ba26313d7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-07-07 13:26:34 +00:00
Eike Ziller
f950a5d86c Merge remote-tracking branch 'origin/8.0'
Conflicts:
	src/libs/utils/terminalprocess.cpp
	tests/auto/qml/qmldesigner/coretests/CMakeLists.txt

Change-Id: Ifc5b37dadd46af752f0771a2685da1ac9a6260bd
2022-07-07 13:47:12 +02:00
Eike Ziller
d059a610b1 COIN: Arm auto tests
Some of our auto tests fail, so add an EXCLUDE_FROM_PRECHECK option for
add_qtc_test, which sets a corresponding label on the ctest, and exclude
these when running ctest on COIN.

Disable the Googletest based unittests for now, they are inconsistently
failing on CI, e.g. sometimes timing out after 60 seconds for tests that
usually take only a fraction of a second.

tst_perfdata from the perfparser submodule also fails. Temporarily
disable it explicitly, until the EXCLUDE_FROM_PRECHECK change can be
merged there.

Change-Id: I7e9d7aded75bbe8800f82f7aa125c181271a2a1f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-07-05 10:13:18 +00:00
Eike Ziller
6c98721efc Merge remote-tracking branch 'origin/8.0'
Change-Id: I552d201d09d62d21655176467088c6e48b8a2fe2
2022-06-29 15:29:49 +02:00
Eike Ziller
70fb66f9ee COIN: Add test instructions
For now just run them without failing the precheck on failing tests.
The test results are only visible in the precheck details
on testresults.qt.io

Remove the fixed timeout of 5 seconds, since this depends on the test
setup where the tests are run, and it is not possible to override a
fixed timeout with the --timeout option of ctest.

Change-Id: Ib5f12092b64d0cf87e1213b031e1990973e18669
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-06-29 12:05:06 +00:00
Eike Ziller
f2216f3893 Bump version to 8.0.0-rc1
Change-Id: I6784f126f9492a7968027f5edb995c94cc097ca3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-06-29 09:24:39 +00:00
Eike Ziller
c7b724c4ca Merge remote-tracking branch 'origin/8.0'
Change-Id: Ia1c97d5949de607177a5a0632c7e8a37cbfd3475
2022-06-27 10:33:44 +02:00
Eike Ziller
ff96ea41b2 CMake build: Don't exclude GTEST tests for dependency checking
Also Googletest based tests should be disabled if dependencies
are missing.

Amends aac0f2a8f5

Change-Id: I3be6165b8a28428ba34556a1bf438b3000c00056
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2022-06-27 07:05:59 +00:00
Eike Ziller
ae2e57b167 Ignore .json.in and .svg files for translations
Amends 30bb32d9af
which added the .json.in files to the list of target sources.

Change-Id: I7282cfcda50cbd156403a23cce06baed9698bb4d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-06-27 07:05:29 +00:00
Marco Bubke
7e17119e0a Disable warnings for google tests
Change-Id: I5992d0c565690a0dc8a283ab889275dec2182c17
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-06-23 12:15:55 +00:00
Eike Ziller
69cbcb4cd5 Merge remote-tracking branch 'origin/8.0'
Change-Id: I3f218b52bf6904daca3779fb677e51f6f51f2f9f
2022-06-23 11:17:33 +02:00
Tim Jenssen
97da8a6b5b add CONDITION support to extend_qtc_target
Change-Id: I4d675170386373af14a143cac9c4cef817d0585c
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2022-06-20 16:51:12 +00:00
Eike Ziller
5f48066328 Bump version to 8.0.0-beta2
Change-Id: I02a09e916d11c7ce28b2d58ba7517e582e14be06
Reviewed-by: David Schulz <david.schulz@qt.io>
2022-06-17 11:14:32 +00:00
Cristian Adam
ee98c98676 CMake: Remove libclang references
Now that libclang is no longer used, make sure that all references
to libclang are gone.

Change-Id: I4b66eff992b22adb6a9c25d34053f2b36079583c
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>
2022-05-24 14:57:22 +00:00
Eike Ziller
6a296ab68a Merge remote-tracking branch 'origin/7.0'
Conflicts:
	src/plugins/qmlprojectmanager/qmlprojectplugin.cpp

Change-Id: I14030f58303839e706af892dd12a67566e3bed68
2022-05-18 13:35:47 +02:00
Tim Jenssen
839502650c qds: ENABLE_CRASHPAD on macos (universal builds)
using a newer crashpad version build with:

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PWD/depot_tools:$PATH
mkdir crashpad
cd crashpad
../depot_tools/fetch crashpad
cd crashpad
gn gen out/Default --args='target_cpu="mac_universal"'
ninja -C out/Default

Change-Id: I782c09cb564aff725652cd1419a8dec78bc04fc5
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-05-12 10:06:03 +00:00
Marcus Tillmanns
44a5d25f16 CMake: add defaults from environment for PCH and Tests
Change-Id: I7881c483f8c6f35463cff70ee1dbe91f2e6f810b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-11 08:04:37 +00:00
Eike Ziller
57a69d9d0b CMake build: Avoid endless loop if plugin does not exist
get_property fails if the target does not exist, and _dep stays at some
old value.

This leads to a) a lot of cmake backtraces with an error message that
doesn't add anything useful, and b) an endless loop in
find_dependent_plugins. Which in the end leads to 500.000 lines of
useless CMake output, repeating
"qtcreator/cmake/QtCreatorAPIInternal.cmake:340 (find_dependent_plugins)"

Skip get_property if the target doesn't exist.

Change-Id: Ic694bc05b3dce5b83220a2f5dab8f063ef692c12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-10 12:57:16 +00:00