summaryrefslogtreecommitdiffstats
path: root/configure.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Add find package for lttng library so that it gets added to targetAntti Määttä2023-01-131-0/+2
| | | | | | | | | | | Add it globally so that each module using tracepoints don't have to add it themselves to each modules configure.cmake. Change-Id: Id58cfaff5cd715b2667da2470001d646117f9f28 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit bab65d70dcaf08e85113d5203056a4b8dd2c1fa7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* wasm: fix up new configure optionsMorten Sørvig2022-12-281-10/+17
| | | | | | | | | | | | | | | | | Make options for enabling "simd128" and "exceptions" public: -feature-wasm-simd128 -feature-wasm-exceptions Make sure both appear in the config summary and feature list. Move the exceptions code so that they are next to each other in the cmake file. Change-Id: I3975b56703f40f7ffff270754535bc2eb5bfe488 Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> (cherry picked from commit ce560d28c8b426d3cb797fa04e9e78d980fc8501) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Disable openslv(11|30) if -no-openssl is passed to configureMårten Nordheim2022-11-301-0/+2
| | | | | | | | | | Otherwise certain features may act as enabled even though they're not supposed to be Pick-to: 6.4 Fixes: QTBUG-108611 Change-Id: Id4b4bcb7a8f437e2d12b2a2f9b3ce2d4463b8be8 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* wasm: add support for enabling wasm excptionsMorten Sørvig2022-11-031-0/+6
| | | | | | | | | | | | | Add support for enabling -fwasm-exceptions at compile and link time, which enables use of C++ exceptions. Wasm-exceptions is an in-progress roadmap item (see https://webassembly.org/roadmap/), but is supported by the major browsers Change-Id: I6e2847206a46ed8038320c99725bc09a0344d1b4 Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Allow specifying different linkers for MinGWMårten Nordheim2022-10-251-2/+2
| | | | | | | | | | Locally I cannot build Qt with the default ld linker. Only enabled bfd and lld because mold and gold is not available for Windows. Pick-to: 6.4 6.2 Change-Id: Ib57562b07219acc47f53fe5b0944f54d9c2a6ba6 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* wasm: add wasm_simd configure featureMorten Sørvig2022-10-191-0/+12
| | | | | | | | | | | | | | | | | | Add Qt configure feature for enabling WebAssembly SIMD usage: ./configure ... -feature-wasm-simd128 Enabling this feature makes Qt add the -msimd128 flag to the compile options, which enables SIMD instruction usage for the compiler. (This should not be confused with the previously added SSE SIMD support, which uses Emscripten's support for translating SSE SIMD to WASM SIMD) Change-Id: I84a36ccef8abf9199c304d68ce371c6b1747b832 Reviewed-by: David Skoland <david.skoland@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QCryptographicHash: only use OpenSSL 3.0 when OpenSSL will be linkedJan Grulich2022-09-271-1/+1
| | | | | | | | | OpenSSL by default doesn't provide static libraries and we would fail to build it in such case. Fixes: QTBUG-106978 Change-Id: I456fe9bec2bbef5003de8f6cb7d9d8bb226821f9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* CMake: make long line shorter when configureYuhang Zhao2022-09-271-1/+1
| | | | | | | The full name should obviously indicates what the feature is, no need to specify LTO explicitly. And it also make the line a little longer than it should be. But we should keep LTCG (Link Time Code Generation) in case the user don't know LTCG also refers to this feature. Change-Id: I95a2e5335d0b76c40c67f0484d77a4d50f5fd85f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QCryptographicHash: implement OpenSSL 3.0 supportJan Grulich2022-09-261-0/+119
| | | | | | | | | | | | | | | Use OpenSSL 3.0 as a provider of all hashing algorithms, except the BLAKE2b and BLAKE2s. BLAKE2b and BLAKE2s algorithms support a variable length digest, but OpenSSL's implementation outputs only a digest of a fixed length (the maximum length supported). This is 512-bits for the BLAKE2b and 256-bits for the BLAKE2s and for that reason we still use the original implementation. [ChangeLog][QtCore][QCryptographicHash] Uses the OpenSSL 3.0 implementation now, where available. Change-Id: Ia4e4139b92ea9b40a18aa480aa5c06562178f916 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Shorten too long configure output lineKai Köhne2022-09-201-2/+2
| | | | | | | | | Keep the line short. While at it, also mention Intel, because that's where the technology is available at (and searching for Intel CET will lead you to the right places). Change-Id: Iefe0d735a814880d49fbe82cfd3a790af656377e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* wasm: add support for building Qt as shared librariesMorten Sørvig2022-08-301-1/+1
| | | | | | | | | | | | | | | This implements the build system bits required to build Qt as as separate wasm modules a.k.a Emscripten side modules. Enable by configuring with the "-shared" flag. This is the first step towards shared library support and gets us as far as being able to load QtCore and instantiate a QCoreApplication. Task-number: QTBUG-63925 Change-Id: Ib8f07f80fb5b13c8dbba65c7db735dc557b70d0e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Add license headers to cmake filesLucie Gérard2022-08-031-0/+3
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: disable auto-detection of no_direct_extern_accessThiago Macieira2022-07-201-0/+1
| | | | | | | | | | | The feature is not ready for prime-time. Too many linker bugs have been found, Clang hasn't finished implementing it, and the status of gold and lld are simply unknown. Task-number: QTBUG-105002 Pick-to: 6.4 Change-Id: I3859764fed084846bcb0fffd1702fead133a9a96 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: fix the word order in "no_direct_extern_access"Thiago Macieira2022-07-201-7/+7
| | | | | | | | | And take the opportunity to remove the "m" in the qmake feature name and .prf file. Pick-to: 6.4 Change-Id: I36b24183fbd041179f2ffffd170224ab75cdd968 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Update description of LTCGYuhang Zhao2022-07-201-2/+2
| | | | | | | | | | | Use the full name of LTCG to make it clearer to the user. As a drive-by, also remove the "Intel" word from the CET feature's title, according to MSVC & GCC's manual, they don't contain "Intel" in the feature title either. Change-Id: I099ba6c5e7470b5699c1ab6b3c4ef2a4bf084580 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* rcc: teach qmake not to use zstd when not availableSamuli Piippo2022-07-061-1/+1
| | | | | | | | | | | | | | The zstd feature might have different values between the host and target, in which case qmake must tell rcc not to use zstd when the feature is disabled. Amends 14546d1816a877690cda71f02c275303ef42afa8 Fixes: QTBUG-103794 Pick-to: 6.4 6.3 6.2 Change-Id: Ia0378742a50e2a85f59985dea2506d3dda5f28e8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Update description of the Intel CET featureYuhang Zhao2022-07-061-1/+1
| | | | | | | | | | | | | | | Use a more detailed description instead. Also adds the missing part of the GCC parameter. Amends commit qtbase/42287255d38bf493b5731396b99bc9cd7b1baba4 References: https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Instrumentation-Options.html#Instrumentation-Options Change-Id: I94a22ac7dfa80644e92fe01021f7868dfa02dd69 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: enable sql/sqlite for non threaded buildsLorn Potter2022-07-051-1/+0
| | | | | | | | | [ChangeLog][QtSql][Wasm] Enable sqlite for non threaded builds Pick-to: 6.4 Fixes: QTBUG-70505 Change-Id: I7cb6f52c81a6e8a60249f7bcaa8ee29f109f7b84 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* CMake: update the x86 intrinsic checksThiago Macieira2022-06-281-129/+62
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* CMake: Fix typosKai Köhne2022-06-131-1/+1
| | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: I4907e423b6b345acf82f2d7e0ed62479719d694e Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* C++23/c++2b supportAllan Sandfeld Jensen2022-06-081-1/+25
| | | | | Change-Id: I33b2a48312ae94e3d5ebb4097e50c4953e14d533 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Test the linker too for -mno-direct-extern-accessThiago Macieira2022-05-251-2/+2
| | | | | | | | | | | | | | | | | The GNU binutils ld linker needed a patch after the tagging of 2.38 to make the new feature work. Before this patch, the linker will fail to link when protected visibility symbols are used in the library, so don't enable the feature unless the linker is recent enough. GNU binutils gold from that version passes this test. LLVM lld is unknown (I didn't test), but LLVM was consulted in developing the feature. Fixes: QTBUG-103493 Change-Id: Ibcde9b9795ad42ac9978fffd16f1c80ca20953ff Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* zlib as static libraryKai Köhne2022-04-221-3/+2
| | | | | | | | | | Do build zlib as static 3rdparty library. This makes it easier to disable warnings. Pick-to: 6.3 Change-Id: I1db331b671b64e68d81c56b0df337983c3bbe7fa Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix no_prefix feature to take into account the staging prefixAlexandru Croitor2022-04-191-5/+2
| | | | | | | | | | | | | | | | | | | | | Instead of complicating the condition even more, just use the value of QT_WILL_INSTALL which is determined in QtSetup before configure.cmake is loaded. The AUTODETECT part is needed to ensure that -developer-build implies -no-prefix. The CONDITION part is needed so that -extprefix /tmp/sysroot -no-prefix correctly errors out saying that this can't be a non-prefix build, unless -extprefix ${qtbase_build_dir} -no-prefix is passed. Pick-to: 6.2 6.3 Change-Id: Ie4f5a91281bf2fbe1bd0744de05d57f43fe992e7 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Add rudimentary c++2b featureJoerg Bornemann2022-04-141-0/+5
| | | | | | | | | | | | | This fixes the "Could not find feature c++2b." error when building a Qt module with qmake. The feature is OFF by default for now. This amends commit b5ed3cb7baeb6d77c375134719ee04ffcc211b9f. Pick-to: 6.2 6.3 Change-Id: Ibabe3ce29275699e66ab1f32d19d583d6bcede9e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Build system: Allow user to enable Intel CETYuhang Zhao2022-04-061-1/+2
| | | | | | | | | | | | | | | | | 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>
* Enable -mno-direct-extern-access and ELF protected visibilityThiago Macieira2022-03-101-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The -mno-direct-extern-access tells the compiler and linker that references to symbols outside this ELF module mustn't be direct and must instead always go through the GOT or PLT (the PLT can additionally be disabled with -fno-plt). The ELF protected visibility tells the compiler and linker that this symbol is present in the dynamic symbol table as an export, but it cannot be interposed by another ELF module. This option is required for user code to link properly to Qt, otherwise they will get linker errors (assuming GNU binutils >= 2.39) or runtime failures (glibc >= 2.35). Both versions of glibc and binutils are older than GCC 12, so it's a safe assumption they are in use and downgrading the toolchain or libc is not supported. Adding this option to the compilation is assured for CMake and qmake-based projects. For example, all accessess to QCoreApplication::self in QtCore, after this change and with GCC 12 are relocation-free and direct: 000000000013ebf0 <QCoreApplicationPrivate::checkInstance(char const*)>: 13ebf0: cmpq $0x0,0x4f73d0(%rip) # 635fc8 <QCoreApplication::self> 13ebf8: setne %al 13ebfb: je a90fe <QCoreApplicationPrivate::checkInstance(char const*) [clone .cold]> 13ec01: ret Meanwhile, accesses to the same variable in other modules are indirect via the GOT: 66650: mov 0x876e1(%rip),%rax # edd38 <QCoreApplication::self@Qt_6> 66657: cmpq $0x0,(%rax) This replaces the -Bsymbolic and -Bsymbolic-functions (broken) functionality that Qt has been using or attempting to use since ~2006. See https://gitlab.com/x86-psABIs/x86-64-ABI/-/issues/8#note_606975128 Change-Id: Iad4b0a3e5c06570b9f5f571b26ed564aa0811e47 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: add detection of x86 VAES and AVX512VBMI2 featuresThiago Macieira2022-03-081-2/+20
| | | | | | | | We have VAES code in qhash.cpp that isn't getting compiled right now. Change-Id: Ibf4acec0f166495998f7fffd16d6961261dec361 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* CMake: Rename FindZSTD to FindWrapZSTDAlexandru Croitor2022-02-281-2/+2
| | | | | | | | | | | | And the target ZSTD::ZSTD to WrapZSTD::WrapZSTD. This should allow building Qt with the -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON set. Pick-to: 6.2 6.3 Fixes: QTBUG-100537 Change-Id: I748601e4ad6f518323bf1034d6fc1de582c815e1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* configure: CMake: Add -no-prefix optionAlexandru Croitor2022-02-241-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* qsimd: Remove QT_COMPILER_SUPPORTS_SIMD_ALWAYSThiago Macieira2022-02-181-10/+0
| | | | | | | | | | | | All[*] compilers support it, always. The last to not support it was GCC 4.8, which we don't support in Qt 6. [*] Anecdotally, clang-cl doesn't but clang-cl isn't supported and that would be an upstream problem: clang-cl developers must find a solution that either matches Clang or cl.exe. Change-Id: I54f205f6b7314351b078fffd16d0a5ed5b7afae5 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* GHS compiler doesn't support signaling NaNs for doubleTatiana Borisova2022-02-091-1/+5
| | | | | | | | | | - has_signaling_NaN returns TRUE by mistake, will be fixed in future compiler releases. Task-number: QTBUG-99123 Pick-to: 6.2 6.3 Change-Id: I3f2af7b5328b49d7ceffa548461d1d6bf72ba7ed Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: Tie -appstore-compliant to QT_APPLE_NO_PRIVATE_APISTor Arne Vestbø2022-02-021-0/+3
| | | | | | Pick-to: 6.3 6.2 Change-Id: Ieb0f7398498483d5b48a16623dfc28bb6fb55f0b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Add support building Qt with the 'mold' linkerAlexandru Croitor2022-01-201-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | The mold linker is a new linker for Linux that provides faster link times compared to BFD ld, ld.gold and lld. It can be found at https://github.com/rui314/mold To build Qt with mold, ensure that the binary in your PATH and then configure Qt with with either cmake /path/to/qtbase -DINPUT_linker=mold or /path/to/qtbase/configure --linker mold The change was tested with gcc 9, clang 10, clang 12, mold 1.0.0. Only qtbase and qtdeclarative (and dependencies) were tested. Pick-to: 6.2 6.3 Task-number: QTBUG-99270 Change-Id: I2e64a1f4257c37ff5b64a9326e548b9b46e07c80 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Fix detection of linker availabilityAlexandru Croitor2022-01-181-3/+3
| | | | | | | | | | | | | | | | | | | | Previously we passed flags like -ld-fuse=lld only to compile calls, but not to the link call of a compile test project. Make sure to pass it to the link call instead by using check_cxx_source_compiles + CMAKE_REQUIRED_LINK_OPTIONS instead of check_cxx_compiler_flag. Note the flag that is passed is still via passed via the compiler launcher and not directly to the linker. Remove duplicate flag handling code. Pick-to: 6.2 6.3 Change-Id: I1bf90573904a9df83240b6debfee3cc9e425c6bb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Support configure -platform linux-clang-libc++Allan Sandfeld Jensen2021-12-141-0/+5
| | | | | | | | Detect libc++ config and add appropriate compiler and linker flags. Pick-to: 6.3 Change-Id: I9ec91b3ace987599d4e79e43b1b75aa67cd5caeb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* wasm: add simd supportLorn Potter2021-10-051-2/+4
| | | | | | | | | | | | | | | | | | Emscripten only supports SSE1, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, and 128-bit AVX instruction sets at this time. https://emscripten.org/docs/porting/simd.html Browsers might need to enable simd support in the advanced configurations about: config or chrome:flags Enable by configuring Qt with -sse2 Pick-to: 6.2 Fixes: QTBUG-63924 Change-Id: Ifeafae20e199dee0d19689802ad20fd0bd424ca7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Add Qt PrintSupport to the configure summaryJoerg Bornemann2021-09-031-0/+1
| | | | | | | | | | Whether Qt is built with PrintSupport is now listed under "Qt modules and options" in the configure summary. Pick-to: 6.2 Task-number: QTBUG-88535 Change-Id: Id367c9594482b0764da679c3cbdee2f5108201ef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix Android -ltcg buildJoerg Bornemann2021-08-201-0/+6
| | | | | | | | | | | | | | We're passing -Oz for release builds, but that's not a flag the linker understands when -ltcg is enabled. The build fails with: ld.gold: fatal error: Optimization level must be between 0 and 3 Fix this by using -O2, which -Oz is based on, and -O3 for the "full optimization" that is used for core and gui. Pick-to: 6.2 Fixes: QTBUG-89472 Change-Id: Ie1a86888baefce5ca97026e7d635f10d2819f9f4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove dysfunctional -coverage configure argumentJoerg Bornemann2021-08-101-26/+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>
* Don't repeat conditions of use_*_linker features in QtFeature.cmakeJoerg Bornemann2021-07-131-46/+59
| | | | | | | | | | | | | | qt_config_linker_supports() repeated the conditions of all use_*_linker features, because the features are not evaluated yet when this function is called, and the function needs to know what linker is used to build Qt. Move the required tests and features before any qt_config_linker_supports() call and evaluate the use_*_linker features early. Change-Id: I306f032356682a0e82e4d7c4234e5bbc820ab143 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* The build for INTEGRITY is static only so libdl.a is not neededTatiana Borisova2021-07-061-2/+2
| | | | | | Pick-to: 6.2 Change-Id: I8e81d00a0be2521e42db98d3b687b8e1471753e9 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* Fix the precompile_header configure testJoerg Bornemann2021-06-191-13/+2
| | | | | | | | This configure test always failed, and its result was never used. Pick-to: 6.2 Change-Id: I5112464b247efb5327ef5c23c96ef27168c11afc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Expose the "debug" build feature privatelyJoerg Bornemann2021-06-161-2/+1
| | | | | | | | | | Consumers can now check the "debug" feature to determine whether Qt was built in the "Debug" configuration. Pick-to: 6.2 6.1 Change-Id: I225125d38ded508e9792a730ce421b33bceacddf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* wasm: fix up compiler messageLorn Potter2021-06-081-1/+1
| | | | | | | It's Emscripten compiler, not wasm compiler. Change-Id: I39e754be9486500d9bba71006642fbdb1261c84c Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Add runtime ARM64 AES checkAllan Sandfeld Jensen2021-05-201-8/+22
| | | | | | | | | | | | Adds runtime CPU detection for Windows and macOS, and switches feature detection of AES to runtime like for x86, So far only on ARM64, since gcc doesn't do function versioning on ARM32, but clang can, so it could be added later. Change-Id: Ibe5d60f48cdae3e366a8ecd6263534ba2b09b131 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix wrong note "Using pthreads" and only show it for WASMLi Xinwei2021-04-291-2/+2
| | | | | | | | | | | | | | MSVC does not have pthreads. "QT_FEATURE_thread" should mean "Enable thread support". And I think this note is only meaningful for WASM. For other platforms, thread support should be enabled by default. amends 4972fdb350fe79e18b0413e74028cd9b9803f96b Change-Id: I5a4fc05219c9b2ff9c6e54fd444b4b94230727bb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate configure.cmake filesAlexandru Croitor2021-04-271-1/+1
| | | | | | | | | And adjust configure.json files that were stale Amends d385158d5213ef568b7629e2aa4a818016bbffac Change-Id: I851838a12c3773a6e8119ebc7f1de941ae7fe224 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add Solaris support in cmake buildNiclas Rosenvik2021-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add SOLARIS cmake platform definition. Add settings for QT_DEFAULT_MKSPEC so that qplatformdefs.h can be found. Solaris has its gssapi symbols in libgss. Solaris supports @ORIGIN. Solaris ld does not support --dynamic-list needed for reduce relocations. Make solaris fail the reduce relocation test. getauxval is specific to GNU libc and some other libc implementations on Linux but sys/auxv.h is not. The bootstrap uses sys/aux.h as the only indication for getauxval. This breaks builds on Solaris, so only make sys/auxv.h an indicator for getauxval on linux or glibc based systems. Solaris uses X11 so add it to the X11_SUPPORTED list. Solaris network libraries for sockets etc are in socket and nsl. ifreq does not have a member ifr_ifindex on Solaris, it uses ifr_index. Add test to check if ifr_index is a member of ifreq. The first struct in the in_addr union on solaris is defined as four uint8_t, therefore four arguments are needed for its initializer list. Change-Id: Ieed4c1bbac8559a7ae1db9c4e1e91f609f150270 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>