summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change the default enabled AUTOGEN tools list to contain only mocAlexandru Croitor2019-05-222-36/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch we enabled AUTOMOC, AUTORCC, AUTOUIC for all targets that did not opt out. Aside from being wasteful from a performance point of view, this also caused issues when trying to build qtimageformats which does not depend on Widgets which is the package that exposes uic. To avoid this, enable only AUTOMOC for all targets by default, and UIC and RCC can be opted in via the ENABLE_AUTOGEN_TOOLS option. To facilitate this some refactoring had to be done, like moving some common setup for all autogen tools into a separate call, and making sure that extend_target understands the autogen options, because some ui files are only added conditionally. Also the conversion script has been adapted to output the ENABLE_AUTOGEN_TOOLS option whenever a .pro file contains at least one FORMS += foo assignment. Note that we don't really use AUTORCC while building Qt, so nothing opts into that at the moment. Task-number: QTBUG-75875 Change-Id: I889c4980e9fb1b74ba361abed4044737f8842ea4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Move some configure arguments from qt5 configuration fileJędrzej Nowacki2019-05-221-1/+1
| | | | | | | | | These arguments are specific to the build and changes to them are _not_ affecting configuration. Change-Id: I8c46a0dbea8978f13e78c5cb8f41987f4fde09c8 Reviewed-by: Qt CMake Build Bot Reviewed-by: Liang Qi <liang.qi@qt.io>
* Reset main_module_tool_deps in QtPostProcessAlexandru Croitor2019-05-221-0/+1
| | | | | | | | | | | The variable was not reset when interating through all the Qt targets, which resulted in QtTest wronlgy depending on QtWidgetTools. Task-number: QTBUG-75875 Change-Id: I24da495fa53e9163992a1ed53f5cd7e1c6da5e51 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Adjust timeouts in module_config.yamlJędrzej Nowacki2019-05-221-2/+4
| | | | | | | | | Signing package may take more then 10s while calling echo really should take less then 60s ;-) Change-Id: I1798981492d1467bb8b20099ea705b08ea9b0914 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Cleanup module_config.yamlJędrzej Nowacki2019-05-221-2/+2
| | | | | | | The number of CPUs is set implicitly by MAKEFLAGS and NIJAFLAGS. Change-Id: Ie9296f9a7872253c696536d7b3d6235c7881d42b Reviewed-by: Liang Qi <liang.qi@qt.io>
* Allow building the tests directory as a standalone CMake projectAlexandru Croitor2019-05-226-35/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, Coin builds tests as a separate qmake invocation against an installed Qt. We need to support the same with CMake. Change the tests subdirectory to be a standalone CMake project when CMake does not detect an existing QtTest target while processing the subdirectory. If the target exists, it means we are building the whole repo, if the target does not exist, we need to call find_package to find the installed Qt. Refactor and move around a few things to make standalone tests build successfully: - add a new macro to set up paths to find QtSetup - add a new macro to find all macOS frameworks - add a new macro to set up building tests - add a new macro that actually builds the tests - export the INSTALL_CMAKE_NAMESPACE value into the BuildInternals Config file - export the CMAKE_BUILD_TYPE value, because a test project doesn't have a .git subdir and thus defaults to be built in Release mode, even though qtbase might have been built in Debug, so to avoid the mixing, the propagate the build type - stop overriding INSTALL_CMAKE_NAMESPACE and QT_CMAKE_EXPORT_NAMESPACE inside QtSetup if they are set, because the tests project doesn't specify a major version, and if we override the values, the moc / uic targets don't get the correct major version prefix and configuration fails Change-Id: Ibdb03687302567fe325a15f6d1cb922c76240675 Fixes: QTBUG-75090 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Build and use double-conversion library shipped by Qt when neededAlexandru Croitor2019-05-224-7/+40
| | | | | | | | | | | | | | | | Some Linux distros might not have a double-conversion library. Because it is such an essential library for QtCore, compile and use the the copy of the library bundled with Qt. Also change library name to be a proper target with double colons, so that in case the library is not found for some reason, the CMake configure step would fail, instead of failing at link time. Task-number: QTBUG-74133 Change-Id: I9f3b4298ae6e952891a7a89541d46878176bf1ce Fixes: QTBUG-75891 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add a few more 3rd party libraries to helper.pyAlexandru Croitor2019-05-211-0/+3
| | | | | | | | Handle a few more libraries that are used in qtimageformats repi. Change-Id: Ia3b9a845bc6cb8ce98a477b9355011bbadc32c1a Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Avoid accidental clash with .qrc files that are checked inSimon Hausmann2019-05-211-1/+1
| | | | | | | | Add a prefix for generated .qrc files so for in-source builds we don't end up overwriting htem. Change-Id: I8eef582479eb45d67585f6aab87b288393bbadb5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Simplify top-level CMakeLists.txt for modulesSimon Hausmann2019-05-211-0/+20
| | | | | | | | | | Implement some aspects of qt_parts.prf to simplify the top-level CMakeLists.txt for repositories that follow the common qt structure (src, tools, tests, examples). Change-Id: Ia35f4e9207e92c1cf0406353561b0cc52dcb0e59 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Automatically install repo specific cmake find modulesAlexandru Croitor2019-05-201-0/+15
| | | | | | | | | | | | | | Some qt modules need to find 3rd party packages for which there are no Config files. We need to write custom CMake Find modules to find those packages. These find modules need to be installed so that they are used when a user consumes the Qt packages. Automatically include and install these find modules if they exist, as part of qt_build_repo_end(). Change-Id: I14aad35ed2999cac8bdda65ca4aeaf74d04fdb71 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix the fix to correctly handle comments in multi-line assignmentsAlexandru Croitor2019-05-203-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous fix where the Grammar comment style was changed to remove the newlines was incorrect, because if you have foo=1#comment bar=2 after the Grammar comment ignoring, it would transform into foo=1bar=2 which will clearly fail to parse, so the new line has to stay. But we would still have the following case which would fail: foo=a \ # comment b Apparently qmake things that's the equivalent of foo=a b but the grammar parses it as foo=a \ \n (newline) b Thus the parsing fails because there's a newline and then some weird 'b' token which the grammar does not expect. The best fix I found is to preprocess the source, to remove completely commented out lines. So: foo=a \ # comment b gets transformed into foo=a \ b Change-Id: I2487a0dbf94a6ad4d917d0a0ce05247341e9b7da Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Improve configure2cmake to find_package only in certain conditionsAlexandru Croitor2019-05-204-27/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make much sense to look for X11 related packages on macOS and Windows by default. Usually they would not be there, and as a result the configuration step would show a long list of scary not found packages, and also eat precious configure time. Change the conversion script to allow putting conditions around generated find_package calls. These conditions can be manually set in the conversion script library mapping, using the emit_if argument, which we do for the X11 and Wayland related packages. They are also computed by checking which features use a given library, and if the feature is protected by a simple emitIf condition like config.linux, the relevant library find_package call will be protected by the same condition. If a developer still wishes to look for all packages, they can define the CACHE variable QT_FIND_ALL_PACKAGES_ALWAYS to ON. The relevant configure.cmake files are regenerated in this patch. Change-Id: I6f918a94f50257ec41d6216305dae9774933389a Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate corelibAlexandru Croitor2019-05-202-14/+981
| | | | | | | And add the first version of the .prev file. Change-Id: I5d8f2354f86bc279e185e31173df4aeeb6e46116 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix typo in module_config.yamlJędrzej Nowacki2019-05-201-1/+1
| | | | | | | The command executed is jom not nmake. Change-Id: Ieae487a3b50884d901ca2a431f3c3ea615a80e8b Reviewed-by: Liang Qi <liang.qi@qt.io>
* Regenerate sqlAlexandru Croitor2019-05-201-9/+12
| | | | | Change-Id: I495678a5c77557ae297b7dd028f1253ebcce9ef7 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate printsupportAlexandru Croitor2019-05-201-6/+8
| | | | | | | No .prev file cause it's a clean conversion. Change-Id: I33e02dccb9c8da336891c36cd0e1454d29152065 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate platformheadersAlexandru Croitor2019-05-201-0/+2
| | | | | | | And add the first version of the .prev file. Change-Id: I87d33dd175ddcbccd202f068f469f260944e4ada Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate concurrentAlexandru Croitor2019-05-201-1/+1
| | | | | Change-Id: Iccb993e7e38dc04be2e3960d0f49ddf241c675e7 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate dbusAlexandru Croitor2019-05-201-0/+73
| | | | | | | And add the first version of the .prev file. Change-Id: I8375591a8cfc087291774370b8308c808dd5f0b4 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate openglAlexandru Croitor2019-05-202-1/+66
| | | | | | | And add the first version of the .prev file. Change-Id: I96f27bce6d1c3107fb8c7b3758b29cfd944cf374 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate networkAlexandru Croitor2019-05-202-1/+425
| | | | | | | And add the first version of the .prev file. Change-Id: I9d298e483032081a02a63b4f887f4d682ea7ccd4 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate widgetsAlexandru Croitor2019-05-202-19/+813
| | | | | | | And add the first version of the .prev file. Change-Id: I901c413997dcc497da5e45b1675726180c84e709 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Regenerate guiAlexandru Croitor2019-05-202-1/+528
| | | | | | | And add the first version of the .prev file. Change-Id: Ie5fba879b8fdb670d4331d4df524ffb5bad3303e Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Handle the new cmdline config feature in pro2cmakeAlexandru Croitor2019-05-201-1/+2
| | | | | | | | cmdline implies console, so use that also to determine if a binary should get a GUI flag. Change-Id: I084e0a45785df96a7dc2c101af5305fbb39efbc3 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Workaround fix in pro2cmake Operation __init__ methodAlexandru Croitor2019-05-201-2/+5
| | | | | | | | | | There are still call sites that call Operation.__init__ with a string instead of a list. Restore the handling of such a case. Amends 5fe8a38af34d1530f14c3b695dee5a33e4a85554 Change-Id: I2a4d5c5cb5b460bf02b6da02d42d8cc8d5eb4192 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Don't exclude QtCore from dependencies when generating modulesAlexandru Croitor2019-05-201-2/+2
| | | | | | | | | | | | | and plugins. src/network/network.pro for instance depends on core-private, but because we ignore adding QtCore as a public dependency, the exported Config file for Network doesn't depend on QtCore anymore, so if a user only links against Network, they won't automatically link against Core. Change-Id: I4a60ffae7e071927360b8ccf6b1b7479ab391060 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Fix parsing qmake assignments that have comments in betweenAlexandru Croitor2019-05-173-1/+14
| | | | | | | | | | | | | | | | For some reason the python comment regex that we used does not ignore the line break at the end of a comment line. This caused issues when parsing multi line assignments with comments in between. Use our own regex for comments to circumvent the issue. It was found while trying to port the qtimageformats repo. Added a pytest as well. Change-Id: Ie4bbdac2d1e1c133bc787a995224d0bbd8238204 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: Fix test_scope_handlingTobias Hunger2019-05-171-31/+31
| | | | | | | Adapt to updated APIs in pro2cmake.py Change-Id: I39898b675e27d6295ef6cfa049c82b245d71188a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix test_operationsTobias Hunger2019-05-173-18/+22
| | | | | | | Fix test_operations and do some small mypy cleanups along the way Change-Id: I6586b5d3491e5dcf44252c098516f0922fa60420 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Propagate QT_CMAKE_EXPORT_NAMESPACE via QtCore packageAlexandru Croitor2019-05-172-0/+14
| | | | | | | | | | | | | | | | QT_CMAKE_EXPORT_NAMESPACE is used by the Qt packages to make features available to the consuming CMake project. The value was moved to the BuildInternals Config file, but that's wrong because consuming applications not including the BuildInternals component would fail to use any other Qt package. Move QT_CMAKE_EXPORT_NAMESPACE to be propagated with QtCore package again. Amends 9542e78525b422159406d8fa63e30dcd0f926411. Change-Id: I9841ac8c2828b00c0111d59e8976c889554e0ce1 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Copy feature properties from GlobalConfig to Core targetAlexandru Croitor2019-05-171-0/+25
| | | | | | | | | | | | | | | Current lates CMake has a limitation that it does not allow exporting custom properties from INTERFACE libraries. GlobalConfig is such a library, which means that so far all the global features were not actually exported. Copy the feature property values from GlobalConfig to Core. Because Core is an actual shared library, it keeps the custom properties when exported, and thus Core feature properties will contain the sum of Core and GlobalConfig feature values. Change-Id: Idde305cbaf9ab85ecfbe29522dcbac1c44022b17 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Teach configure to run either qmake or cmakeVille Voutilainen2019-05-161-26/+141
| | | | | | Task-number: QTBUG-74139 Change-Id: I609ec4b3ef9f30455bd72aaebad0b6c766c39cd7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Stop trying to create config forwarding headers for NO_MODULE targetsAlexandru Croitor2019-05-162-10/+14
| | | | | | | | | | | | | | | | | | | The GlobalConfig target is not an actual module, so there's no point in trying to create forwarding headers for GlobalConfig's qconfig.h within qt_feature_module_end. qconfig.h's forwarding header will be created implicitly while processing QtCore target's SYNCQT.INJECTIONS value, which is read from the headers.pri file generated by syncqt. This also fixes trying to create forwarding headers when processing the sqldrivers project. Amends 02a015375a639a4d27d19bbf435f20b725696768. Change-Id: Ifd70d8c3ebf881ffdcf90db8d5d3b23309bc8fed Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Save and set the CMAKE_INSTALL_PREFIX in BuildInternal's Config fileAlexandru Croitor2019-05-152-2/+8
| | | | | | | | | | | | | | Once qtbase is built and installed, save the CMAKE_INSTALL_PREFIX that was used during the build, and set it when a consumer calls find_package(Qt5BuildInternals). This fixes a bug where syncqt can not be found when building qtsvg, while the developer specifies CMAKE_PREFIX_PATH to find the Qt packages, but does not set the CMAKE_INSTALL_PREFIX. Task-number: QTBUG-75544 Change-Id: I03fd23ba418af5115105610f3f9ed92664562945 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Use the qt_build_repo() macros for building qtbase as wellAlexandru Croitor2019-05-157-60/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | To implement this, create a new Qt5BuildInternals package. All child Qt modules like qtsvg should use find_package(Qt5BuildInternals) or find_package(Qt5 COMPONENTS BuildInternals) in the their top level CMakeLists.txt. This will make the qt_build_repo() macros available. For qtbase we slightly cheat, and specify a CMAKE_PREFIX_PATH pointing to the source folder that contains the BuildInternals package. For the other modules we actually use a configured and installed package Config file. This change moves variables that used to be written into the QtCore Config file into the BuildInternals package. This way things that are relevant only for building additional Qt modules does not pollute the QtCore package. Task-number: QTBUG-75580 Change-Id: I5479adff2f7903c9c2862d28c05c7f485ce3e4eb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Encapsulate commands for building other repos into two macrosAlexandru Croitor2019-05-153-5/+36
| | | | | | | | | | | | | | | | | | | Currently to build qtsvg we have some copy-pasted code to set up the paths for QtSetup and QtPostProcess to be found. To make it cleaner, introduce two new macros called qt_build_repo_begin and qt_build_repo_end(). The first one should be called in a child repo like qtsvg, right after a find_package(Qt5) call, and the second one at the end of the repo top-level CMakeLists.txt file. In order for the macros to work, extract some of the variables which were set in Qt5Config into Qt5CoreConfig instead. This makes sure that it works also for find_package(Qt5Core) calls. Task-number: QTBUG-75580 Change-Id: I85267c6bd86f9291ec2e170fddab1006ab684b5c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Implement developer / non-prefix buildsAlexandru Croitor2019-05-158-170/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A non-prefix build is a build where you don't have to run make install. To do a non-prefix build, pass -DFEATURE_developer_build=ON when invoking CMake on qtbase. Note that this of course also enables developer build features (private tests, etc). When doing a non-prefix build, the CMAKE_INSTALL_PREFIX cache variable will point to the qtbase build directory. Tests can be run without installing Qt (QPA plugins are picked up from the build dir). This patch stops installation of any files by forcing the make "install" target be a no-op. When invoking cmake on the qtsvg module (or any other module), the CMAKE_INSTALL_PREFIX variable should be set to the qtbase build directory. The developer-build feature is propagated via the QtCore Config file, so that when building other modules, you don't have to specify it on the command line again. As a result of the change, all libraries, plugins, tools, include dirs, CMake Config files, CMake Targets files, Macro files, etc, will be placed in the qtbase build directory, mimicking the file layout of an installed Qt file layout. Only examples and tests are kept in the separate module build directories, which is equivalent to how qmake does it. The following global variables contain paths for the appropriate prefix or non prefix builds: QT_BUILD_DIR, QT_INSTALL_DIR, QT_CONFIG_BUILD_DIR, QT_CONFIG_INSTALL_DIR. These should be used by developers when deciding where files should be placed. All usages of install() are replaced by qt_install(), which has some additional logic on how to handle associationg of CMake targets to export names. When installing files, some consideration should be taken if qt_copy_or_install() needs to be used instead of qt_install(), which takes care of copying files from the source dir to the build dir when doing non-prefix builds. Tested with qtbase and qtsvg, developer builds, non-developer builds and static developer builds on Windows, Linux and macOS. Task-number: QTBUG-75581 Change-Id: I0ed27fb6467662dd24fb23aee6b95dd2c9c4061f Reviewed-by: Kevin Funk <kevin.funk@kdab.com> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* cmake: Correct way to save/restore env varsAlbert Astals Cid2019-05-101-6/+27
| | | | | | | for pkgconfig it is different if they are not defined vs an empty string Change-Id: Ifb05db5dab32a699aafa32d91f9719eab78dee44 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Wrap DBus1 find_package call to fix xproto not being picked upTobias Hunger2019-05-103-2/+12
| | | | | | | | | | | | | | DBus1 (1.12) configuration file breaks PKG_CONFIG environment variables and will thus prevent other libraries to be picked up by pkgconfig. Main sympthom is that xproto is not getting picked up anymore, which results in hundreds of lines of warnings about this being printed. Work around that by wrapping the call to find_package(DBus1) and restoring the environment. Change-Id: Ia69f10b014dddc32045b40972500a843e5d29b38 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Move build and test instructions from coin to qtbaseLiang Qi2019-05-101-0/+56
| | | | | | | | | | | | That way we can update instructions without waiting for Coin update. The patch contains invalid test instructions, but as cmake port is not yet able to run tests it should not matter. Change-Id: I86088aefec49ded60af00243b0b8c60c8f16147a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* CMake: pro2cmake.py: Add target_link_libraries to examplesTobias Hunger2019-05-091-0/+4
| | | | | Change-Id: Ic7054f0c88e228496b7f4855bffa5620ed717f9b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Generate find_package information into examplesTobias Hunger2019-05-092-10/+46
| | | | | Change-Id: I6dab13ebea4386019f14be5f29a143d194268aac Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Keep "special case" modifications when regenerating project filesAlexandru Croitor2019-05-092-4/+394
| | | | | | | | | | | | | | | | | | | | | | | | | The pro2cmake.py file is now smarter, and can reapply "special case" modifications after regenerating a CMakeLists.txt file. This substantially lowers the maintenance burden when regenerating many files at once. See the special_case_helper.py file for details on how it works. Make sure to commit the generated .prev_CMakeLists.txt file alongside your CMakeLists.txt changes. To disable the preservation behavior, you can pass -s or --skip-special-case-preservation to the script. To keep around temporary files that are created during this process, you can pass -k or --keep-temporary-files. To get more debug output, pass --debug-special-case-preservation. Fixes: QTBUG-75619 Change-Id: I6d8ba52ac5feb5020f31d47841203104c2a061d8 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* CMake: scripts: Extract code to write find_package linesTobias Hunger2019-05-092-25/+42
| | | | | | | | Extract code to write find_package lines from configurejson2cmake.py and move this over into helper.py. Change-Id: Iefd313b2a56cb78a99a7f3151c3f6c6284482f79 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Separate library extraction logic from writing out dataTobias Hunger2019-05-092-68/+70
| | | | | | | | | | | | | | Separate the logic to find all used libraries from the code that writes out the link_library information into the CMakeLists(.gen)?.txt files. This patch will remove some "PUBLIC_LIBRARIES Qt::Core" from generated files. This is due to us handling some Qt libraries in special ways in some of our add_qt_* helpers. These special libraries were added to the LIBRARIES section, but actually they should be added to the PUBLIC_LIBRARIES section instead. Do so now, so that the newly generated files do not break things again. Change-Id: I588781087a8aecc4d879e949735671d8085f0698 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Extract writing lists into cmake filesTobias Hunger2019-05-091-61/+47
| | | | | | | | | | Extract the actual functionality to write a list of "things" below headers and/or cmake parameter and followed by a footer. Reuse this functionality everywhere we write a list of things. Change-Id: Ia7647be465b4788a2b1e6a5dbede1ca868f24ae2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: scripts: Fix mypy issuesTobias Hunger2019-05-092-14/+16
| | | | | Change-Id: I706740be79eccd6bf08213fdaf747dde08cd053a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: pro2cmake.py: Add basic support for examplesTobias Hunger2019-05-091-39/+118
| | | | | | | | | | | | | | Examples need to be built stand-alone and as part of Qt, so they need a special CMakeLists.txt file that supports both use-cases. Add an --is-example switch to pro2cmake to make it generate these special CMakeLists.txt files. This is basic support only and is currently still missing the necessary find_package calls. Change-Id: Ie770287350fb8a41e872cb0ea607923caa33073d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix up after WrapFreetype introductionTobias Hunger2019-05-081-1/+1
| | | | | Change-Id: I05ca6f8b055f470101ff0dcd1720a349a87e4ba9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>