December 18, 2019 by Cristian Adam | Comments
Qt Creator is a cross platform, highly modular, Qt C++ application.
GitHub Actions is a CI/CD infrastructure provided by GitHub which would give access to all three platforms!
GitHub is also hosting a few Qt Creator plugin repositories, so I decided to try to build the Doxygen plugin (my fork with the GitHub Actions script).
GitHub Actions currently offers the following virtual machines (runners):
Qt SDK is not part of the software installed on the runners. This is not a problem since we want to build with the same Qt version that Qt Creator itself was build.
One can build a platform at a time, or multiple in parallel (matrix mode)
Since GitHub is providing the virtual machines and the C++ compilers one just has to obtain Qt and Qt Creator SDKs and then just "compile".
In order to download files, to extract them, and to start compilation I decided to use a scripting language that is installed on all three of them: CMake (in scripting mode via -P command line argument).
I downloaded the Qt SDK and Qt Creator Binaries, Sources, SDK from download.qt.io.
In order to configure the plugin, one just needs to run
qmake doxygen.pro CONFIG+=release QTC_SOURCE="$ENV{GITHUB_WORKSPACE}/qtcreator" QTC_BUILD="$ENV{GITHUB_WORKSPACE}/qtcreator"
Building is as easy as running make -j <number-of-cores> or jom.
At the end we will have a shared library (.dll, .so, .dynlib), which will be distributed to the users.
On git push the plugin will be built and the artifacts stored on every build. This looks like this:
If we tag a commit with git tag -a v0.4.7-qtc-4.11 -m "Release v0.4.7-qtc-4.11" and then git push origin v0.4.7-qtc-4.11 will trigger the creation of a release, and the upload of artifacts to that release. This looks like:
The newly created release looks like:
GitHub Actions has some differences in platforms and compilers when it comes to how Qt and Qt Creator are built:
As it turns out Qt Creator was able to load the plugin on all three platforms!
All of this was possible with a Yaml file that needs to be copied into qtcreator-doxygen/.github/workflows/build_qmake.yml
The source is below:
Feel free to copy and hack the script in order to release your own Qt Creator plugins! 😊
Download the latest release here: www.qt.io/download.
Qt 6.9 is now available, with new features and improvements for application developers and device creators.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
May 19, 2025
NOTE! This is the very last Qt 5.15 release. Qt 5.15 Long-term Support..
May 14, 2025
We are happy to announce the release of Qt Creator 16.0.2! We fixed QML..
May 9, 2025
We are happy to announce the release of Qt Creator 17 Beta! You find some..