CMake Port/Development Notes: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
[[Category:CMake Port]] | [[Category:CMake Port]] | ||
== 2019 == | == 2019 == | ||
==== 25. April 2019 ==== | |||
- First merge in a while was done from qt5/dev into wip/cmake and as a result regenerated important CMakeLists.txt files. | |||
- Fixed Windows build after qt5/dev -> wip/cmake merge and file regeneration | |||
- Improved the exporting Tools CMake Targets patch | |||
- Implemented 3rd party library dependency propagation when exporting module config files (packages like ZLIB or double-conversion) | |||
- Implemented dependency propagation for a static build of Qt (targets like tinycbor, qtharfbuzz, simd targets, qtcore_qobject) | |||
- A static build of qtbase now almost works | |||
- Fixed more path handling issues in the pro2cmake convertor script, | |||
- Fixed dependency relationships between Main and Private modules | |||
- Implemented proper generation for _nolink libraries (think Vulkan and OpenSSL) | |||
- CMake build succeeded with Coin custom instructions (yaml files) patch, will make it easier to tweak CMake build instructions, not merged yet | |||
- More work on the configure script, it can now build with both qmake or cmake, but no command line feature mapping yet | |||
==== 11. April 2019 ==== | ==== 11. April 2019 ==== |
Revision as of 14:19, 26 April 2019
2019
25. April 2019
- First merge in a while was done from qt5/dev into wip/cmake and as a result regenerated important CMakeLists.txt files. - Fixed Windows build after qt5/dev -> wip/cmake merge and file regeneration - Improved the exporting Tools CMake Targets patch - Implemented 3rd party library dependency propagation when exporting module config files (packages like ZLIB or double-conversion) - Implemented dependency propagation for a static build of Qt (targets like tinycbor, qtharfbuzz, simd targets, qtcore_qobject) - A static build of qtbase now almost works - Fixed more path handling issues in the pro2cmake convertor script, - Fixed dependency relationships between Main and Private modules - Implemented proper generation for _nolink libraries (think Vulkan and OpenSSL) - CMake build succeeded with Coin custom instructions (yaml files) patch, will make it easier to tweak CMake build instructions, not merged yet - More work on the configure script, it can now build with both qmake or cmake, but no command line feature mapping yet
11. April 2019
- qtbase can now be built on Windows 10 in a private Coin instance, - Research ongoing on building qtsvg against an installed qtbase, some issues already discovered - Research into cross compiling to iOS by leveraging latest CMake 3.14 iOS support (which is still rudimentary) - Investigated Conan, hunter and vcpkg in regards to providing 3rd party packages for iOS - Ongoing work on providing packages and targets for module tools (CoreTools -> moc, rcc, WidgetTools -> uic, etc) which can then be used during cross building - Fixed pro2cmake generation script to handle .pri includes and files better (fewer things that are not found), - Added support to the generation script for qmake style no_link libraries (openssl, vulkan), - Continuing work on merging qt5 dev branch to wip/cmake - Worked on infrastructure in Coin to allow building projects both with qmake and cmake (or anything else really), a prototype is available but still needs some work - Continuing work on the configure script, and the mapping between configure features and cmake features - Discussion ongoing on how to handle building and running tests in Coin
04. April 2019
- Work done on using a yocto generated sysroot to cross-build qtbase to an embedded device (some qtbase patches pending review, some patches still need to be upstreamed to the meta-b2qt repo) - Regenerated many CMakeLists.txt files with the pro2cmake script - WIP fixing the conversion script to handle .pri inclusion paths better - WIP fixing the Windows provisioning to build the Qt CMake port on Windows - Tested building of qtbase on macOS and Linux on a private instance of Coin (succeeds) - WIP fixing the conversion script to deal with qmake's "SUBDIRS -=" functionality, which is not supported natively by CMake - Progress on changing the qtbase configure script to use CMake to build Qt (rudimentary support, no feature mapping yet) - Various small fixes to omissions in regenerated CMakeLists.txt files
21. March 2019
- Improved pro2cmake script to regenerate Core, Network, Gui, Widgets modules, to have smaller diffs in anticipation of a dev -> wip/cmake merge - Fixed windows build (qpa plugin, various small conditions and other tiny things) - Fixed automoc and autorcc not to hang due to incorrect target dependencies (upstream patch) - Fixed certain incorrect target dependencies - Improved pro2cmake script to parse which files need to be processed by rcc, instead of using rcc for that - Worked on provisioning of latest CMake binaries on macOS and Linux - Worked on getting private instances of Coin to build the CMake port on macOS and Linux - Initial work on getting the configure script to invoke CMake instead of qmake for building qtbase