summaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Clean up the public API a bitAlexandru Croitor2020-10-011-1/+1
| | | | | | | | | | Add some missing versionless functions. Rename some functions that are not meant to be public API, and their usages. Task-number: QTBUG-86827 Change-Id: Ifb66c04cd7598d83fe80c01a92ab2d269ebaf396 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix -[no-]warnings-are-errors configure argumentJoerg Bornemann2020-10-012-2/+2
| | | | | | | | The CMake build uses the WARNINGS_ARE_ERRORS variable, and the feature warnings_are_errors exists only in the qmake build. Change-Id: I1e548b30b210b3dd1b2f23041d490a981312f4ba Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: use HostInfo when QT_HOST_PATH is setSamuli Piippo2020-09-301-0/+3
| | | | | | | | | HostInfo is used in places whenever QT_HOST_PATH is set, regardless whether CMAKE_CROSSCOMPILING is set or not. Make sure that HostInfo is available when QT_HOST_PATH is set. Change-Id: I39763a61d77e97dc9c4cc3875bce4deb942f870a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: fix sdkBuildToolsRevision not being set for user appsAssam Boudjelthia2020-09-291-25/+3
| | | | | | | | | | | Add qt6_android_get_sdk_build_tools_revision() function to get the Android SDK build tools revision, the logic is moved from QtPlatformAndroid to Qt6AndroidMacros. The update QtPlatformAndroid header comments. Task-number: QTBUG-85982 Change-Id: If3e5b46fa583f929a24794792c9d5a52beb83990 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: make QT_ANDROID_DEPLOYMENT_SETTINGS_FILE consistent with qmakeAssam Boudjelthia2020-09-281-2/+2
| | | | | | | | | Make name format of QT_ANDROID_DEPLOYMENT_SETTINGS_FILE consistent with qmake, that is android-${target}-deployment-settings.json. Task-number: QTCREATORBUG-24678 Change-Id: I2bdb056cf7a82fd83aaf658f3a405a0c9ef05756 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Generate *AdditionalTargetInfo.cmake for toolsJoerg Bornemann2020-09-283-1/+9
| | | | | | | | | | This ensures that we have the configuration-independent IMPORTED_* properties set on tools. Fixes: QTBUG-86893 Change-Id: I2b772c21341e6e4631379d4a5a99580ec96909ed Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Write proper *AdditionalTargetInfo file in debug-only buildJoerg Bornemann2020-09-281-25/+29
| | | | | | | | | | To provide the IMPORTED_LOCATION target property we must write the *AdditionalTargetInfo.cmake file for all debug-only builds, not only the ones containing a release configuration. Task-number: QTBUG-86893 Change-Id: I9ecd01483660f434a3f1ea12fa2af756cdcf9932 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: FindGLIB2 to include gthread2 sub-libraryJulien Schueller2020-09-281-2/+10
| | | | | | | | Avoids undefined references to g_thread_init. Fixes: QTBUG-86727 Change-Id: Ic41b0dab9e4e23083faf4e9abcf7acc517172e49 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* By default don't try to use pkg-config when targeting AndroidAlexandru Croitor2020-09-281-1/+1
| | | | | | | | | | It causes issues in our Windows CI, because the strawberry perl pkg-config is found. And even that one is unusable, due to a bug in CMake which is tracked at https://gitlab.kitware.com/cmake/cmake/-/issues/21239 Change-Id: I58816195d35459e8a44c923399c35a4956c222a2 Reviewed-by: Simon Hausmann <hausmann@gmail.com>
* CMake: Allow finding Qt CMake packages in additional locationsAlexandru Croitor2020-09-283-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, when using the Qt6 CMake package to look for components, the find_package() calls for the components use NO_DEFAULT_PATH to ensure that CMake doesn't accidentally find system (distro) packages. Instead we limit the paths to one level up from where the Qt6 package is. Unfortunately that doesn't quite work for finding Qt packages that might have been installed into a different prefix than where the main Qt prefix is. This happens when Qt addons are built by Conan, and installed into a separate prefix. To allow calls like find_package(Qt6 COMPONENTS ConanAddon) to work in a scenario as described above, introduce a new variable called QT_ADDITIONAL_PACKAGES_PREFIX_PATH which can be used to specify additional paths where Qt CMake packages should be found. This is similar to previously introduced QT_EXAMPLES_CMAKE_PREFIX_PATH variable which was meant for a similar case, but only for examples. Additionally, allow disabling the NO_DEFAULT_PATH option by setting the QT_DISABLE_NO_DEFAULT_PATH_IN_QT_PACKAGES cache variable to TRUE. This would allow regular usage of CMAKE_PREFIX_PATH to work, at the risk that system Qt CMake packages might be found. Augments 5cd4001bf2a7f0894c6ac269860e833b02df6cde and ffe088941378e32ea30c142cca7e63c537a41ff1. Fixes: QTBUG-86882 Change-Id: Ia8e060cbba6d2a10c3d63d81892f2c71e4236a9a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: use ANDROID_SDK_ROOT instead of ANDROID_SDK consistentlyAssam Boudjelthia2020-09-261-1/+1
| | | | | | | | Make the use of ANDROID_SDK_ROOT consistent. Task-number: QTCREATORBUG-24678 Change-Id: If967bdc4d252996098fa210cf38429fe075eacb1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Add $import_prefix/include as an include path for each Qt moduleAlexandru Croitor2020-09-261-0/+8
| | | | | | | | | | | | | | | To support finding Qt headers of modules installed into a different prefix than the main one, add the $import_prefix/include path as a public include path for each built Qt module. With this, includes like #include <QtNetworkAuth/QOAuth2AuthorizationCodeFlow> will work. The macOS framework case is handled automagically by CMake, which ends up passing '-iframework $import_prefix/lib'. Change-Id: I02ce9cacf157aab9721c1d6073a377607c5b89c7 Fixes: QTBUG-86881 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix build of Release user projects against RelWithDebInfo QtJoerg Bornemann2020-09-257-0/+115
| | | | | | | | | | | | | | | | | | | | | Building a user project in Release configuration against a Qt built with CMAKE_CONFIGURATION_TYPES=RelWithDebInfo;Debug led to the user project being linked against the Debug Qt libraries. This is especially painful with MSVC where debug and release runtimes are incompatible. We now create *AdditionalTargetInfo.cmake files along the exported *Targets.cmake files that set the IMPORT_*_<CONFIG> properties to the values of the release config Qt was built with. User projects built with an unknown configuration (CMAKE_BUILD_TYPE=ArbitraryName) will link against a release Qt. This can be controlled by setting the variable QT_DEFAULT_IMPORT_CONFIGURATION to, for example, DEBUG in the user project. Fixes: QTBUG-86743 Change-Id: I12c4b065a9845c7317f6acddab46b649f2732c9e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Export 3rdparty dependency find_package calls of private modulesJoerg Bornemann2020-09-251-1/+12
| | | | | | | | | | | | | | | | Consider a Qt module with a 3rdparty library target in PRIVATE_MODULE_INTERFACE, e.g. XKB::XKB in Qt6::GuiPrivate. Consumers of GuiPrivate automatically depend on XKB::XKB. In order to do that they must find_package(XKB ...). As all find_package calls for GuiPrivate are in the same place as the ones for Gui, this package must be marked as optional. Otherwise all consumers of Qt6::Gui would have to have the xkbcommon package installed too. This patch exports find_package calls for every 3rdparty public dependency of private modules and marks them as optional. Change-Id: Ia1eeb09c29927fb6634ef08b477684ed6f123267 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix sanitizer build when using Clang on LinuxAlexandru Croitor2020-09-241-0/+3
| | | | | | | | | | | | | | Apparently the combination of the --no-undefined linker flag together with ASAN when building on Linux with Clang does not work. Disable --no-undefined flag in such a scenario. Note that linux-clang mkspec doesn't add that flag at all, which is why asan builds work there. Change-Id: I6167c757ce4be5d2263311bc84e5fb445b0f7c2d Fixes: QTBUG-86879 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake Build: Add support for -qtlibinfix configure parameterCristian Adam2020-09-235-5/+9
| | | | | | | | | 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: set default API level to 23 in docsAssam Boudjelthia2020-09-232-3/+3
| | | | | | | | | Android minimum API level for Qt 6 is 23, this reflects that to some instances that still mention 21. Change-Id: I996f3ed3af14dca114129351d6ea06afcb8f45f5 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: partially revert 00a1e5dAssam Boudjelthia2020-09-231-216/+0
| | | | | | | | | | 00a1e5da7e1aea373a7e6be1d51e1573ff167dd8 wrongfully added parts of QtPlatformAndroid.cmake which were removed in 32121e9882bc69ad72d8e08ee7c21a684db921c1. This removed the part in question again Change-Id: Ie18968e6a165f52c68f4941ced6add266985bc48 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use 'A' for Apple framework version instead of Qt major versionTor Arne Vestbø2020-09-232-2/+2
| | | | | | | | | | All system frameworks use 'A' instead of the major version of the framework, and Xcode's code signing assumes that the framework version is 'A' when signing embedded frameworks (FB7323980), so leave the version 'A'. This is also what Apple recommends. Change-Id: Idbf2e30e156c3e869da8f75731e568524d9407e5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Rename internal functions to contain qt_internalAlexandru Croitor2020-09-2312-78/+138
| | | | | | | | | | Offer compatibility wrapper functions until we update all of the Qt repos to use the new names. Task-number: QTBUG-86815 Change-Id: I5826a4116f52a8509db32601ef7c200f9bd331de Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* CMake: Fix configure -redo for top-level buildsJoerg Bornemann2020-09-221-7/+10
| | | | | | | | | | | | | When re-doing in a top-level build, we did not read the config.opt file from the top-level directory. Also, the config.opt file should not contain the -top-level argument. This is an internal option, and on Windows, it was already missing. The information whether we're doing a top-level build is now passed in the CMake variable TOP_LEVEL. Change-Id: Iaecd7306a4b6d9ad494684c201cf12f8e74d684b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* headersclean: Fix include paths for dependent modulesKai Koehne2020-09-211-2/+4
| | | | | | | | | | | | Having ${QT_BUILD_DIR}/include as include path is not enough for modules outside of qtbase. They also need to pick up headers from e.g. Qt Core, which are available only in "${CMAKE_INSTALL_PREFIX}/include" This amends db21bad936a761f475145886f1e06dfcfa11eb80 Fixes: QTBUG-82615 Change-Id: Ib003a66ce039bf1ab6e21a3b1cd86923207eb3db Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix FindWrapRtJulien Schueller2020-09-181-1/+1
| | | | | | | | We must use the LIBRT location instead of LIBRT_FOUND which is not set anywhere. I failed to replace this one in my previous patch. Change-Id: I6e2df82c31e29018d99afec1eecfb80a321fddd4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake Build: Add qtnetwork docker testserver supportCristian Adam2020-09-171-1/+72
| | | | | | | | | | | | | | | qt_add_test supports now QT_TEST_SERVER_LIST, which will add the test servers as docker test fixtures. The docker server will be started before the test is run, and stopped after the test is run. Running the tests in parallel is not supported. Docker tests are currently only supported on Linux hosts. Task-number: QTBUG-85034 Change-Id: If3cefe05c5dec19c14b05d2fa8b01a0b6d95e259 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: build add flags for building QtAndroid.jarAssam Boudjelthia2020-09-165-0/+24
| | | | | | | | | | | | | Adds -source, -target, -Xlint:unchecked, -bootclasspath flags. Setting default javac build source and target versions to 8. Allow setting custom values for javac build versions via -DQT_ANDROID_JAVAC_SOURCE, and -DQT_ANDROID_JAVAC_TARGET. Task-number: QTBUG-86282 Change-Id: I98f4f193ac96016dc722d178594d7fd401202f68 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix FindWrapRtJulien Schueller2020-09-161-1/+1
| | | | | | | Actually link to librt to fix detection Change-Id: I819d9b57212fef7f539ef807846e06beb7bd617b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix FindGLESv2Julien Schueller2020-09-161-1/+3
| | | | | | | | | Avoids a linking error when the library is not found as find_library sets GLESv2_LIBRARY to GLESv2-NOTFOUND Change-Id: I7ddc15483276e0be0c78b67b760c4d9188758270 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Check that QT_HOST_PATH is set when using the Qt toolchainAlexandru Croitor2020-09-152-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a consumer wants to cross-compile a Qt app, they need to provide the host Qt path location. When building Qt in the CI we embed the Qt host path into the generated CMake toolchain file for convenient building of other Qt modules. But once Qt is built, packaged and installed on a user's machine, most likely the Qt host path will not be the same. In such a case, if the user wants to use the convenience toolchain, they should explicitly provide the Qt host path via the QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR variables. Show an error message if the values are not provided or don't exist on the file system. It's possible that in the future the Qt installer will patch the toolchain file, or provide additional info, to point to the host Qt installation so that the user doesn't have to do it manually. But until that's done, a friendly error message is a good way to inform the user what they should do. Task-number: QTBUG-83999 Change-Id: I26291e3c47bb77375f8a5ce7b848c0382a660ca9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Conditionally set compiler in generated toolchain fileAlexandru Croitor2020-09-151-2/+9
| | | | | | | | | | | | | | | | | | | Public consumers of the qt toolchain file will most likely not have their compilers in the same location where they were on the Qt build machine. Only set the compiler paths if none was set already, and the paths actually exist. This seems to become a trend in the generated toolchain file, and is only a stop-gap solution. A proper solution (two different toolchain files) may follow. Task-number: QTBUG-83999 Change-Id: I7a603af447333a45c65b98e299ee109932d16517 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix incorrect host path used in generated toolchain fileAlexandru Croitor2020-09-151-4/+6
| | | | | | | | | | | | | | | | | | | | | A previous change accidentally broke what we we set for QT_HOST_PATH and QT_HOST_PATH_CMAKE_DIR. The QT_HOST_PATH variable should use an absolute path as it was done before. The QT_HOST_PATH_CMAKE_DIR variable incorrectly used the value of "${QT_HOST_PATH}" instead of "${QT_HOST_PATH_CMAKE_DIR}". Fix both of these, and change the names of intermediate variables to be consistent. Amends a6a3b82ffb3d7f1ea13293206401ed360a51e9cd Task-number: QTBUG-85240 Change-Id: I328a7edee12a13ff793684e8a0a4c2e03204eca4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert "Revert "CMake: Add facility to mark package dependencies as optional""Joerg Bornemann2020-09-145-17/+44
| | | | | | | | | This reverts commit b0c51f86f40b6b6d18fe2bb75cc851d36395240d. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: Ic7458d54c7a874588e8b1bfeca61df1842763656 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "Revert "CMake: Reduce the number of find_dependency calls""Joerg Bornemann2020-09-143-14/+11
| | | | | | | | | This reverts commit 6e1a570dc8560489d10120cbd019a665f33f49c2. The build failure caused by 58c1c6ee5c986d502b56eb1cc57f1d9444d42031 has been fixed. Change-Id: I67acaa2d1dd5fc88c205b054252be2e6e26898c7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "Revert "CMake: Fix usage of find_dependency()""Joerg Bornemann2020-09-146-60/+48
| | | | | | | | ...and fix the build errors the original change caused. This reverts commit 127fb8bb5587db52216d0ac934f3111170a7cbe3. Change-Id: I4006b32734a51c5d101dd73c957f81d2a0f84ba1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "CMake: Fix usage of find_dependency()"Lars Knoll2020-09-135-36/+53
| | | | | | | | | | This reverts commit 58c1c6ee5c986d502b56eb1cc57f1d9444d42031. This lead to configuration errors on some machines, blocking development. Change-Id: I744f6cc95fbaa273519ab8fc8fb492b87f5729b8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Revert "CMake: Reduce the number of find_dependency calls"Lars Knoll2020-09-133-11/+14
| | | | | | | | | | This reverts commit a3cb002511d7e2cc73234611795c1947620aedd5. This lead to configuration errors on some machines, blocking development. Change-Id: Ibb785c96c7d85692a6e22a73e086119eb571df71 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Revert "CMake: Add facility to mark package dependencies as optional"Lars Knoll2020-09-135-44/+17
| | | | | | | | | | This reverts commit 3685483c4b79b4075bab6d341174a395359d1b4a. This lead to configuration errors on some machines, blocking development. Change-Id: I309cdd55a8ef64899afcbeca54458d1c6d686951 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: Add facility to mark package dependencies as optionalJoerg Bornemann2020-09-125-17/+44
| | | | | | | | | | | | | | | | Every public dependency of a Qt module results in a find_package call in the consuming project. But not all public dependencies are mandatory. For example, vulkan is only needed if the user project actually uses Qt classes that pull in vulkan headers. This patch adds the option MARK_OPTIONAL to qt_find_package. Dependencies that are marked as optional will not produce an error on find failure. Task-number: QTBUG-86421 Change-Id: Ia767e7f36991e236582c7509cbd37ea3487bb695 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Reduce the number of find_dependency callsJoerg Bornemann2020-09-123-14/+11
| | | | | | | | | | ...in code. The actual number of calls at runtime does not change. The reason for this stunt is that we want to replace find_dependency with find_package at runtime for optional dependencies, and this will reduce the diff size of the next commit. Change-Id: I304fdf09c69fea7b6d4adabf515712eb097f8c86 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix usage of find_dependency()Joerg Bornemann2020-09-125-53/+36
| | | | | | | | | | | | The find_dependency() macro calls return() on failure, meaning any code after it will be ignored, thus checking any XXX_FOUND variables after find_dependency() is pointless. Fix the places where we use find_dependency() and set the "failed" state before the call and the "success" state afterwards. Change-Id: Ia5239c704f02a9bec972210374ffed7808b14055 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Provide way to register extra tool package dependenciesAlexandru Croitor2020-09-112-2/+50
| | | | | | | | | | | | | | | This is needed for qtwayland, where QtWaylandCompositor package should call find_package(QtWaylandScanner) in the 'Tools' section of the ModuleDependencies.cmake file, rather than the regular 'Qt' section. This takes care of handling host path prefixes, to ensure that a host package is found even when tools have also been cross-compiled via the QT_BUILD_TOOLS_WHEN_CROSSCOMPILING option. Task-number: QTBUG-83968 Change-Id: I4725a630214d053105fb6d2a0f7c5ff6128d13f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Fix rpaths set for Qt internal apps like DesignerAlexandru Croitor2020-09-112-4/+13
| | | | | | | | | | | | | | | | | qt_apply_rpaths takes into account properties like MACOSX_BUNDLE. This property might not yet be set when qt_internal_add_app is called, but later. To handle that, move the call of qt_apply_rpaths to qt_internal_finalize_app. As a result, the installed apps will have 2 rpaths, the $ORIGIN style relocatable one, and an absolute path one pointing to the Qt prefix/lib. The last one might be unnecessary. Fixes: QTBUG-86514 Change-Id: I25e0d695c78c8b5703e94c99cc2457f772721456 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix build with Clang on WindowsKai Koehne2020-09-111-0/+6
| | | | | | | | | | | win32-clang-g++/qmake.conf did define QMAKE_CFLAGS_WARN_ON += -Wextra -Wno-ignored-attributes probably for the same reason. Change-Id: I14b66f2555949c03a2ea996923e31f5ec9f7105a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix qt-configure-module for modules without qt_cmdline.cmakeJoerg Bornemann2020-09-111-2/+4
| | | | | | | | | | Some repos/modules don't have configure.json files and thus no qt_cmdline.cmake files. Make qt-configure-module check for the file's existence. As drive-by fix, surround the configure.cmake's path by double quotes. Change-Id: If1a91a0bba0c2fd282cfa08fa6ff2bb20f0a15ba Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Take MODULE_INCLUDE_NAME into account when installingJoerg Bornemann2020-09-111-8/+9
| | | | | | | | | For modules that have MODULE_INCLUDE_NAME set (for example ActiveQt) we must use this name for the installation rules too. Fixes: QTBUG-86484 Change-Id: I1b97cf534ea5e41655c7b3fdd0330b2f58356a3a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Implement configure -ltcgJoerg Bornemann2020-09-112-1/+12
| | | | | | | | | | | | | | | | | | | This configure switch sets the CMake variable CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG> per release config to ON. The feature 'ltcg' is enabled if any of the variables CMAKE_INTERPROCEDURAL_OPTIMIZATION, CMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG> are ON. In order to implement the check, configurejson2cmake had to be extended to be able to write extra CMake code before and after the feature definition. This extra code can be added to a feature mapping below the keys "cmakePrelude" and "cmakeEpilogue". Task-number: QTBUG-85373 Change-Id: Ia2eb907edcf087f137977a9b090705397f83eb05 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Implement configure -qpaJoerg Bornemann2020-09-112-1/+2
| | | | | Change-Id: I38a938cda91a525d2af22deec864c6a12af3e29d Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Introduce qt-configure-moduleJoerg Bornemann2020-09-111-0/+25
| | | | | | | | | | | | | Add a convenience script to configure a Qt module separately. This script reads and interprets the qt_cmdline.cmake files of the Qt module to be configured and eventually calls qt-cmake-private. Example usage: <install-prefix>/bin/qt-configure-module <source-root>/qtdeclarative -qml-network -- --trace-expand --trace-redirect=cmake.trace Change-Id: I026f1a050cd3f4df740611c32ba8c03161bba7a3 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Fix markdown syntax in cmake/README.mdJoerg Bornemann2020-09-111-1/+1
| | | | | | | | | Make this file parsable by tools that are less lenient than github. Triple-backquotes are for fenced code blocks. Inline code uses backticks (or double backticks if you have code with backticks). Change-Id: Ic49d946fbcaa6f7e97702eadf4a0b0c726fc3217 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove the -no-compile-examples configure switchJoerg Bornemann2020-09-111-1/+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>
* CMake: Fix generation of XXX_tracepoints.cppJoerg Bornemann2020-09-101-1/+1
| | | | | | | | The include directive was incorrectly written. This amends 5c092c2b401. Change-Id: Ia72ca3a5d5e1486ade4d71a764550d36979640f6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>