| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: Iaa985d43206d365b7e9138925801fc0dbccbde2e
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
| |
Moved the name construction to a dedicated function so that it can be
reused in `call_cmake_in_qt_build_dir`
Change-Id: Iace4130e79cd08f622e762e2861948db5f2bd972
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After all repos are configured and built, do another round of
reconfigure.
This can catch issues in the find_package of plugins. E.g. when running
the builds for qtbase -> qtdeclarative -> qtmultimedia, during the
first pass qtdeclarative is reconfigured without any plugins present,
but in the second pass additional plugins will be added in the
`find_package` chain.
Change-Id: I298492463e38e57f250ee22f1e8c7f880ce9940a
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
| |
This is enabled by default and replaces the hard-coded qtdeclarative
dependencies.
Change-Id: I58dbf4f801aeacf73a0f38a5cbdb856418bddae4
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
| |
When using local sources, the sync step is replaced with setting up
symlinks to the current source folders.
Change-Id: I16500c130b35b962e9d0398498e0c83d71bdc149
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
| |
Also `configure_qt` did not have `CMAKE_GENERATOR` defined in the args.
Change-Id: I84a2aed1b992d8169d92fe727094708d8bd447b0
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
| |
Allow to define variables used in `ConfigureBuildQt` at configure time.
The preference is local var -> environment var -> cache var -> default.
Change-Id: Ib4bc4f31b3764a6c734e24562d18418560c3a8a8
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Coin CI only tests 'prefix' builds of Qt, because that's what we use
for packaging.
But many developers configure and build Qt in various ways which are
not covered by tests.
Introduce a new suite of RunCMake tests that configure and build Qt
in all the different permutations that we know people use.
This includes various combinations of:
- prefix vs no-prefix
- out-of-source vs in-source
- per-repo vs top-level
- building tests and examples in-tree vs out-of-tree
- building examples as in-tree vs external projects
- building more than one repo
The aim is to run all or some subset of these tests in a nightly Coin
CI run.
It can also be a useful way to test "risky" unmerged changes in an
automated way, instead of manually doing the various builds.
The current default set of repos that are built are:
qtbase, qtshadertools and qtdeclarative.
The submodules that are built can be controlled by setting various
cmake or env vars when configuring or running the test:
- QT_CI_BUILD_QT_SYNC_MODULE - the main repo that should be checked
out. Its dependencies will also be checked out, based on its
dependencies.yaml info.
- QT_CI_BUILD_QT_PIN_GIT_REF - the git sha1 or ref of the main repo
that should be checked out
- QT_CI_BUILD_QT_SKIP_SUBMODULES - a list of submodules that should be
skipped, can be useful to skip optional dependencies
- QT_CI_BUILD_QT_EXTRA_CHECKOUT_CHANGES - a list of gerrit commit
sha1s or refs for each submodule to be checked out to specifically.
- QT_CI_BUILD_QT_EXTRA_CHERRYPICK_CHANGES - a list of gerrit commit
sha1s or refs to be cherry-picked on top of whatever commits the
submodules were synced to.
- QT_CI_BUILD_QT_FILTER - a list of filters to include or exclude
test cases to run.
Sample usage:
mkdir build && cd build
cmake ~/qt5/tests/manual/RunCMake
# Run regular tests
ctest -V -R RunCMake.ConfigureBuildQt
# Skip some optional submodules of qtdeclarative
export QT_CI_BUILD_QT_SYNC_MODULE=qtdeclarative
export QT_CI_BUILD_QT_SKIP_SUBMODULES='qtimageformats,qtlanguageserver"
ctest -V -R RunCMake.ConfigureBuildQt
# Cherry-pick extra changes on top of the synced commits
# repos are split by '|', commits by ','
export QT_CI_BUILD_QT_EXTRA_CHERRYPICK_CHANGES='qtbase aaabbbccc|qtshadertools a12,b23,b45,refs/changes/57/628457/2'
ctest -V -R RunCMake.ConfigureBuildQt
# Checkout specific commits for each submodule
export QT_CI_BUILD_QT_EXTRA_CHECKOUT_CHANGES='qtbase refs/changes/54/634554/5|qtshadertools 3bb8a41c44fa69c30f6887685ad70ef7e84c10a6'
ctest -V -R RunCMake.ConfigureBuildQt
# Only run top-level no-prefix, but not in-source source builds
export QT_CI_BUILD_QT_FILTER='top_level,no_prefix,-per_repo,-in_source'
ctest -V -R RunCMake.ConfigureBuildQt
Change-Id: I355084081dd7b48cdf75c03eb001b64ab7ba96fb
Reviewed-by: Alexey Edelev <[email protected]>
Reviewed-by: Cristian Le <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Coin CI doesn't provide git info for the qt5.git repo, but only a
source archive. The InitRepository test needs the git info to work
correctly.
When we detect that the test is run in the CI, instead of using the
source archive, clone the qt5.git repo from code.qt.io instead. Then
fetch and checkout the exact tested ref.
Change-Id: I892545c083288a8d32d3f8957bfc64984d52f5fc
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
The previous stdout regular expressions were expect the build dir to
be in the source dir. Relax that constraint, so any build dir can be
used.
Keep the generated 'tmp' part as the indicator for the build dir.
Change-Id: Ib8c2bf31f80926b9209948a5c70859e086ed71a1
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
RunCMake uses SEND_ERROR instead of FATAL_ERROR in run_cmake(),
which means that the script will continue to run even if a command
fails.
This change adds a check.cmake file and modifies run_suite_command to
ensure that we exit early if a command fails.
Change-Id: I8175ddc91144e3d0dea131857138af7940626208
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
The test has bit-rotted a bit since the last manual run.
Adapt the modified litehtml submodule URL.
Add the additional git config command to the output.
Change-Id: I240274a0772d6024401e8d08f6c150d4f12ac8cb
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adjust the path to where expect to find the QtRunCMakeTestHelpers
module in qtbase.
Replace the usage of 'QtIRRunCMake' with 'RunCMake' in the root test
CMakeLists.txt.
Pass the current source dir as an extra module path to the RunCMake
test, so it can find the Common module without relying on relative
paths, so that any build dir works.
Remove the unnecessary forwarding of CMAKE_SYSTEM_NAME.
Amends e552513c9f4d5cf3ab31be4a6bf72462a965b6e1
Change-Id: If804bcb36a0bd3df6e4617e56c146094793138c4
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
| |
These test helpers are moved to qtbase submodule.
Change-Id: If8aa31fe1d9a93f2667249abd90ae9b8cb81d07a
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
The new test uses the recently introduced upstream cmake test
infrastructure module, to ensure the execution log output is identical
between the old perl script and new the cmake script for a few basic
use cases. It is not an exhaustive test of all features. It should
work on Windows, macOS, Linux (assuming perl is installed).
There are also a few tests that only apply to the cmake-script
version for features that exist only in the latter (like the 'existing'
module-subset key).
The test is a 'manual' test instead of an 'auto' test because we don't
really want to clone so many submodules as part of every qt5.git
integration in Coin.
In the future, we could potentially add a nightly Jenkins job to run
the tests.
Task-number: QTBUG-120030
Change-Id: I4201d734c2877109102518b073dec24bb63edc24
Reviewed-by: Tor Arne Vestbø <[email protected]>
Reviewed-by: Joerg Bornemann <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|