summaryrefslogtreecommitdiffstats
path: root/config_help.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add support for using an inline namespaces for -qtnamespaceFriedemann Kleint2024-04-031-0/+1
| | | | | | | | | | | | | | | Inline namespaces serve the purpose for which the original -qtnamespace option was added and allow for macro simplification (no need for any using directives). This makes it possible to use namespaced builds of Qt also for Qt for Python and similar use cases which have issues with the additional namespace. [ChangeLog][QtCore] It is now possible to use an inline namespace for -qtnamespace (option -qtinlinenamespace). Task-number: PYSIDE-2590 Change-Id: Ia0cecf041321933a2e02d1fd8ae0e9cda699cd1e Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add hardening build optionsGiuseppe D'Angelo2024-03-191-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit enables hardened-specific checks and codegen, inspired by GCC 14's -fhardened command line switch and LLVM/libc++'s hardened modes. We enable (depending on compiler capabilities): * -ftrivial-auto-var-init=pattern; * -fstack-protector-strong; * -fstack-clash-protection; * -fcf-protection=full or /CETCOMPAT; * -D_FORTIFY_SOURCE=3 or 2 on Glibc, depending on the Glibc version, provided that some optimization level is enabled (release build or optimized debug build); * on libstdc++, -D_GLIBCXX_ASSERTIONS; * on libc++, -D_LIBCPP_HARDENING_MODE set to _LIBCPP_HARDENING_MODE_EXTENSIVE in debug and to _LIBCPP_HARDENING_MODE_FAST in release (_DEBUG is too slow); * -Wl,-z,relro,-z,now. This aligns us 100% with -fhardened (we already pass -fPIE and -pie anyhow). Some Linux distributions already ship GCC/Clang with some of these options enabled by default. The check for Intel CET has been amended to always test if the compiler supports the corresponding flag; and, if so, enable the feature. Before, it was behind a configure option and the test only checked if the compiler had CET support automatically active (the test didn't pass -fcf-protection to the compiler). The check for -fstack-protector-strong has been made general (rather than QNX-specific). We don't support QNX < 7 anyhow. Finally, the qt_config_linker_supports_flag_test test has been amended to also support MSVC. All of the hardening options are enabled by default. [ChangeLog][Build System] Qt builds by default in "hardened mode", meaning that a series of security-related compiler options are automatically enabled. In the unlikely case in which these options constitute an unacceptable performance hit, it is possible to disable individual hardening options when configuring Qt. Change-Id: I2c026b0438010ad10d5e7b1136fedf4ae3af8822 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: Document -init-submodules option of the super configure scriptAlexandru Croitor2024-03-051-0/+9
| | | | | | | | | | | And mention the init-repository --help section for additional options that can be passed to adjust the cloning process. This should only be merged after the qt5.git change is merged. Task-number: QTBUG-120030 Change-Id: I16c36f8d5d5d75521ca3f4a476dd921537f9db9c Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add configure mappings for QT_BUILD_<TESTS|EXAMPLES>_PROJECTAlexey Edelev2024-02-141-0/+6
| | | | | | Pick-to: 6.7 Change-Id: I1e9f877c4c9b6257f4f90e3361d5a0226e62e841 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update config_help.txt with -trace ctfAntti Määttä2023-12-091-2/+3
| | | | | | | Change-Id: I4cfb8e86dd9a305ff47df672ebf8637c64418fd0 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io> Reviewed-by: Antti Määttä <antti.maatta@qt.io>
* Add coverage and coverage-gcov featuresAlexey Edelev2023-09-221-0/+1
| | | | | | | | | | | | | | | Features enable code coverage collecting using the gcov tool. The resulting reports can then be post-processed by lcov or similar tools. [ChangeLog][CMake][Coverage] Added the coverage configuration argument. The only supported coverage tool at the moment is gcov. The argument requires Qt is built in Debug otherwise setting the argument leads to the configuration error. Typical usage: <...>/configure -developer-build -coverage gcov Task-number: QTBUG-86223 Change-Id: I39b2061f544997a7c4fe6f4d135c0ab447f15a17 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: remove test for eventfd, replace with __has_includeThiago Macieira2023-08-291-1/+0
| | | | | | | | This also removes the configure option and therefore makes the feature not disable-able. Saves 350 ms of CMake time. Change-Id: Ifbf974a4d10745b099b1fffd17775528767595d4 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Allow installation of example sources into the Qt prefixAlexandru Croitor2023-08-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5 times, if Qt was configured with -make examples, running make install would not only build and install the example binaries, but would also install the example sources into the prefix. Installation of example sources was not implemented when the Qt 6 build system has switched to using CMake. There is still a use case for it though, mainly for Qt Creator, which only shows the examples of a Qt kit if the sources are available. In contrast to Qt 5, in Qt 6 we will not install example sources by default. It will be opt in. To enable installation of examples sources, configure with configure -make examples -install-examples-sources or cmake -DQT_BUILD_EXAMPLES=ON -DQT_INSTALL_EXAMPLES_SOURCES=ON The -make examples part is required, otherwise -install-examples-sources has no effect. All example sources can be installed by calling cmake --install . --component examples_sources in the qt repo build directory. In a top-level build, per-repo installation can be done using cmake --install . --component examples_sources_<repo_name> where repo_name could be 'qtbase'. A single example's source can be installed by calling cmake --install . --component examples_sources_<subdir_name> where subdir_name is the subdirectory name of the example, e.g. 'gallery'. Implement installation of example sources by hooking into the qt_internal_add_example command. This means that all examples in all repos need to be added via qt_internal_add_example instead of add_subdirectory, to ensure the sources are installed. The majority of repos already use it. For testing purposes one can configure with -DQT_BUILD_EXAMPLES=ON -DQT_INSTALL_EXAMPLES_SOURCES=ON -DQT_INTERNAL_NO_CONFIGURE_EXAMPLES=ON to allow testing installation of examples sources without building them. Take into account an additional variable called QT_INTERNAL_EXAMPLES_SOURCES_INSTALL_PREFIX to allow installation of example sources into a location different from the example binaries. As a cleanup, the NAME option that could previously be passed to qt_internal_add_example_external_project has been removed. That's because it's never used anywhere and could not have worked anyway because qt_internal_add_example_in_tree never handled it. Pick-to: 6.6 Fixes: QTBUG-112135 Change-Id: I52aa5ec643ff7e212276c88d8dd2dfecdbdbeb0d Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Correct the default value of unity-build-batch-size in the help messageAmir Masoud Abdol2023-07-191-1/+1
| | | | | | | The default value is 32. Change-Id: I27882f2c4eab245954845915697587193904cd38 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Disable vcpkg detection/integration by defaultAmir Masoud Abdol2023-07-121-1/+1
| | | | | | | | | | | | | | We should not automatically enable vcpkg as soon as we find it on the system. With this change, we disable the automatic detection/integration. [ChangeLog][configure] Vcpkg detection/integration is now disabled by default, and it can be enabled by either passing `-vcpkg` to the configure script, or by passing `-DQT_USE_VCPKG=ON` to cmake. Change-Id: I4f098db670f11373064c071f1c3204e2e183d3db Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Introduce -no-vcpkg flag for disabling vcpkg detection/integrationAmir Masoud Abdol2023-06-271-0/+2
| | | | | | | | | | | | | | | | | Vcpkg detection is enabled by default, but we did not have a flag to disable it, and it was not showing up in config.summary either. By adding a -vcpkg flag, we get to use `-no-vcpkg` when necessary, as well as adding an entry to config summary indicating whether vcpkg is in use or not. Besides `-no-vcpkg`, one can pass `-DQT_USE_VCPKG=OFF` to cmake command in order to disable the automatic vcpkg detection/integration. [ChangeLog][configure] vcpkg detection, and integration can be disabled by passing the -no-vcpkg flag to the configure command, or by passing `-DQT_USE_VCPKG=OFF` to the cmake command. Pick-to: 6.6 Change-Id: Ide8da70a7b473ec23995104d162356e75e6d1240 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Remove the dysfunctional -testcocoon configure optionJoerg Bornemann2023-06-161-1/+0
| | | | | | | | | | | | | TestCocoon is not maintained anymore, and the -testcocoon configure option of Qt didn't do anything useful since Qt 6.0.0. Remove the option. It's possible to create an instrumented build by using dedicated CMake toolchain files as described in the documentation of Squish Coco (TestCocoon's replacement). Fixes: QTBUG-88316 Change-Id: I8a565cdd288aca9208f48138d2b663802cc0de90 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* CMake: Unify CMAKE_BUILD_TYPE behavior on all platformsAlexandru Croitor2023-06-081-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, we had the following behaviors. On platforms other than Windows-MSVC: - when no build type was specified, we defaulted to Release - when -developer-build was specified, we defaulted to Debug - regardless of platform, unless the option was explicitly specified, we never defaulted to -debug-and-release. On Windows-MSVC, we always defaulted to Debug. Which is inconsistent with the rules above. The difference happens because CMake always sets CMAKE_BUILD_TYPE to Debug during the first project() call when targeting the Windows-MSVC platform. We interpreted that as the user setting the build type, and thus we didn't want to override what the user specified. After this change, if we detect that it's cmake setting the build type, we assign a build type that follows the non-Windows-MSVC rules. This change unifies the behavior across all platforms. Adjusted the configure help with the new reality. Augments 33af62db3747bb6fcb7490ef2d2abc5bb53925b6 [ChangeLog][configure] When no explicit build type is specified, Windows will now default to building Release like the other platforms. Pick-to: 6.5 6.6 Change-Id: Id2bf269c51cf300ec09751ece2ad721869e0f90c Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove the -sysroot option from configureAmir Masoud Abdol2023-05-121-2/+0
| | | | | | | | | | | | The `-sysroot` does not have any effect, and it can be removed. I added a warning in case someone is still using it. [ChangeLog][configure] The -sysroot option was removed. Use CMAKE_SYSROOT or CMAKE_TOOLCHAIN_FILE instead. Task-number: QTBUG-112951 Change-Id: Ib180b891ca8228ef1ebf9be43f2f6b8b5b5b0ee7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* SQL plugins: add mimer to the help textYuhang Zhao2023-04-181-1/+1
| | | | | Change-Id: Icd080131924ad1e3fb42fc39327621faac0b1659 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* configure: remove -c++ entry from the -help outputThiago Macieira2023-03-121-2/+0
| | | | | | | | | | That's an internal option: only Qt developers are meant to ever use it, in order to test new compilers with non-default settings. Users should use only what the configure chooses by default. Pick-to: 6.5 Change-Id: Ib1d2fc7100134f7597cdfffd174a2d2567222c29 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add -unity-build, and -unity-build-batch-size to configureAmir Masoud Abdol2023-02-091-0/+4
| | | | | | | | | | | If -unity-build-batch-size is not given, we default to CMake's default which is 8. In QtSetup.cmake, we explicitly set the default to avoid having it set to OFF in case it is missing, just to make sure that we don't get any unintended behavior. Task-number: QTBUG-109394 Change-Id: I19849e9baa507b64fb23847c740e20a7adc61b8f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update -redo option such that it removes CMakeCache.txt and CMakeFiles/Amir Masoud Abdol2022-12-011-1/+3
| | | | | | | | | | | | | | | | | | In the case of re-doing, `configure` and `configure.bat` pass an extra parameter to the `QtProcessConfigureArgs.cmake`. As a result, CMake removes CMakeCache.txt and CMakeFiles/ before the reconfiguration. If the user is using CMake 3.24 or newer, this is achieved by passing the `--fresh` option to CMake call. In older CMake(s), CMakeCache.txt and CMakeFiles/ found in CMAKE_BINARY_DIR will be removed using a file(REMOVE_RECURSIVE call. [ChangeLog] The -redo option now additionally removes existing CMakeCache.txt file, and CMakeFiles/ directory, and recreates them from scratch. Task-number: QTBUG-108287 Change-Id: I11a5c8f9df1247d11eb7097552e6764463583346 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add -disable-deprecated-up-to parameter to configure scriptIvan Solovev2022-08-191-0/+10
| | | | | | | | | | | | | | | | | | And also teach CMake to treat it properly instead of hardcoding the version number. [ChangeLog][Build System] The configure script now accepts a new parameter -disable-deprecated-up-to which is used to remove all deprecated code from API and ABI while building the libraries. The version number must be specified in a hex format. For example, it can be used like this: /path/to/qt/configure -disable-deprecated-up-to 0x060500 to remove all code deprecated in Qt 6.5.0 or earlier releases. Task-number: QTBUG-101510 Change-Id: I557cf83e29b867fa1052bb097985e144b5eaf34d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: update the x86 intrinsic checksThiago Macieira2022-06-281-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | Merge all the existing checks into a single one, which is a simple pass or fail, since all our supported compilers support all the intrinsics up to Cannon Lake. The two I've recently added (AVX512VBMI2 and VAES) aren't yet supported everywhere, so they stay. For some reason, all intrinsics seem to be disabled on Android. It looks like some support was missing during the CMake port and this was never again looked at. I'm leaving it be. As for WASM, discussion with maintainers is that the WASM emulation of x86 intrinsics is too hit-and-miss. No one is testing the performance, particularly the person writing such code (me). They also have some non-obvious selection of what is supported natively and what is merely emulated. Using the actual WASM intrinsics is preferred, but someone else's job. Change-Id: Ib42b3adc93bf4d43bd55fffd16c10d66208e8384 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* C++23/c++2b supportAllan Sandfeld Jensen2022-06-081-1/+1
| | | | | Change-Id: I33b2a48312ae94e3d5ebb4097e50c4953e14d533 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Build system: Allow user to enable Intel CETYuhang Zhao2022-04-061-0/+1
| | | | | | | | | | | | | | | | | MSVC: https://docs.microsoft.com/en-us/cpp/build/reference/guard-enable-eh-continuation-metadata?view=msvc-170 https://docs.microsoft.com/en-us/cpp/build/reference/cetcompat?view=msvc-170 GCC: https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/Instrumentation-Options.html Clang: Don't know where's the documentation but should use the same parameter with GCC. Change-Id: I654618e45743a5ad1394c930932b9d0044572725 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: Add mold to helpTasuku Suzuki2022-03-311-2/+3
| | | | | | | | Pick-to: 6.2 6.3 Task-number: QTBUG-99270 Change-Id: I08ee2b328a1dba2bf0172e5a03ddb32925401d3b Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* configure: CMake: Add -no-prefix optionAlexandru Croitor2022-02-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new -no-prefix option that can be used to build Qt without having to install it. Currently, -no-prefix is already implied by -developer-build, but -developer-build also implies -warnings-are-errors and -feature-private-tests, which not everyone might want to use. Some Qt builders likely use -developer-build for the no-prefix behavior, hence we introduce a standalone -no-prefix option to offer a nicer user experience without -Werror and friends. Previously it was possible to achieve the same by specifying -prefix $PWD, but that relies on $PWD expanding property in the used shell. The new -no-prefix doesn't depend on the type of the shell and is shorter to type. Internally this gets passed by configure as -DINPUT_no_prefix=yes to CMake, and transformed into a -DQT_FEATURE_no_prefix=ON feature. The feature also gets automatically auto-detected to ON if developer-build is set, -prefix is either unset or $PWD. CMake code should still query QT_WILL_INSTALL to decide whether files need to be installed or not. As a drive-by, we now also export QT_FEATURE_developer_build to be available for querying during configuration of other repos (previously it was only possible to query FEATURE_developer_build). Pick-to: 6.2 6.3 Change-Id: Iaa6c8d8ae2b736282e9949d2a5d7f412e290a253 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* configure: Introduce -submodules optionAlexandru Croitor2022-02-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option is used to specify a list of Qt repos (git submodules) that should be included in the configuration of a top-level Qt build. The option takes a comma-separated list of qt submodule names e.g. 'qtbase,qtsvg,qtdeclarative' It can also take a single value like 'qtbase' or 'qtquick3d'. Each specified submodule and all of its transitive dependencies will be included when configuring the top-level Qt build (assuming that the submodules have previously been already checked out). Any missing submodules or dependencies will not be automatically checked out, but rather skipped. This can result in a failed configuration if a required submodule is missing. If some optional transitive submodule dependency is not desired in the build, you can combine the -submodules option together with -skip options. E.g. configuring with -submodules qtdoc,qtnetworkauth -skip qtmultimedia,qtimageformats will result in a top-level build with the following submodules: - qtbase (common dependency) - qttools (dependency of qtdoc) - qtactiveqt dependency of qttools) - qshadertools (dependency of qtdeclarative) - qtdeclarative (explicit) - qtnetworkauth (explicit) - qtdoc (explicit) Pick-to: 6.2 6.3 Fixes: QTBUG-100388 Change-Id: Ie8c47cfd1d1e0e44a27260bf9ddf968531cc1cc0 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* configure: Allow specifying a comma separated list to -skip optionAlexandru Croitor2022-02-031-1/+3
| | | | | | | | | | | | | | | | This makes skipping a list of submodules more concise. e.g. instead of passing -skip qtsvg -skip qtimageformats -skip qtmultimedia pass -skip qtsvg,qtimageformats,qtmultimedia Pick-to: 6.2 6.3 Change-Id: I6a48828b2fd7cec9f6e19988f7b4033333768abb Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Document that schannel is on by defaultKai Köhne2021-10-061-1/+1
| | | | | | | | Since d385158d5213ef568b , schannel is built by default on Windows. Pick-to: 6.2 Change-Id: I46cd437c9cbfae9ba74d1aebb5f1e8db3383ec2a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove dysfunctional -coverage configure argumentJoerg Bornemann2021-08-101-5/+0
| | | | | | | | | | | | | | The -coverage argument merely added compiler flags for the Qt build. It was never properly ported to the CMake build, and it doesn't seem feasible to have configure arguments for every possible compiler option. The same can be achieved by passing the needed compiler option to CMake, for example: CMAKE_CXX_FLAGS=-fsanitize-coverage=trace-pc-guard Pick-to: 6.2 Fixes: QTBUG-86227 Change-Id: Ieef9acaedc0a839f9fb35b4403395eea28643864 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* configure: Note that -linker works also with clangFabian Kosmale2021-07-121-1/+1
| | | | | Change-Id: If91eb1b5ad9a6b67e411b4d399fc3e1ede996e41 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove unsupported host-related configure optionsJoerg Bornemann2021-07-061-2/+0
| | | | | | | | | | | | | The following host-related configure options were unsupported since Qt 6.0 and are now completely removed: -hostprefix -external-hostbindir -host*dir (except -hostdatadir) -android-ndk-host Pick-to: 6.2 Change-Id: Ib69d90c40ef546f61bf87b1f443eb9d10f7a5a21 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Allow to load -developer-build without configurations into an IDEKai Köhne2021-05-071-0/+2
| | | | | | | | | | | | | | | Let -developer-build, -cmake-file-api set up the CMake File API query, so that the build can be loaded directly into IDE's like Qt Creator. [ChangeLog][Build System] configure -developer-build now sets up the CMake File API query, so that a build can be loaded without reconfiguration into Qt Creator and other IDE's. Pass -developer-build -no-cmake-file-api to configure to disable this. Fixes: QTBUG-89487 Change-Id: I69199b8f96da02e42e5610aa6f49881c1582f7da Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* CMake: Build minimal subset of tests in desktop static buildsAlexandru Croitor2021-04-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | Add new configure option -make minimal-static-tests and CMake option QT_BUILD_MINIMAL_STATIC_TESTS. In conjunction with QT_BUILD_TESTS it will enable building a minimal subset of tests when targeting a static desktop Qt build. In qtbase the minimal subset includes all the auto tests of testlib, tools, corelib and cmake. In particular this will also do cmake build tests and qmake build tests (tst_qmake) Adjust CI instructions to enable building a minimal subset of static tests when a platform configuration is tagged with the MinimalStaticTests feature. Fix and skip a few tests that were failing. Pick-to: 6.1 Task-number: QTBUG-87580 Task-number: QTBUG-91869 Change-Id: I1fc311b8d5e743ccf05047fb9a7fdb813a645206 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update name of c++2a to c++20Kai Köhne2021-02-101-1/+1
| | | | | | | | | | Keep the c++2a feature, but make it an alias for compatibility purposes. Pick-to: 6.1 Change-Id: I6f153109be84659806f1b7a57a88a187875166d8 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Add -qt-host-path to configure's help screenJoerg Bornemann2020-12-071-0/+1
| | | | | | Pick-to: 6.0 Change-Id: Ia32377e08d72f82e71ce6f2c08e61bd8991b3077 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: fix configure help for --android-abisAssam Boudjelthia2020-11-121-2/+1
| | | | | | | Qt 6.0 doesn't support multi-abi builds. Change-Id: Ic944460d8299d98b6003d12a3c7a33bf7e619db9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Implement configure -list-featuresJoerg Bornemann2020-11-101-0/+2
| | | | | | | | | Extend qt_configure_get_padded_string to make the feature list look like qmake's. Fixes: QTBUG-88144 Change-Id: I714f2b2f3537b506365a03b5b6bc3413e9cab167 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Remove -strip from configure's helpJoerg Bornemann2020-11-091-1/+0
| | | | | | | | | This option is not supported by the CMake build anymore as 'cmake --install <build-dir> --strip' takes over this task. Task-number: QTBUG-88290 Change-Id: I4d435e72f5f12fac6e86ec65cd0b26467c3fa4e0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Heave configure's help screen into the age of CMakeJoerg Bornemann2020-11-061-62/+8
| | | | | | | | | | | | Remove the portion about variable assignments. Technically, we handle them but not in a useful way. Remove options that are not applicable or not yet ported. Mention the double dash option. Change-Id: Ie2a27e3a145b2cead60adc75961d5deb086526ca Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Let configure guess the compiler from mkspec argumentJoerg Bornemann2020-11-021-0/+2
| | | | | | | | | | | | The arguments -platform, -xplatform and -device determine the mkspec that's used for the qmake companion files. If the user specifies a mkspec that indicates usage of clang or icc, set the respective CMake variables to use one of those compilers. Fixes: QTBUG-87836 Change-Id: I2b10d819b0eb92a97d7f79672547b1e2d821cf33 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake Build: Add support for -qtlibinfix configure parameterCristian Adam2020-09-231-1/+1
| | | | | | | | | Rename all libQt6*.so to libQt6*<infix>.so Task-number: QTBUG-85438 Change-Id: I4b91ffaaec7bea61454b0d3c794c77f2d0868d54 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: bump default javac build versions to 8Assam Boudjelthia2020-09-161-2/+2
| | | | | | | | | Use -source 8 and -target 8 for javac by default. Task-number: QTBUG-86282 Change-Id: I291beab4df166468972138822ca26f01c9666985 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Android: allow setting javac build version from the configure scriptAssam Boudjelthia2020-09-161-0/+2
| | | | | | | | | | | The configure options -android-javac-source and -android-javac-target can be used to set the version numbers. Fixes: QTBUG-86282 Pick-to: 5.15 Change-Id: I36b0665de2c31e16bf6d138859b5503455eb8e66 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Remove the -no-compile-examples configure switchJoerg Bornemann2020-09-111-2/+0
| | | | | | | | | | | | If '-make examples -no-compile-examples' was specified, sources of Qt's examples would be installed, but the examples would not be built. This switch has always been a source for confusion and is only interesting for distributors, who can just package the examples directory tree. Change-Id: I0291d70e4951d98b553a4abf217db49d05316d3a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Make -qtlibinfix affect the names of plugins by defaultJoerg Bornemann2020-07-131-1/+0
| | | | | | | | | | | | | | | | In Qt5, the -qtlibinfix option did not affect the naming of plugins, unless -qtlibinfix-plugins was set. This option was added in 56416509930 to offer a way to have -qtlibinfix affect the plugin names without changing the default behavior. We now remove the -qtlibinfix-plugins option, as the old behavior is not desirable. [ChangeLog][configure] The -qtlibinfix option now affects the names of plugins. The -qtlibinfix-plugins configure option was removed. Task-number: QTBUG-15192 Fixes: QTBUG-85439 Change-Id: I96f5c2577b76274929c431621967df0e9b4631b7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-work configure flags for CMake generatorsJoerg Bornemann2020-07-061-0/+5
| | | | | | | | | | | | | | | | | Remove the -cmake-makefiles configure argument as its meaning was in essence "do not pass a -G argument to CMake". Instead, we add the following arguments: -cmake-generator <name> to pass -G <name> to CMake -cmake-use-default-generator to pass no -G argument to CMake If none of those arguments is given, we try to autodetect the generator. If a ninja executable is found, we prefer the Ninja generator. On Unix we fall back to "Unix Makefiles". On Windows, we do a poor man's compiler detection and select one of "NMake Makefiles", "NMake Makefiles JOM" and "MinGW Makefiles". Change-Id: Ic36669bd50956d15fbc71cee73720732cd4bfab8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move QTextCodec support out of QtCoreKarsten Heimrich2020-06-201-1/+0
| | | | | | | | | | * Assume UTF-8 on all Unix like systems * Export some functions to be able to compile QTextCodec once moved to Qt5Compat. Task-number: QTBUG-75665 Change-Id: I52ec47a848bc0ba72e9c7689668b1bcc5d736c29 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove winrtOliver Wolff2020-06-061-2/+2
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove ANGLELaszlo Agocs2020-05-261-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This marks the end of EGL and OpenGL ES support on Windows. The concepts of -opengl dynamic, -opengl desktop, QT_OPENGL=software, etc. remain unchanged, with the exception of the disapperance of everything ANGLE related. CMake builds now work identically to qmake on Windows: they default to 'dynamic' OpenGL on Windows, unless -DINPUT_opengl=desktop is specified. On Windows, Qt 6 is expected to default to the "dynamic" OpenGL model by default, just like Qt 5.15. This can be changed by switching to "desktop" OpenGL, which will link to opengl32 (publicly, so other libs and applications will do so as well) and disallows using another OpenGL DLL. The "dynamic" mode is essential still because the fallback to a software rasterizer, such as the opengl32sw.dll we ship with the Qt packages, has to to work exactly like in Qt 5, the removal of ANGLE does not change this concept in any way (except of course that the middle option of using ANGLE is now gone) When it comes to the windows plugin's OpenGL blacklist feature, it works like before and accepts the ANGLE/D3D related keywords. They will then be ignored. Similarly, requesting QT_OPENGL=angle is ignored (but will show a warning). The D3D11 and DXGI configure time tests are removed: Qt 5.14 already depends on D3D 11.1 and DXGI 1.3 headers being available unconditionally on Win32 (in QRhi's D3D11 backend). No need to test for these. [ChangeLog][Windows] ANGLE is no longer included with Qt. Dynamic OpenGL builds work like before but ANGLE is no longer an option. OpenGL proper or an alternative opengl32 implementation are the two remaining options now. Attempting to set QT_OPENGL=angle or Qt::AA_UseOpenGLES will have no effect on Windows. Fixes: QTBUG-79103 Change-Id: Ia404e0d07f3fe191b27434d863c81180112ecb3b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-261-2/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/bearermonitor/CMakeLists.txt examples/network/CMakeLists.txt src/corelib/tools/qlinkedlist.h src/sql/kernel/qsqldriver_p.h src/sql/kernel/qsqlresult_p.h src/widgets/kernel/qwidget.cpp src/widgets/kernel/qwidget_p.h tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/tools/moc/allmocs_baseline_in.json Change-Id: I21a3c34570ae79ea9d30107fae71759d7eac17d9
| * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-02-181-2/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qlinkedlist.h src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmscreen.cpp Change-Id: Iefca7f9f4966bdc20e7052aca736874861055738