| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The previous replacement method didn't consider flags that start with
-Wl,--no-undefined, and this leads to the invalid flags landing to the
linker line. E.g. -Wl,--no-undefined-version implaced '-version' after
replacement.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I7748f1849dc5c8e552db179ccbad1e75c86bb785
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce the qt6_add_android_dynamic_features function. The function
marks the targets specified in the FEATURE_TARGETS argument as dynamic
features, assigned to the specific Android application target.
The dynamic feature target must be the SHARED_LIBRARY and not the
Android target of type different from the DYNAMIC_FEATURE type.
The design allows many-to-many component linking, so multiple Android
applications may use same dynamic feature, and single Android
application may use many dynamic features.
Dynamic features are deployed as part of the main Android application
aab and use the QT_ANDROID_MODERN_BUNDLE as the required pre-requisite.
Limitations:
- Dynamic features only implemented for the single ABI builds.
- Dynamic features are not tested and proved in multi-config builds.
- Qt disallowed to provide the store API to load dynamic features.
Users need to follow Qt guidelines and documentation to implement
own feature delivery.
Task-number: QTBUG-116683
Task-number: QTBUG-124600
Change-Id: Idf10d481cedfe1cb5bd08c86e57a844e502bd6ff
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
| |
Use the transitive INTERFACE_QT_ANDROID_FEATURES property to
generate user feature declarations in AndroidManifest.xml.
Change-Id: I6d49da12dc708abe125546241a268bb4ed6937d1
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current QT_ANDROID_PERMISSIONS property format is inconvenient for
use in the CMake generator expressions and mixes attribute syntax
with CMake list syntax.
This suggests the new format for the QT_ANDROID_PERMISSIONS property.
Each element is encoded the following way:
<android:name>\;<permission>\\\;<extra1>\;<value>\\\;<extra2>\;<value>
Elements are separated using standard CMake semicolons.
QT_ANDROID_PERMISSIONS is now transitive LINK property. This feature
deprecates the '<permission' records in the
Qt6<Module>-android-dependencies.xml files. If application links
Qt Module that requires specific permissions, these permissions will
be written to the application deployment-settings.json file.
The 'permissions' record in the application deployment-settings.json
file is changed too, the new format is following:
"permissions": [{
"name": "permission",
"extra1": "value",
"extra2": "value"
}]
Comparing to the previous format each extra attribute is stored under
a separate key in permission object.
IMPORTANT: androiddeployqt has no backward compatibility with the
old format.
With QT_USE_ANDROID_MODERN_BUNDLE enabled permissions are written
directly to the AndroidManifest.xml without androiddeployqt involved.
Supply tests for the Android permissions, that reads the
manifest-declared permissions in test using the Android PackageManager
API.
Change-Id: I691df33c70acc6c7139302b119edc791fef8d5ef
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the modern android bundles support to androidtestrunner.
The tool uses Android bundle tool to unpack and install Android
bundles. If the Android bundletool found in the system and
QT_USE_ANDROID_MODERN_BUNDLE is enabled Qt tests prefer run 'aab'
but not APKs.
This unlocks testing of Android bundles in CI and locally.
Change-Id: I98be662f5c383127a8401371757ea708a495a94f
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The module looks for the Android bundletool in the system.
The bundletool is a helper tool that allows making various manipulation
on Android bundles:
https://developer.android.com/tools/bundletool
We want use it for testing of the Android bundles.
Change-Id: Ic0b60e78705c4f1a78da1c401352589fa4a5f6d4
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Function returns the path to the Android platform tools. If the path is
changed in the future, this function will localize the required changes.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: Iea6e76c28e4260aaad6ba5429e2e46b0836c5e1a
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's a bad practice, since the output variable may interfere with
the local variable name, so local variable will be unpredictably
corrupted.
Use local variable and write the result at the end of function.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I10c47460337c1fa3d1d060c77b56b8d4913d6a98
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This approach is more flexible and modernizes the gradle project
structure for Qt apps. We now try to reproduce the CMake Android project
structure of user applications, in the modern Android project
structure described here: https://developer.android.com/build
The new structure using the module based application build and unlocks
the support for the use of dynamic features and Android libraries(aar).
All gradle-related rules are generated by CMake and androiddeployqt is
used in the auxiliary mode only(--aux-mode option). Update gradle
templates.
To opt-in the modern deployment use the QT_ANDROID_MODERN_BUNDLE
variable.
Task-number: QTBUG-116683
Task-number: QTBUG-124600
Change-Id: I343b884dea77a7b3b9059cf876a81c3693d0294b
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Windows 10 requires the cmpxchg16b instruction to be available. Enabling
it for clang/mingw allows us to use cpp_winrt.
Task-number: QTBUG-115078
Pick-to: 6.10
Change-Id: I6ac5afa1c592e9d42f7712aca1062ecc9251d52d
Reviewed-by: Thiago Macieira <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Add ANDROID_PLATFORM to Core.json so that Qt Creator can pick it up.
Task-number: QTCREATORBUG-32932
Pick-to: 6.10 6.9 6.8
Change-Id: I4a84ba74f43d68e2aef6c31f93c8c94a46bd406a
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMake supports it since 3.25 (and we ship Qt with 3.30), so allow the
selection of to-be-C++26.
This patch merely continues the status quo. It does not attempt to
change policy.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I6e1e7d76f787d619ad16551114ca92423159917a
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Giuseppe D'Angelo <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I6bee3046d383ee44a01460880d22650fb698605b
Reviewed-by: Piotr Wierciński <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unity builds currently fail on macos with -Werror, due to
-Wnullability-completeness. It seems that apple's system headers don't
have every NS_ASSUME_NONNULL_BEGIN followed by a NS_ASSUME_NONNULL_END,
which seems to leak into our code.
Demoting the errors to a warning to make -Werror builds pass again.
Pick-to: 6.10
Change-Id: I70d8ae33bf57b87feac7bb33b929b74f8cd60504
Reviewed-by: Tor Arne Vestbø <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The vcpkg toolchain file sets CMAKE_FIND_FRAMEWORK to LAST unless
VCPKG_PREFER_SYSTEM_LIBS is enabled. The latter however has other
unwanted implications and is also deprecated.
The CMAKE_FIND_FRAMEWORK=LAST setting breaks
qt_internal_find_system_framework for libraries like "Network" that are
available as framework and as TBD file.
Set CMAKE_FIND_FRAMEWORK temporarily to FIRST (the default value) in
qt_internal_find_system_framework if vcpkg is used.
Change-Id: I2fd3152d75b043a396f7c9b6269e623700077b98
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building qt examples in-tree, in a cross-compiling case, with a
CMake version lower than 4.0, we lose AUTOGEN dependencies due to a
bug in cmake.
To ensure the dependencies are not lost, we need to apply the same
workaround we did for internal Qt targets.
For targets created by Qt's public API, we now query the target's
LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES at finalizer time,
and add them to the AUTOGEN dependencies.
The implementation is also modified to remove duplicates.
We only apply the behavior in public API when QT_BUILDING_QT is true,
to reduce the risk for regular user projects.
The assumption here is when building a user project, Qt is already
fully built, so we don't need to ensure that Qt's sync headers and
autogen targets are up to date.
Pick-to: 6.5 6.8 6.9 6.10
Fixes: QTBUG-137587
Task-number: QTBUG-133725
Change-Id: I61bd799ca39d92702ca0fc48d54bb517fc55baeb
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move it to a public Helpers file, so we can call it also from public
API, because there are cases when we need the workaround for public
API calls as well.
Amends fcb20586316aff2ccc39e2ae840b79f8b0e904a7
Pick-to: 6.5 6.8 6.9 6.10
Task-number: QTBUG-133725
Task-number: QTBUG-137587
Change-Id: I9aef59f5eadc78fd581b24790e6b69795c32c1bf
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the previous logic used in the QtPluginConfig.cmake
files, allowing now to include the plugins independent of the current
repo's dependencies. The only thing that controls whether a plugin is
being included is if the current plugin is being built or not.
Task-number: QTBUG-135233
Change-Id: I2d044eb6f6a3f36f49217eed81e799c4cfced66c
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Effectively check if we are importing while still building the current
project
Task-number: QTBUG-135233
Change-Id: If172617463157e84e1b16fc2354147fabae41084
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
| |
Used to check if we should include the `Targets.cmake` file.
Change-Id: I87b22a9eb68c6d0649595703e9d08e88c55d58e1
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
| |
Change-Id: I240939724b7013e00af6c118443b04007c9ce543
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
| |
Includes backwards compatibility for the old interface
Change-Id: I6aeb62eff2a4e9a27d797bd9e06fbe68b2916ae6
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
| |
Change-Id: If8e8970c6752aa0fcdf49181c001ef5766faa9ea
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
| |
This serves as a hook to add tests and test-like targets to all repo
builds
Change-Id: I480885bf5c8899981e5b8d215a14a7b736bda890
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
| |
Change-Id: Id2c821a9e0abd067a8eb66348baff0f2f657bd75
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
| |
Change-Id: I4f85cee9957c0c8cf001417a61b61a57d7041dba
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
| |
Gate the installation of CI-only files by this option.
Change-Id: I9327bac01707ceaa27aa0c91952ddb4846589dca
Reviewed-by: Joerg Bornemann <[email protected]>
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
The installation is already gated by the user having to specify
`INSTALL_PUBLICBINDIR`, at which point we know that they want symlinks
created and installed. This automates the installation for that user.
Fixes: QTBUG-132761
Change-Id: Ie1242f21ec39db8fc0f31d7f2b93a43a23533485
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This "deprecation_define" variable existed before, but after
some commit the logic that set this variable has all been
removed, so it's always empty and become useless now.
I've searched for this variable globally in whole qtbase repo
and can't find anywhere set or use this variable, so I think
it's safe to remove these leftovers.
Change-Id: If89c40570f24f5b845d17966da8a83746473152f
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A qt_find_package call first tries to find a Config package
with the CONFIG mode option, and if not found, falls back to an
arg-less mode which searches both Config and Find modules.
For some packages, we know we want to find the Find module because
there can't be a Config package, e.g our FindWrap modules or any of
the other Find modules we carry in our cmake directory.
So we should annotate these calls with MODULE.
Aside from slightly faster configuration, there is another reason to
do so.
Future versions of CMake will automatically log find_package
calls that have a state change (e.g. Not Found -> Found) into
CMakeConfigureLog.yaml.
Due to the Config-first logic in qt_find_package, we always unset the
Foo_DIR variable if the Config package is not found.
This means that there will be a constant build up of not-found
messages in the log.
Explicitly annotating the calls with MODULE will prevent this. Do
that.
This commit relands f1a59e974f013fcf8629d8cbacab58d895523100
This reverts commit 0ce82b78a35026cb56ff76d1c24b311008934a53.
Pick-to: 6.10
Change-Id: I5d37579d2f4957215ce1475b5c0ec8509d77c83d
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A qt_find_package(Foo MODULE) call is only executed if Foo_FOUND is 0,
otherwise it is skipped.
This is problematic for FindFoo scripts that are implemented
using pkg_check_modules calls which specify a <prefix> that matches
the package name (Foo), because pkg_check_modules then sets the
Foo_FOUND cache var to 1.
On reconfiguration Foo_FOUND is 1, the qt_find_package call is
skipped, and thus no targets are created, which can lead to
'unknown target' errors.
The fact that pkg_check_modules sets a cache var, rather than a local
var is a CMake issue:
https://gitlab.kitware.com/cmake/cmake/-/issues/27014
One workaround would be to modify all our Find scripts to use a
<prefix> that does not match the package name, so the _FOUND cache var
is not set. That is somewhat error prone though, and requires some
effort.
Until CMake changes its behavior, make sure we always run
qt_find_package(MODULE) calls, even if the cache var is set as found.
Pick-to: 6.10
Task-number: QTBUG-137870
Change-Id: Ifad8807fd69a65be8e338695b9002760c6d97461
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If Qt is configured to build with lld, our examples should use it
as well. But we want to do it without forcing the same linker on user
projects.
Normally if we wanted to do it for all user projects, we would
propagate the linker flag via the Platform target, but we can't.
In case of in-tree examples, we propagate the flags using
add_link_options which is directory-scoped, and will apply to all
targets created under the examples directory.
For out-of-tree examples, we pass the flags via the
equivalent CMAKE_<type>_LINKER_FLAGS_INIT variable to the external
project.
Pick-to: 6.8 6.9 6.10
Fixes: QTBUG-137882
Change-Id: Iade8ee2f37032b4a7801e5a628c9cc177d478129
Reviewed-by: Alexey Edelev <[email protected]>
Reviewed-by: Moss Heim <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to make the project build reproducible it should not record
transient information of the build host.
The linux kernel is not encoded in the source, and the value from the
modules.json does not seem to be used anywhere, so we can drop it for
now.
Fixes: QTBUG-136060
Change-Id: Ic157d66d47040b080e9121fd065a8d60d489f586
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.10 6.9 6.8
Change-Id: I3dad6ba44a72399c95adbb78d186f78542a6db84
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
We were missing the plumbing from QT_SUPPORTED_MIN_VISIONOS_VERSION to
CMAKE_OSX_DEPLOYMENT_TARGET which resulted in picking up the SDK version
as the CMAKE_OSX_DEPLOYMENT_TARGET, which is not great for testing the
new visionOS 26 SDK against visionOS 2.5 simulator.
Pick-to: 6.10 6.9 6.8
Change-Id: Ic0bb3f4307dced463f51f1781e68c21bd8aa2e96
Reviewed-by: Christian Strømme <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This breaks reconfiguring Qt in various ways, one of which is
CMake Error at cmake/QtTargetHelpers.cmake:1557 (message):
PkgConfig::ATSPI2 is not a valid target.
This happens because pkg_check_modules sets ATSPI2_FOUND to 1, so
qt_find_package thinks it shouldn't find the FindATSPI2.cmake module,
which ends up not creating the ATSPI2 target.
This reverts commit f1a59e974f013fcf8629d8cbacab58d895523100.
Pick-to: 6.10
Fixes: QTBUG-137870
Change-Id: Ica74a236c6b1bb9d7ca9af29175cb2e84a93251b
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A qt_find_package call first tries to find a Config package
with the CONFIG mode option, and if not found, falls back to an
arg-less mode which searches both Config and Find modules.
For some packages, we know we want to find the Find module because
there can't be a Config package, e.g our FindWrap modules or any of
the other Find modules we carry in our cmake directory.
So we should annotate these calls with MODULE.
Aside from slightly faster configuration, there is another reason to
do so.
Future versions of CMake will automatically log find_package
calls that have a state change (e.g. Not Found -> Found) into
CMakeConfigureLog.yaml.
Due to the Config-first logic in qt_find_package, we always unset the
Foo_DIR variable if the Config package is not found.
This means that there will be a constant build up of not-found
messages in the log.
Explicitly annotating the calls with MODULE will prevent this. Do
that.
Pick-to: 6.10
Change-Id: I465b015ac18f8a09b9a5c86cec7b6312a0bfbdf1
Reviewed-by: Alexey Edelev <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For AUTOMOC, we were missing the compiler flavor flag, as well as the
WIN32 define. While the latter has not caused any known issues yet, the
former is rather problematic for implementing __has_include in moc.
Note that this only applies in the case where the AUTOMOC flags are set
by us in a qt_ function like qt_add_excutable. Plain add_executable
won't benefit from it, but we already mention that Qt targets should not
use plain CMake functions.
This change is (indirectly) tested by the commit adding __has_include
support for moc.
Task-number: QTBUG-136097
Pick-to: 6.10 6.9 6.8
Change-Id: Ie2beb08a44a3a67e3bc363d9c1ba93b7d6a49133
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Sync the cmake arguments to search for DB2 with the rest of the qsql
find modules and provide a DB2_ROOT env or cmake var.
Also allow the old variables as a fallback.
Pick-to: 6.10
Change-Id: I587e519b5cf3513e9580f64f0fb9b46bf789da5c
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function append the unique entries to the CMAKE_CONFIGURE_DEPENDS
property. This suppress the ninja recompat issue, which complains
about the duplicated entries in that come from the
CMAKE_CONFIGURE_DEPENDS property. It's likely the CMake issue, but
we may work around it.
Pick-to: 6.8 6.9 6.10
Change-Id: I2f10834b0dca3d2aa08fe13fba69849e97fa77d0
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
| |
It's no longer available on macOS 26, and we don't use it anymore
anyways.
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ia1d0e37dda177f333646e598e517f4af20215dad
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously QT_CMAKE_EXPORT_NAMESPACE was set by calling
find_package(QtBuildInternals) at repo dir scope, even in a top-level
build.
Starting with ddcafa0a51c65d86f6b5481f06fce5faeb75920d in
qtdeclarative, we now have a deferred call of
_qt_internal_write_deferred_qmlls_build_ini_file in the
CMAKE_BINARY_DIR scope, which lacks the QT_CMAKE_EXPORT_NAMESPACE
variable.
This caused errors in a top-level standalone tests build:
Error evaluating generator expression $
No target "::qtpaths"
CMakeLists.txt:DEFERRED
To avoid the error we now set QT_CMAKE_EXPORT_NAMESPACE in the
top level scope.
To avoid duplicating the code into the QtBaseTopLevelHelpers,
we extract the qt_internal_top_level_setup_cmake_and_export_namespace
function into a new QtBuildInternalsHelpers.cmake file, which is
included by both QtBaseTopLevelHelpers.cmake and
QtBuildInternalsConfig.cmake.
We also copy and install that file.
This has less side effects than trying to call
find_package(QtBuildInternals) in the top-level scope.
Pick-to: 6.10
Change-Id: I8e54e21d3f07ee86860cad49d6e43e0fdefbcee3
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
We didn't copy the standalone test template files into the build dir
when configuring a prefix build.
We also need to copy the mkspecs.
Pick-to: 6.8 6.9 6.10
Change-Id: I517165b2b8db84b0766935e3d535a7a1ef2b6ad9
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Starting with 605913f9d7a60461939c1a8fb8dac05054cade2d we run
configure.cmake compile tests lazily during feature evaluation.
This means that qt_config_compile_test() calls will no longer set
TEST_foo_OUTPUT variables in the scope of configure.cmake files and
thus the build output of compile tests is no longer available for
configure summary error reports.
Instead of setting the output variable in the caller scope, save the
output in a global property.
Then, when we add error reports that mention compile tests either in
CONDITION or in a newly introduced COMPILE_TESTS_TO_SHOW_ON_ERROR
option, dump those outputs in the error report.
We continue to set the output in the parent scope, in case if
qt_run_config_compile_test is called manually.
Amends 3334a77ecfb792fba0144e99887f11cd0fa2506d
Amends 605913f9d7a60461939c1a8fb8dac05054cade2d
Pick-to: 6.8 6.9 6.10
Fixes: QTBUG-137198
Change-Id: Idc0470556a053123286983c44063e17b7eb9949d
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Capture the output of the check_cxx_source_compiles calls in
qt_internal_add_link_flags_no_undefined like we do for
qt_config_compile_test.
Amends 3334a77ecfb792fba0144e99887f11cd0fa2506d
Pick-to: 6.8 6.9 6.10
Task-number: QTBUG-137198
Change-Id: Ic7dd4eae0ac1af0f8293f2ce285d2987e4e26249
Reviewed-by: Joerg Bornemann <[email protected]>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.10 6.9 6.8 6.5
Fixes: QTBUG-86287
Fixes: QTBUG-137004
Change-Id: Ic4055078dedbbd8fcf1fba3983d6d64b7a06a20e
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Emit a warning if `FEATURE_*` variable is set. The "feature" is not
registered as a true feature after deprecation.
Pick-to: 6.10 6.9 6.8
Change-Id: I715af231c228c73d70b037ee31aa61edcd45c21e
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.10 6.9 6.8
Change-Id: Ia7d054436ffcca64d6fecd363795e7439694b3f4
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One can now run "ninja android_docs" to generate HTML docs for Android
Java sources of Qt. This is done with javadoc.
One can now run "ninja android_source_jars" to generate source jars for
Android. They're supposed to be loaded into an IDE.
The targets are enabled automatically for Android builds.
For non-Android builds, set QT_BUILD_HOST_JAVA_DOCS=ON to create those
targets. In that case you must also set ANDROID_SDK_ROOT.
Fixes: QTBUG-117028
Change-Id: I2df51153359a95870c055d3ee373b8381f10cb51
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
Reviewed-by: Nicholas Bennett <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
iOS prl files for static frameworks were previously placed at a path
like
6.8.3/ios/lib/QtCore.framework/Versions/A/Resources/QtCore.prl
This caused qmake to silently fail to find iOS framework prl files.
The failure could only be seen when calling qmake with -d -d:
DEBUG 2: QMakeMetaInfo: Cannot find info file for
6.8.3/ios/lib/QtCore.framework/Resources/QtCore.prl
This in turn can lead to various build failures if a different non-iOS
prl file is found in a system path.
Place the prl file into the root of each framework, e.g. at
6.8.3/ios/lib/QtCore.framework/QtCore.prl
We didn't have this issue in 6.7 and earlier, because by default iOS
was built with static libraries rather than static frameworks.
Amends 291817b0bf3f351843b0c1d0de237dc8df5c0fa5
Pick-to: 6.8 6.9 6.10
Fixes: QTBUG-137297
Change-Id: Idff8e808e9bfc009f82d2a59e5e6752ed8a55714
Reviewed-by: Joerg Bornemann <[email protected]>
|