summaryrefslogtreecommitdiffstats
path: root/examples/dbus
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Add deployment API to our examplesAlexandru Croitor2024-03-225-45/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Projects were modified using the tool at: https://git.qt.io/alcroito/cmake_refactor A couple of examples had to be adapted manually, due to them including more than one app per example subdirectory. The INSTALL_EXAMPLESDIR and INSTALL_EXAMPLEDIR assignments were removed. The install(TARGETS) calls were modified according to our documentation snippets for qt_generate_deploy_app_script. A qt_generate_deploy_app_script call was added for each executable target. Note that the deployment step will be skipped in the CI for now, because we enable QT_DEPLOY_MINIMAL_EXAMPLES and thus QT_INTERNAL_SKIP_DEPLOYMENT, and also because standalone examples are not enabled yet, and deployment is disabled for in-tree (so no-standalone-example) prefix builds. The install(TARGETS) calls for each example will still run, installing the examples into an installed_examples directory, that will not be archived by the CI. Pick-to: 6.7 Task-number: QTBUG-102056 Task-number: QTBUG-102057 Change-Id: Ida389bbad41710b2ae5da4d95e2d85be9e0cd9ce Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Correct a typo in the reference documentation of D-Bus Chat exampleChris Lerner2024-03-191-1/+1
| | | | | | | | | In the sentence "Users connect and send message to each other", change "message" to "messages". Pick-to: 6.7 6.6 6.5 6.2 Change-Id: Ib4d0991d314cd300a56def8797cac604fa88ea35 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Correct license for examples filesLucie Gérard2024-03-077-7/+7
| | | | | | | | | | | | | | Example takes precedent over build system file type. According to QUIP-18 [1], all examples file should be LicenseRef-Qt-Commercial OR BSD-3-Clause [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: Id348a89884bb309b96abb31077f14a51086b5d0c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Update visuals of remote controlled car exampleMatthias Rauter2023-12-2116-76/+114
| | | | | | | | | * Added icons to the controller. * Keep the car within the scene. * Removed the ui file because 4 buttons can be maintained in code easier. Change-Id: I10af821beb442939e1e7fbdd3ffbde67a272bb2f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Exclude some examples from Android buildElias Hautala2023-08-283-3/+13
| | | | | | | | | | | | Excludes dnslookup, waitconditions, semaphores, cbordump, savegame, convert, pingpong and complexpingpong examples from Android build because of missing Qui and Quick dependenies. Task-number: QTBUG-111933 Pick-to: 6.5 6.6 Change-Id: Ied01f62ee61a9220dcb44c13fda46f6a5e158293 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Doc: Add example categories for Qt D-bus examplesMats Honkamaa2023-08-144-0/+4
| | | | | | | Task-number: QTBUG-116030 Pick-to: 6.5 6.6 Change-Id: I6ad7ddb69fc952d3bba7477ab804455d46d77866 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* complexpingpong example: Modernize the codeIevgenii Meshcheriakov2023-03-284-39/+41
| | | | | | | | | | | Use C++ IO streams and qWarning() instead of (f)printf() for console IO. Make user-visible strings translatable. Use invokeMethod() instead of QTimer. Fixes: QTBUG-111366 Pick-to: 6.5 Change-Id: I6990b964c2097267e04cd361b9cd8fc0a22a0135 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* dbus examples: Remove "Example" from example namesIevgenii Meshcheriakov2023-03-244-5/+5
| | | | | | | | Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Ia34c60ed4c0ffe5b01cc507dd5e45521c096b0bf Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* remotecontrolledcar example: Modernize the codeIevgenii Meshcheriakov2023-03-236-57/+27
| | | | | | | | | | Also remove unused crashed() signal. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Ia23552a6396c324c7591643afaa634879a2c185e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* remotecontrolledcar example: Move car.xml to common directoryIevgenii Meshcheriakov2023-03-206-15/+4
| | | | | | | | | It is shared between car and controller executables. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: I5f98a09664671c55bfad68ebf88c9f0c734511fa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* remotecontrolledcar example: Move executables into single example projectIevgenii Meshcheriakov2023-03-204-17/+13
| | | | | | | | | This allows building of all the example executables at once. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: I1fa372ec9725bfeb1f123305aa7324b7820eb593 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* dbus examples: Update screenshotsIevgenii Meshcheriakov2023-03-146-2/+2
| | | | | | | | | Use WEBP format to reduce the file size. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: I14ff15010e7ac7e1b375eeafaa1c153b0fdd95e6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* dbus examples: Remove listnames exampleIevgenii Meshcheriakov2023-03-036-114/+1
| | | | | | | Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: I5c483cbfec4072dae610c6d98b97d10057ba9ddc Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* pingpong example: Remove pong.hIevgenii Meshcheriakov2023-02-284-19/+12
| | | | | | | | | Move the class definition inside pong.cpp. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Id4b376451cb2bdbd04ccce4b2dcf0760dbfbfb2a Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* pingpong example: Modernize the codeIevgenii Meshcheriakov2023-02-283-24/+22
| | | | | | | | | | | | | | | | | Use qWarning()/std::cout instead of C IO functions. Use default parameters for QDBusInterface's constructor. Remove useless Q_SCRIPTABLE. Use type-safe invokeMethod(). Extract a local variable for the used D-Bus connection. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Idc38a7c1dd97d71308d9491193039744c759d6f2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* chat example: Update code styleIevgenii Meshcheriakov2023-02-272-66/+27
| | | | | | | | | | | Use lambdas instead of slots where practical. Consistently use signals to transmit D-Bus messages. Extract a local variable for the used D-Bus connection. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Icc6667e1392ada1b7d3b33c4e4b32917dd648390 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* chat example: Remove empty destructorIevgenii Meshcheriakov2023-02-272-5/+0
| | | | | | | Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: I880c16638c992a4ee8528b1c545e6f563a7efa8b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* chat example: Remove commented-out codeIevgenii Meshcheriakov2023-02-271-2/+0
| | | | | | | Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: Ib8e89427357f604ab30cb0de50eb373cffb945fa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* chat example: Use QInputDialog to get a user nicknameIevgenii Meshcheriakov2023-02-275-178/+20
| | | | | | | | | | This gets rid of a custom form. Also quit the application if user closes the input dialog without entering a nickname. Task-number: QTBUG-111366 Pick-to: 6.5 Change-Id: I56ed99d69d031e7ef06711fc7ec112311c974ca6 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Examples: Use PRIVATE CMake linkageKai Köhne2022-11-305-6/+6
| | | | | | | We (almost) only build apps, for which PRIVATE linkage makes more sense. Change-Id: I09a509c3fb33a00cdfdede687b3f95d638f42091 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Examples: Use qt_standard_project_setup()Kai Köhne2022-11-176-14/+12
| | | | | Change-Id: I0ceab08108b7e58e4e2ed25db9e3c289f5c0ddac Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Examples: Use Qt6:: to qualify Qt CMake packagesKai Köhne2022-11-175-16/+16
| | | | | | | This is what we promote also in the documentation. Change-Id: If91aebafe861b0c934acbb2c69afd182abc3345d Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* examples: port dbus examples to new connection styleSamuel Gaist2022-09-271-7/+12
| | | | | | Task-number: QTBUG-106893 Change-Id: Ic857f694b836fba30e41ef0a40107917bd05b64c Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-237-7/+7
| | | | | | | 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-037-0/+21
| | | | | | | | | | | | 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>
* Examples: Use signals, slots instead of Q_SIGNALS, Q_SLOTSKai Köhne2022-07-211-2/+2
| | | | | | Pick-to: 6.4 Change-Id: I79a352d1bac11edf2d2b0443d2f1bb202fb4e254 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-1623-1012/+46
| | | | | | | | | | | | | 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>
* Examples: Remove unneeded CMake optionsKai Köhne2022-01-246-16/+0
| | | | | | | | | | | | | | | CMAKE_INCLUDE_CURRENT_DIR is not necessary anymore for moc since CMake 3.8: https://cmake.org/cmake/help/latest/release/3.8.html#other-changes CMAKE_AUTORCC should not be used anymore. Instead, we now use qt_add_resources() or similar Enable CMAKE_AUTOUIC only if .ui files are present. Pick-to: 6.3 Task-number: QTBUG-87643 Change-Id: I835e2994cd5dba9918136999499b9077961b616c Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Examples: Clean up WIN32_EXECUTABLE, MACOSX_BUNDLE propertiesKai Köhne2021-12-171-11/+0
| | | | | | | | | | | | Both are FALSE by default, so no point in explicitly setting them to FALSE. In addition, dbus/listnames is a command line tool. No reason to set WIN32_EXECUTABLE, MACOSX_BUNDLE here. Pick-to: 6.3 Change-Id: I99aaf27a0267c5575bd2ee5b6183991fce721f44 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Examples: Fix whitespace issues in CMakeLists.txtKai Köhne2021-12-134-4/+13
| | | | | | Pick-to: 6.3 Change-Id: I8e6dd1f250f8be6016ee4164cb2ab7034cbb1203 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Examples: Remove remaining conversion markers in CMakeLists.txtKai Köhne2021-12-136-21/+6
| | | | | | Pick-to: 6.3 Change-Id: Ia5d474a3efd6aadbd0ef1537318f2f24e6c24fee Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Prefer unversioned commandsKai Köhne2021-12-133-4/+4
| | | | | | Pick-to: 6.3 Change-Id: Ib32700ab82cf6b271c49e25d12fbad8c9c6bc1d1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Examples: Use find_package(Qt6 REQUIRED COMPONENTS ...) idiomKai Köhne2021-12-106-16/+6
| | | | | | | | | Also consolidate several find_package(Qt6 ...) calls in one call. Task-number: QTBUG-98867 Change-Id: Idfd5e71f46d4489fac7411cbfadb84437a0658f3 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* CMake: Simplify pingpong/complexpingpong examplesKai Köhne2021-12-092-81/+21
| | | | | Change-Id: Iff9bf22c7aebc6a5f61cd7411a99ee2bbb11c12c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Remove .prev_CMakeLists.txtKai Köhne2021-12-063-127/+0
| | | | | | | | These are left-overs from the initial qmake2cmake conversion. Pick-to: 6.2 Change-Id: Ie15c9ff022ea4566d10c1ba74599de9af83d29a7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove .qmake.conf from this repositoryJoerg Bornemann2021-09-202-0/+4
| | | | | | | | | | | | | | | | | | | | | | | This file was necessary for the qmake build and the CI. The qmake build is history, and the CI does now read .cmake.conf (see QTQAINFRA-4392). In addition to being superfluous, the existence of .qmake.conf triggers QTBUG-76140 when building Qt examples with qmake. Removing the file alleviates the symptoms of this bug. "Interestingly", to make the qmake build of examples work in the CI, we have to adjust the dbus examples to not use nmake inference rules. The absence of .qmake.conf results in a different order of inference rules in the Makefile, and nmake/jom pick up generated source files from the source dir. These are incompatible with the correct generated source files in the build dir. See QTBUG-96513 for details. Fixes: QTBUG-92271 Task-number: QTBUG-96513 Change-Id: I4076fae2eeb993956b54aced2c9c844ae2577a4a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Raise cmake_minimum_required to VERSION 3.16 in examplesJoerg Bornemann2021-08-176-8/+8
| | | | | | | Pick-to: 6.2 Task-number: QTBUG-95636 Change-Id: I1270b4846d8a23bc3563b6942c0910e095d2be4a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Build examples in isolated sub-builds using ExternalProjectCraig Scott2021-05-262-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples are intended to show how to build against an installed Qt. Building them as part of the main build means the way the Qt targets are defined and created are not representative of an end user's build. By building them as separate projects using ExternalProject, we can more closely replicate the intended audience's environment. This should allow us to catch more problems earlier. Having examples built as part of the main build also creates problems with some static builds where a tool built by the main build is needed during configure time. This happens with other repos like qtdeclarative but not (currently) with qtbase. Converting the examples in qtbase to be built using ExternalProject is intended as a demonstrator for how other repos can do similar. Until other repos are converted, they will continue to work as they did before, with examples as part of the main build for non-static builds only. The new build-externally behavior is only supported for non-prefix builds with this change. Prefix builds will continue to use the old non-external method. Support for building examples externally in prefix builds will be a separate change. Task-number: QTBUG-90820 Fixes: QTBUG-91068 Change-Id: I2304329940568dbdb7da18d54d5595ea7d8668bc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove QtDBus includesDavid Skoland2021-01-126-31/+39
| | | | | | | | | | | | | | Per the discussion of QTBUG-88831, we determined that module-wide imports are unfortunate, especially for compile times. Following this, all QtDBus includes have been replaced with the headers for the classes actually used in each file. Additionally, some cleanup of header file order and format has been performed in the changed files. Pick-to: 6.0 Change-Id: I62c1b75682a48422f0ba1168dd5d7bd0952808ac Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* CMake: Work around building dbus 'controller' example with qmakeJoerg Bornemann2020-11-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to what has been done in 5138a970f31, we need to adjust the remotecontrolledcar/controller dbus example to be built with qmake. In the CI we first build the examples with CMake in the source directory. That creates some generated source files in the dbus example dir. Then, the examples are (will be) built ouf of source with qmake, and those generated source files will be placed in the build directory. When building with MSVC, there's a peculiarity with nmake/jom's inference rules that lead to picking up the generated car_interface.cpp from the source directory, instead of the build directory. See QTBUG-13496 for details. car_interface.cpp, built with CMake is generated to include car_interface.moc. car_interface.cpp, built with qmake does not have this include, but the build system calls moc on car_interface.h. All this leads to duplication of the meta object for OrgExampleExamplesCarInterfaceInterface, preventing successful linking. Work around this issue by turning off the generation of nmake/jom inference rules. Task-number: QTBUG-85986 Change-Id: I0a6ca9f880b63f05a4e9f2032e44d3b391d8a756 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate examples to set the WIN32_EXECUTABLE propertyAlexandru Croitor2020-10-279-0/+50
| | | | | | | | | As well as the MACOSX_BUNDLE properties as necessary. Task-number: QTBUG-87664 Task-number: QTBUG-86827 Change-Id: I7677449a26d51fa853bd67bab6b3b61afbd2b12f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Regenerate examples to use qt_add_executableAlexandru Croitor2020-10-199-11/+11
| | | | | | Task-number: QTBUG-87661 Change-Id: I0dacfdc97a3fb7d88da85b67800f2c1b084d869b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Another round of replacing 0 with nullptrAllan Sandfeld Jensen2020-10-073-3/+3
| | | | | | | | | This time based on grepping to also include documentation, tests and examples previously missed by the automatic tool. Change-Id: Ied1703f4bcc470fbc275f759ed5b7c588a5c4e9f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Workaround building DBus 'car' example with qmakeAlexandru Croitor2020-08-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While trying to implement instructions for building examples with qmake in the CI, an issue has surfaced. When building examples with CMake with -DBUILD_EXAMPLES=ON in the CI, the examples are built in-source, aka source dir == build dir. This means that the header files generated by qdbusxml2cpp will be placed in the qtbase source dir. The instructions that try to build examples with qmake build the examples in a separate build dir after building the examples with CMake. Unfortunately the qtbase/examples/dbus/remotecontrolledcar/car example includes the generated DBus adaptor header via a statement like #include "car_adaptor.h" and the compiler prefers to pick up the header file from the example source dir (the one generated by CMake), rather than the one generated by qmake in the example build dir. Because CMake's DBus integration uses different flags than qmake's DBus integration, the generated header file code is not compatible with the qmake generated cpp file, and the example fails to link when building with qmake, because it can't find an appropriate constructor symbol. In an ideal world, we wouldn't do in-source builds with the CMake build, but that leads to other issues which I currently don't recall. To circumvent the issue, adapt the CMake DBus qt6_add_dbus_adaptor function to allow not passing the problematic '-l' flag by making it optional. This shouldn't break existing code, but allows us to generate a compatible header that will be used by qmake and succeed in linking the example. Task-number: QTBUG-85986 Change-Id: I06759f79aeb66bb32da7f158f55dd4734c4a9887 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Regenerate examplesAlexandru Croitor2020-07-0910-13/+114
| | | | | | Change-Id: I1c51b10af4e2b26f54740f257164c56a0e2a03ce Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Regenerate examplesAlexandru Croitor2020-02-047-5/+125
| | | | | | Change-Id: I04b2adbe370ffea81d7787ad90e4ae69d2c165cb Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Update public CMake macros' versionLeander Beernaert2019-08-233-4/+4
| | | | | | | Update all public Qt macros to use qt6/QT6 instead of qt5/QT6. Change-Id: Ib178f4fa21f37dfb8da7d4d8c097aa0e96c9d9f9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge remote-tracking branch 'origin/wip/qt6' into wip/cmakeAlexandru Croitor2019-06-146-9/+9
|\ | | | | | | | | | | | | | | | | | | This changes many different CMake places to mention Qt6 instead of Qt5. Note that some old qt5 cmake config files in corelib are probably not needed anymore, but I still renamed and kept them for now. Change-Id: Ie69e81540386a5af153f76c0242e18d48211bec4
* | Fix compiling of examples on AndroidSimon Hausmann2019-06-126-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Simplify add_qt_gui_executable() to not require WIN32/MACOSX_BUNDLE but provide it implicitly. It's redundant :) * When on Android, build a module (shared library), just like qmake. This requires an additional library destination in the install() call, but that's ignored on other platforms. * Fix typos in the android deployment generation settings function * Use the correct cache variable to determine whether we're inside a Qt build or not. Right now this only works inside Qt builds anyway as QtPlatformAndroid.cmake is not publically accessible. Change-Id: If1c763c31a7a83d0e0d854362ba7901657f63eb5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CMake Build Bot
* | Fix linking of examplesSimon Hausmann2019-06-126-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide add_qt_gui_executable() as function in our public API that takes care of automaticWinMain linkage. We can use this in the future to encapsulate similarplatform-specific behavior and adjustments, such as module generation onAndroid. In order for the examples to see the function in Qt5CoreMacros, three more additional fixes were required: * Do the build_repo_end() call _before_ attempting to build the examples, as we need the build_repo_end() to include QtPostProcess and complete the creation of all the target config files. Otherwise the find_package() calls in the examples see something incomplete. * Add more QT_NO_CREATE_TARGET guards * Always call find_dependency on the dependencies, regardless of the target creation mode. This way a find_package(Qt5 COMPONENTS Widgets) will still load Qt5CoreMacros. Change-Id: I03ce856e2f4312a050fe8043b8331cbe8a6c93e6 Reviewed-by: Qt CMake Build Bot Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>