summaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* Fix compilation error on WindowsYuhang Zhao2020-11-011-1/+1
| | | | | | | | | | | | | | | | When linking static libraries, MSVC's link.exe complains about the unknown parameter "/INCREMENTAL:NO" and output a lot of warning messages about this. This doesn't happen when it's linking exes or dlls. The situation is a lot more worse when we are using clang-cl. clang-cl will print some error message like it can't find a file named "/INCREMENTAL:NO" and just stop compiling. It seems clang-cl treat unknown parameters as input files. Fixes: QTBUG-87875 Change-Id: I37ed29de082b0258e81494db54f275417ab42708 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Cleanup module and plugin define situationAlexandru Croitor2020-10-302-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QT.<module>.DEFINES assignment in pri files needs to take into account the module name when computing the define name. This is the MODULE value that qmake specifies. In CMake that would be the value of CONFIG_MODULE_NAME. Previously the value of the define was computed in qt_internal_module_info() without taking into account the module name. While qt_internal_module_info() ended being used also for plugins and other target types, the defines computed by it were meant to be used only for Qt modules. Thus remove the <result>_define assignment from qt_internal_module_info and move its computation directly into qt_internal_add_module, taking into account the value of CONFIG_MODULE_NAME. The only other use of module_define was in qt_internal_add_plugin but that was merely a long overdue copy-paste error, qmake doesn't propagate QT_FOO_LIB defines for plugins. As result, a define special case in testlib is not needed anymore, because the define is now computed properly. Finally, QT_FOO_LIB should not be used while building the Qt module itself, so instead of using PUBLIC_DEFINES option of qt_internal_extend_target, use target_compile_definitions(INTERFACE) directly. Change-Id: I4d44f7461bac2f0c09aec3e995d02dfe36e00883 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Clean up order of assignments in generated module pri filesAlexandru Croitor2020-10-301-6/+11
| | | | | | | | Makes the diff between Qt 5.15 and 6.0 easier to read, to see what's missing. Change-Id: Idf8aa17b3ab8494f6855c172665423a53ca8a024 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Remove outdated TODO commentsJoerg Bornemann2020-10-301-2/+2
| | | | | | | | We do not have host-specific INSTALL_*DIR variables in the CMake build. It is equivalent to a qmake build with host prefix = prefix. Change-Id: I65731e6038508b6c28e3f2819b624ba19abfc82a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Yield fatal error on malformed INSTALL_MKSPECSJoerg Bornemann2020-10-301-0/+4
| | | | | | | | The value of this variable must be exactly "mkspecs" or end with "/mkspecs". Change-Id: I39f83e9660794dfe23f5fd39fb1084b87ba1f140 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Write INSTALL_MKSPECSDIR to qconfig.cppJoerg Bornemann2020-10-301-1/+7
| | | | | | | | | The value of this variable - whithout the mkspecs part - is what's called the host data dir in Qt5. Fixes: QTBUG-87681 Change-Id: I3dfeed17e8a614476aef4d9c651a141ce62e6551 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix [qt-]configure[-module].bat arguments with backslashesJoerg Bornemann2020-10-301-0/+2
| | | | | | | | We must escape backslashes in CMake code that's to be evaluated and in the arguments we read from config.opt. Change-Id: I65d033c77f71888974983aa3d834acb2fe89f3fb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix argument passing for configure.bat / qt-configure-module.batJoerg Bornemann2020-10-302-0/+32
| | | | | | | | | | | | | | | | | Passing arguments with equal signs was broken for configure.bat and qt-configure-module.bat. An argument FOO=BAR was split at = and written as FOO BAR to config.opt, breaking every attempt of assigning CMake variables. We must not iterate over %* in batch files to avoid splitting arguments at equal signs. Instead, pass %* unmodified to a CMake script that writes config.opt. Fixes: QTBUG-88019 Change-Id: I7c743a206961d1ed168f2313f864905f6b345b49 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Prepare configure/qt-configure-module for calling more scriptsJoerg Bornemann2020-10-301-6/+5
| | | | | | | | | In a subsequent change we will call another CMake script from qt-configure-module.bat. Write the location of qtbase/cmake into the generated scripts instead of the path to QtProcessConfigureArgs.cmake. Change-Id: Ie333b16d310b215c6e49efa27740c7525453d28f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Allow lower-case values in feature valuesJoerg Bornemann2020-10-291-4/+6
| | | | | | | | | | | | CMake considers ON/OFF as booly string values regardless of the case. Make the value comparison in QtFeature.cmake case-independent. It's now possible to build Qt with '-DFEATURE_gui=off'. Fixes: QTBUG-87948 Change-Id: I3d948e8219ad9728414803c8c4cd756034073b46 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Rolf Eike Beer <eb@emlix.com>
* CMake: Fix generation of prl files for non-qtbase modulesAlexandru Croitor2020-10-293-6/+47
| | | | | | | | | | | | | | | | | | | Previously we determined if a library represented by an absolute path is a Qt module by checking if it's located in the build dir of the current repo. That is not sufficient for non-qtbase prefix builds, where a Qt module might link against both a module in the current build dir and in the prefix dir. Detect such cases, and rewrite the absolute paths to relocatable paths (either framework flags or paths starting with $$[QT_INSTALL_LIBS]. This should fix building examples with qmake that use QtQuick. Fixes: QTBUG-87840 Change-Id: Icaf8f1a7c66292c80662fd0d5771a5a1628a9899 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Support installing extra cmake files for toolsKai Koehne2020-10-292-1/+36
| | | | | | | | | | | Add an EXTRA_CMAKE_FILES argument to qt_internal_add_tool() that allows tools to install an additional Macro.cmake file. This is modelled after similar functionality in qt_internal_add_module. Task-number: QTBUG-87870 Change-Id: I80838b8966f1018fdd379b1da877b6bc418de075 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix qdoc builds for non-top-level developer buildsKai Koehne2020-10-281-3/+1
| | | | | | | | Fixes a regression introduced in commit 748b3b9c8971e35 for builds that are both not a QT_SUPERBUILD and not QT_WILL_INSTALL. Change-Id: I52b920176a2696fa6206b89b2b69ae1a7f3fbc25 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* cmake: Allow specifying module 'uses' entriesTor Arne Vestbø2020-10-281-2/+5
| | | | | Change-Id: Iee02654e0f52e36e026b8074e0eacb0ea1804685 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Re-work documentation targetsJoerg Bornemann2020-10-282-30/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The top-level prepare_docs target is supposed to run before the generate_docs target. The repository-level targets like prepare_docs_qtbase now also run before their respective generate targets. To achieve that, several intermediate targets had to be introduced. The dependencies for top-level generate_docs look like this: /--> generate_top_level_docs_Core --\ generate_docs ---> generate_top_level_docs_Gui -----> prepare_docs \--> ... --/ The dependencies for repo-level generate_docs_<repo> look like this: /--> generate_repo_docs_Core generate_docs_qtbase ---> generate_repo_docs_Gui \--> ... generate_repo_docs_Core --\ generate_repo_docs_Gui -----> prepare_docs_qtbase ... --/ Analoguous for qch_docs. And last but not least, the module-level generate_docs_<module> depends on prepare_docs_<module>, just like before. The strangely named top-level install targets have been renamed to install_html_docs, install_qch_docs and install_docs. The html_docs target is now merely an alias for generate_docs. Apart from prepare_docs, the top-level targets do not depend on the repository-level targets anymore. Targets that are just an alias (docs, install_docs, ...) have been re-defined to depend just on the respective top-level targets. Fixes: QTBUG-87758 Change-Id: I24466d3a252d518a30a2064bf876be881c46231f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Avoid -NOTFOUND suffix in module pri configTor Arne Vestbø2020-10-281-2/+4
| | | | | Change-Id: I1407a661c482d918dd143f291ee648bc7b18feef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Don't limit qt_internal_add_cmake_library to testsTor Arne Vestbø2020-10-281-1/+1
| | | | | Change-Id: I2dbe8075de6704a7a6557b877dc279a4b4cddd54 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Don't add module header for interface libs without headersTor Arne Vestbø2020-10-281-0/+5
| | | | | Change-Id: Ifba869586a65f28d5ff47bb2c01ce638110f493f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Export QT_QPA_DEFAULT_PLATFORM in QtBuildInternalsExtraAlexandru Croitor2020-10-272-0/+13
| | | | | | | | | | | | The value is useful for QPA plugins built in repos other than qtbase, to decide if it should be a default plugin or not. Currently useful for qtwayland. Also export a qmake value assignment when doing static builds, just like src/gui/configure.pri does. Change-Id: I1253f1a7e178b24b16e2615ba20d1e92b0b87b1a Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Do not overrun the list end in qt_remove_argsUlf Hermann2020-10-271-2/+4
| | | | | | | | Otherwise we get error messages from CMake. Change-Id: I374b87e38550062b841b7eacf5fbb6bb5ccbdbde Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: allow using ANDORID_NDK_ROOT for user projectsAssam Boudjelthia2020-10-272-2/+18
| | | | | | | | Allow CMake for Android to use ANDROID_NDK_ROOT to deduce the path for QT_CHAINLOAD_TOOLCHAIN_FILE instead of the user providing it manually. Change-Id: Ida728011d5ca8d5a723d341ea77b173e8f105f8c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Allow target to specify initial module internal configTor Arne Vestbø2020-10-261-1/+3
| | | | | Change-Id: I7312fa19aad84b020015b304b1cd2cd5acc83b81 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Provide a qt-internal-configure-tests scriptAlexandru Croitor2020-10-261-0/+32
| | | | | | | | | | | | | | | | | | This is meant to be called by our CI instructions to build standalone tests of a Qt repository. Currently it just calls qt-cmake with -DQT_BUILD_STANDALONE_TESTS=ON, but it might contain more things in the future. The script also simplifies configuring standalone tests locally, due to not having to remember the name of the magical variable. Change our CI instructions to use the new script. Change-Id: I6bc02b4e94adc9d0d05fecb0fe70a561043271f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Fix target dependency cycle regarding qpa plugins in qtwaylandAlexandru Croitor2020-10-261-4/+16
| | | | | | | | | | | | | | | | | | | | | | | With the introduction of the new 'default_qpa_plugins' custom target, a target dependency cycle occurred in qtwayland: qtwaylandscanner -> default_qpa_plugins -> a wayland qpa plugin -> WaylandClient -> qtwaylandscanner The issue is twofold: - default_qpa_plugins accidentally depended on non-qpa plugins. - All qpa plugins were enabled by default, including the wayland ones. Fix the default_qpa_plugins target not to depend on regular non-qpa plugins. Also fix qpa plugins not to be enabled by default, but instead only choose one qpa plugin to be the default (via evaluating the DEFAULT_IF) condition. Amends df9c7456d11dfcf74c7399ba0981a3ba3d3f5117 Change-Id: I22cd2c72f6b75be54263fd21097258bd179e3616 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Fix handling of rpaths for tests with CMAKE_STAGING_PREFIXAlexandru Croitor2020-10-261-0/+12
| | | | | | Task-number: QTBUG-86053 Change-Id: I2f368d9dc2d871b67bd6261aadd8ef4c1dd1ae54 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Fix automatic sysrootification detection for qmakeAlexandru Croitor2020-10-261-10/+16
| | | | | | | | | | | | | | | | | | | | | The way we detected whether SysrootifyPrefix needs to be set was incorrect. We checked if extprefix == prefix => SysrootifyPrefix should be true. But that was previously always the case for a non-prefix build, which means it was not possible to build apps (due to qmake expecting to find include dirs in the sysroot, despite the non-prefix Qt not being installed anywhere into the sysroot). Instead we should do what qmake does. Only set SysrootifyPrefix to true if extprefix was not provided and a sysroot is available. To make it work for iOS and Android, the sysroot detection code had to be moved earlier than the SysrootifyPrefix detection. Task-number: QTBUG-86053 Change-Id: Idcc1260a675fb2ef9ae27fc9dc42a68b30f763b8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Don't invoke QDoc excessivelyTopi Reinio2020-10-241-16/+2
| | | | | | | | | | | | | | | The html_docs target does not need to call QDoc a third time as both its dependencies already do that. With qmake, html_docs did invoke QDoc if CONFIG did not include 'prepare_docs', but none of the Qt modules used that configuration. We can manage without it for now. Fixes: QTBUG-87751 Change-Id: I45d2d06006c566c431ae41d7f3a06d6b809987f2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Let doc targets depend on doc tools in top-level buildJoerg Bornemann2020-10-234-0/+51
| | | | | | | | | | | | | | | For top-level builds it's desirable to have "ninja generate_docs" build all tools needed to generate the documentation. This is problematic since the doc-generating targets are created before the doc tool targets. Thus, we must defer the dependency connection if the doc tool target is not yet available. This patch adds the functions qt_internal_defer_dependency and qt_internal_add_deferred_dependencies. Change-Id: Ica940b80882e67cb0e0943e95541f7f4d1885948 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix typo in variable nameJoerg Bornemann2020-10-231-3/+2
| | | | | Change-Id: I310ff17c75970482803294bb5f4473bcaebdc151 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix deprecation defines not being set properlyAlexandru Croitor2020-10-233-3/+3
| | | | | | | | | Instead of propagating the deprecation wranings, we compiled all code with -Ddeprecations. Change-Id: I0233ddc85bdbdcb93d366073b2cea5d47bdbe52a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cmake: Produce internal module pris like qmake doesTor Arne Vestbø2020-10-231-33/+37
| | | | | | | | | | qmake treats internal modules as just the regular module file, but with a _private suffix, as opposed to the current cmake logic, that treats it as the private module file, resulting in missing e.g. the Qt.foo.module entry. Change-Id: Id55ca4c23921656d5abfd1d0fdf6430d4fe120bf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Allow docs generation without installing in top-level buildsJoerg Bornemann2020-10-231-2/+6
| | | | | | | | | | | | | | This patch allows in top-level prefix builds to build Qt and to generate the documentation without running cmake --install first. For top-level builds we now always use the qdoc binary from the build directory, not the installation directory. We also have to copy the global doc files to the build directory to make them accessible to the generate_docs target. Change-Id: I2251603418fc3df9a21c7f2892789e9ff6c8cc21 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Respect NO_PRIVATE_MODULE when generating module pri filesTor Arne Vestbø2020-10-232-50/+59
| | | | | Change-Id: Id5816d6598a0a484c20674f34f6f809e68671e6b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Don't add include paths to module pri if there are no headersTor Arne Vestbø2020-10-231-0/+6
| | | | | Change-Id: I8fa01f45410805399a511a87c6f04192ce42d374 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix headersclean to build with proper flagsAlexandru Croitor2020-10-231-11/+74
| | | | | | | | | | | | | | | | It's not sufficient to pass -I{prefix}/include when doing the header clean check. We need to propagate all target include directories and compile definitions, and also the compile flags for good measure. For macOS frameworks we also need to explicitly pass an -iframework flag (qmake passses -F instead), to ensure that <QtGui/qfoo.h> style includes are found when building other repos than qtbase. Task-number: QTBUG-82615 Change-Id: I76d12340bc01c5c948ff04df9a3df384dcb7e076 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Use compiler launcher for headerclean rulesAlexandru Croitor2020-10-231-2/+8
| | | | | | | | | This ensures ccache or sccache is used to cache the compilation of the headerclean checks. Task-number: QTBUG-82615 Change-Id: Ie944eb1d643e7271551c9f8337609741e419e9d8 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Fix headersclean to work on macOSAlexandru Croitor2020-10-231-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears there's a difference between the chosen macOS compiler path in the CI versus the compiler path on my local machine. In the CI the chosen compiler path ends up 'being /usr/bin/clang++' whereas for me locally it's /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ For some reason the headersclean commands succeed in the CI, but locally they fail for me saying that standard library includes can not be found, unless an explicit sysroot flag is specified. I assume that in the CI the '/usr/bin/clang++' compiler shim chooses some implcit sysroot, whereas the longer Xcode compiler expects an explicit sysroot. It's probably also affected by the fact that in the CI we pass an explicit CMAKE_OSX_SYSROOT to a non-standard Xcode location e.g. /Applications/Xcode11.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk Note the '11' in the Xcode app name. Locally I don't pass a custom CMAKE_OSX_SYSROOT, and my Xcode is installed in a regular location e.g /Applications/Xcode.app. The sysroot flag and path is added to regular CXX compilation rules inside CMake's core (in cmLocalGenerator.cxx). Reuse the same variables that CMake uses and add them to our headersclean command rules. Task-number: QTBUG-82615 Change-Id: Ic03ea27e39471f5fa168eb5970bf3d3f1d1be251 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Add convenience custom targets to build Qt pluginsAlexandru Croitor2020-10-223-0/+26
| | | | | | | | | | | | | | Add 3 new convenience custom targets: 'qt_plugins', 'qpa_plugins' and 'qpa_default_plugins'. Additionally, if we detect that an internal executable / test links against Gui, add a dependency on the 'qpa_default_plugins' custom target, so that if a developer configures Qt for the first time and then calls ninja 'tst_foo_check', we ensure the test will launch successfully because the default QPA plugin will also be built. Change-Id: If6dd70844b5effdf8a293f65f8785855cc85b132 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Do not prepend -l to libs starting with dash in prl filesJoerg Bornemann2020-10-221-1/+1
| | | | | | | | For example, we must not prepend -l to -pthread, -framework and -lfoo. Fixes: QTBUG-87760 Change-Id: Ie1bc7a76183c2c4980c519b5f23dde6c47ec85a9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Advertise qt-configure-module in configure outputJoerg Bornemann2020-10-221-1/+5
| | | | | | | | | ...instead of qt-cmake-private. Also, add ".bat" on Windows. Change-Id: I2aa94ac76f2dadfb8e94d68b19bb379b3d45a93d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix CMake generator auto-selection on WindowsJoerg Bornemann2020-10-221-1/+1
| | | | | | | The variable to check for a Windows host system was mis-typed. Change-Id: I25b14b80d25bfec0c1a00e99833520b6fb6a4b02 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* CMake: Pad the configure summary string with one more dotAlexandru Croitor2020-10-221-1/+1
| | | | | | | | This makes the diff-ing of the config summary between qmake and CMake builds correct. Change-Id: I720b69572c23afd78e6d0bea6cdf0740980c3b36 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake: Fix INPUT_* names with dashesJoerg Bornemann2020-10-221-1/+2
| | | | | | | | | | | | In configure.json files we have inputs with dashes, e.g. bundlex-xcb-xinput. In configure.cmake files, these are read in their normalized form, e.g. INPUT_bundled_xcb_xinput. Normalize the input names in QtProcessConfigureArgs.cmake like we already do for feature names. Change-Id: Iece414d40a0e9e2920580f2fda68e25cd32674c9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Turn warning about missing xcodebuild into noticeVolker Hilsheimer2020-10-221-1/+1
| | | | | | | | | | | | On a mac that can build all of Qt with CMake, Ninja, and command line tools, there should be no warning just because a build tool that won't get used is not available. Turn the warning into an informative message instead so that IDE integrations (such as VSCode's CMake integration) don't flag warnings. Change-Id: I250c0e5dd0633b36ff2b690a52ba7ce3ceb22218 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Fix additional target info filesJoerg Bornemann2020-10-202-4/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | ...for QT_BUILD_TOOLS_WHEN_CROSSCOMPILING. qt_internal_export_additional_targets_file now gets two lists of target names when run from qt_export_tools: - TARGETS containing actually existing targets, and - TARGET_EXPORT_NAMES containing the target names as they appear in the additional target info file. Operations that require actual targets are run on the TARGETS, in the additional target info file only TARGET_EXPORT_NAMES are written. This distinction is required for the case where the host Qt lacks a tool that is built in the target Qt. Example: host Qt is built with DEVELOPER_BUILD=OFF, target Qt is built with DEVELOPER_BUILD=ON. Then the host Qt lacks qmljs, but it is built in the target Qt. TARGETS contains qmljs_native, and TARGET_EXPORT_NAMES contains qmljs. Fixes: QTBUG-87693 Change-Id: I615aed996bfcbe654274defcda8c1cb2cc4b7b4e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Fix html_docs targets for top-level buildsJoerg Bornemann2020-10-191-6/+1
| | | | | | | | | | | Do not append "/qtbase" to QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX when doing a top-level build. The "/qtbase" suffix is already part of this variable's content. Fixes: QTBUG-87682 Change-Id: If1c2075dc58d4b07a4c3a1eed12cc3336c5dc8e6 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Ignore license-related configure argumentsJoerg Bornemann2020-10-172-3/+5
| | | | | | | | | | Do not print warnings for the configure arguments -commercial, -opensource and -confirm-license. We're not removing the arguments yet to keep existing build scripts working. Fixes: QTBUG-86096 Change-Id: Ieb63e2f2b81c022e8559cde6c3e0be0b8ce655ca Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Generalize the winmain/qtmain entry-point libraryTor Arne Vestbø2020-10-172-6/+6
| | | | | | | | | | The use-case is relevant for other platforms as well. Now that Qt has a module system we can also replace a lot of the hand crafted logic for linking with simpler constructs. Change-Id: Ib6853aaf81bfea79c31f2de741d65b4b56f23ef6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* cmake: Fix logic for adding staticlib to module priTor Arne Vestbø2020-10-161-4/+3
| | | | | Change-Id: I2426e78bb509a37e7e3924506903cd84732f88d8 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Rename some public API functionsAlexandru Croitor2020-10-163-4/+4
| | | | | | | | | | | | | | | | | | | Some of them have a different (hopefully better) name now. Some are marked as Technical Preview. Some are renamed to be internal. Marking add_qt_gui_executable as TP with the intention to un-TP it after we rename it and change its behavior as discussed in the API review meeting. Additional changes to add_qt_gui_executable and qt6_add_resources have been filed as separate tasks that will be worked on separately. See comments on PS1 for details. Task-number: QTBUG-86827 Change-Id: I56a84a1943b0902bb807310dc620eb381824e8dd Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>