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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
This adds the build system feature that allows Qt Creator's libraries
and plugins to be compiled statically.
Fixes some symbol clashes when all plugins are linked into the same
executable.
Support for actually loading static plugins will be added in a separate
commit.
The feature is controlled by QTC_STATIC_BUILD which by default is OFF.
Change-Id: I1fab7953c43e42dc75619e35660029ee067106df
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Amends 46f6c5d005
Simply disable this safe-guard for < 3.18.
Change-Id: I0ae3b7520a913861c8c9f97ec7e01e5c9c00d362
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The ELF default is historical legacy. We should always require all
libraries and all plugins to link to their dependencies and not
accidentally forget something (like implementing a virtual function).
Change-Id: I5e00996d7f4b4a10bc98fffd1629f8bfcf0d1c8f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
The functionality comes from Qt6 and will be enabled only for Qt6 builds.
/w3 level for MSVC, -Wall -Wextra for the rest of compilers.
Change-Id: Ib62a27e50ce37a6a860ba2bfa1bdb80a7ae60ace
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Introduced Package interface for mocking purposes.
Made some functions visible in headers for testing.
Added basic test skeleton for mcu plugin.
run cmd: `qtcreator -test McuSupport`
Change-Id: I1011d49052bd8c894da393d8a285b241682f1f94
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Add another option to mark a test as manual and use this for some
existing.
Manual tests will not be added as a ctest, but they can still get
executed explicitly.
Beside this allow to use a condition when using add_qtc_test().
Change-Id: I03d5397db36c0a2c9ee506a4214ed68fae6ad6e7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>