summaryrefslogtreecommitdiffstats
path: root/libexec
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Allow building all examples as standalone just like testsAlexandru Croitor2024-03-142-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new libexec/qt-internal-configure-examples script that allows to configure and build "standalone examples" just like "standalone tests". This is a prerequisite for using deployment api in examples for prefix builds, otherwise deployment api gets confused not finding various information that it expects from an installed qt. Because the various conditions in the build system for standalone examples are similar to standalone tests, introduce a new QT_BUILD_STANDALONE_PARTS variable and use that in the conditions. The variable should not be set by the user, and is instead set by the build system whenever QT_BUILD_STANDALONE_TESTS/EXAMPLES is set. Unfortunately due to no common file being available before the first project() call, in qtbase builds, per-repo builds and top-level builds, we need to duplicate the code for setting QT_BUILD_STANDALONE_PARTS for all three cases. Task-number: QTBUG-90820 Task-number: QTBUG-96232 Change-Id: Ia40d03a0e8f5142abe5c7cd4ff3000df4a5f7a8a Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Add a config.redo script similar to qt5's config.statusAlexandru Croitor2023-09-202-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | The config.redo script can be executed to reconfigure a pre-existing qt build dir with the configure options that were last passed to the build. It just calls the original configure script with the -redo option. It's nicer than calling configure + -redo manually because you don't need to write out the full source path for configure. In qt 5 times this script was called config.status. On windows the script is called config.redo.bat. Rename the config.redo file that QtWriteArgsFile.cmake writes to to config.redo.last, so it doesn't conflict with the name of new config.redo script. Amends 5c40cb0f1a8fad03edb3ef0f97df15e9dd643bdf Pick-to: 6.5 6.6 Change-Id: Id47c56a24561410aec6fbaa79b13fc8a78d12ed0 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Remove syncqt.plJoerg Bornemann2023-06-301-1266/+0
| | | | | | | | | This script has been superseded by a C++ implementation. Change-Id: I2a9b55dbf7fabbb422040f601d9ba1035d88bba4 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
* Pass native path in qt-internal-configure-testsAmir Masoud Abdol2023-04-171-5/+18
| | | | | | | | | | | | | In the previous patch, I did not account for how we usually use the qt-internal-configure-test.bat in our CI. This should be a more robust script, where we search for the source path, -S <PATH>, make it native, and put it back. Amend 389b3a131a03b819f2dd01c53222d185170e1924 Pick-to: 6.5 Change-Id: Ic59de2eb1e6720de150a9e15a4b38fae4d871815 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add drive letter to source paths when calling qt-internal- scriptsAmir Masoud Abdol2023-04-141-1/+8
| | | | | | | | | | | | | Like qt-configure-module.bat, when building with unity build, CMake needs to know the full path of the source directory to be able to correctly generate its `*_cxx.cxx` files. So far, this seems to only affect Windows' LLVM/MinGW builds. By this patch, I make sure that we pass the full path to CMake. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: Ida2da127ecba95856b6e0091936c471c2a116936 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-39/+3
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Pass -v to ninja when using ctest --build-and-testAlexandru Croitor2022-04-042-0/+5
| | | | | | | | | | | | | | | | | So we can see the command line invocations of the built cmake auto tests. To achieve that, we create a ninja shell script wrapper, because ctest --build-and-test does not currently allow specifying custom build tool options. Details at https://gitlab.kitware.com/cmake/cmake/-/issues/22443 Pick-to: 6.2 6.3 Change-Id: I7fb3b7f7f802943a7013c859b2cf39842a34e2e4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Generate and use a wrapper script for stripping binariesAlexandru Croitor2022-03-242-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MinGW 11.2.0 comes with a strip.exe that strips the ".gnu_debuglink" section in binaries, a section that is needed for the separate debug information feature. binutils version 2.34 mentions the feature for the first time: https://sourceware.org/binutils/docs-2.34/binutils/strip.html#strip To ensure the debuglink section is preserved, generate a shell wrapper that calls the original strip binary with an extra option to keep the required section. To determine if the option is supported, we build a real shared library on which strip will be called with the --keep-section option. If the option is not supported, a wrapper is not generated and the stock strip binary is used. This logic only applies when targeting Linux and MinGW + a shared library Qt. For other targets, the stock strip binary is used. Developers can opt out of this logic by passing -DQT_NO_STRIP_WRAPPER=TRUE when configuring each Qt repo. Pick-to: 6.2 6.3 Fixes: QTBUG-101653 Change-Id: Idd213d48d087d3c9600c853362aebaba348cde33 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* syncqt: Do not print info about generating deprecated headers by defaultKai Köhne2022-03-161-3/+3
| | | | | | | | | Do not print information about deprecated headers when running in "quiet" mode (-quiet argument, the default when configuring Qt modules). Pick-to: 6.3 Change-Id: I4ea7f9251725527addef6c382b41f639048b8a9f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Install 3rdparty headers for static buildsMichal Klocek2022-02-191-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | For static builds we need 3rdparty headers to be installed. Leaf modules like qtwebengine needs 3rdparty libs and header for zlib, freetype, harfbuzz, png, jpeg. Without those the Chromium bundled versions are used, however it might end up badly if qt has already bundled one. Introduce new header only modules with additional arguments for qt_internal_add_module: * EXTERNAL_HEADERS to pick exactly which headers are public * EXTERNAL_HEADERS_DIR to include whole directory preserving the files directory structure Fix qtsync so it keep directory structure for all non-qt modules when syncing headers and do not generate warnings for headers files. Task-number: QTBUG-87154 Task-number: QTBUG-88614 Change-Id: If1c27bf8608791cd4e0a21839d6316a445a96e9f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix various configure time warnings about missing QT_BEGIN_NAMESPACEKai Köhne2021-11-011-1/+1
| | | | | | | | | | | | | | | | | We now have a couple of global.h headers that do only start with 'q'. We can't change this anymore, so let's just accommodate for that. This fixes the following warnings qtserialport/src/serialport/qserialportglobal.h does not include QT_BEGIN_NAMESPACE qtwebsockets/src/websockets/qwebsockets_global.h does not include QT_BEGIN_NAMESPACE qtwebchannel/src/webchannel/qwebchannelglobal.h does not include QT_BEGIN_NAMESPACE Pick-to: 6.2 Fixes: QTBUG-97831 Change-Id: I12aae13eb0d782d366cb84999392a544c30cdd79 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Teach syncqt to filter out QT_DEPRECATED_* macrosJoerg Bornemann2021-09-071-1/+28
| | | | | | | | | | | | | | | | | | | | | | We already had code that filtered out QT_DEPRECATED_X("text"). But that isn't enough, because, by now, we have a true cornucopia of QT_DEPRECATED_* macros. And only some are called with an argument list. Move the filtering code into the subroutine filterDeprecationMacros, because our filtering is slightly more complex now: - Try to match a QT_DEPRECATED_* macro call. - Try to match balanced parentheses with a recursive regular expression. - Check whether the found balanced parentheses are directly behind QT_DEPRECATED_*, because only then it is the argument list of that macro. - Filter out what we've found. With this patch, syncqt doesn't discard deprecated classes anymore. Task-number: QTBUG-80347 Change-Id: I7872159639be330d5a039c98eac0c5007d9acb93 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix global header exclusion regexAlexey Edelev2021-07-091-1/+1
| | | | | | | | | | | Make the dot explicit in global header exclusion regex. Ensure that '.h' states in the end of file name and support paths. Amends 50b55b89f30d559bc262c0e81ef8a6beea39d183 Change-Id: I25b3d2fb54ed606a0b0806a10dbcb4ce1c65d2d8 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Exclude 'global' headers from QT_BEGIN_NAMESPACE check in syncqt.plAlexey Edelev2021-07-061-1/+2
| | | | | | | | | | | | | Add 'global' headers to the ignore list of the QT_BEGIN_NAMESPACE check. The QT_BEGIN/END_NAMESPACE use in some of global header files makes no sense. This will suppress warnings caused by migration to the generated cpp exports. Amends b10e4e846e7b1a7b4c9c7cb7b4ef1081e22f2354 Task-number: QTBUG-90492 Change-Id: Ic7e3f284263740021f86cade4dc19d810cb8fe02 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix invalid path to the qt-cmake.bat when calling ↵Alexey Edelev2021-06-231-1/+6
| | | | | | | | | | | | | | | | | | | | | qt-internal-configure-tests.bat Since qt-internal-configure-tests.bat is located in the same folder as qt-cmake.bat the relative_path_from_libexec_dir_to_bin_dir is empty. Passing doubled backslash in the windows path causes an issue for the cmd.exe batch interpreter. Extra backslashes are treated by %~dp0 as a start of the relative path. The following error appears: Could not find toolchain file: ...\install\bin\..\/../lib/cmake/Qt6/qt.toolchain.cmake This appends an extra backslash to relative_bin_dir only if relative_path_from_libexec_dir_to_bin_dir is not empty. Change-Id: Id2fd6c5fa9d73060350f298262c6e93a4887eeb3 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Make qt-internal-configure-tests relocatableAlexandru Croitor2021-04-262-2/+13
| | | | | | | | | It's important for conan CI builds where the correct installation location of Qt should be used when configuring standalone tests. Task-number: QTBUG-93037 Change-Id: I2465a439aea6826dedfb3217d1c909ad639d4ac0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Move bin/qt-internal-configure-tests to libexecJoerg Bornemann2021-03-301-0/+3
| | | | | | | | Pick-to: 6.1 Task-number: QTBUG-88791 Change-Id: I78613128760b5820e6db17b0c09462e34f7c7bb2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move syncqt.pl to libexecJoerg Bornemann2021-03-041-0/+1266
To not disturb the qmake build we kept syncqt.pl in <src>/bin but installed it to libexec. This is not necessary anymore. This also removes the need for having syncqt.pl in both, bin and libexec in the build dir of qtbase. Pick-to: 6.1 Fixes: QTBUG-91076 Change-Id: I44b014ea41e3f00c420e02fd5c76f11169340b8c Reviewed-by: Kai Koehne <kai.koehne@qt.io>