Repository navigation
Conversation
… of bundling it RenderCore, the WebGL engine of the REve client, was a 110 KB tarball in builtins/rendercore/, replaced by hand at every release. It is now fetched by ExternalProject like JSROOT and openui5, from the CERN copy under lcgpackages first and from the GitHub release of UL-FRI-LGM/RenderCore second, checked against its SHA256. A RenderCore update in ROOT is then the version and the hash in builtins/rendercore/CMakeLists.txt, and a build without a network takes the tarball from ROOT_DOWNLOAD_DIR, as for every builtin. - Removed RenderCore-2.3.tar.gz; the version is 2.3.2. - Added the connection check before the builtin, as for openui5: the REve client has no web fallback for its engine, so without a connection the webgui configuration stops with an error. Assisted-by: Claude:Fable 5.1
Test Results 22 files 22 suites 3d 14h 6m 54s ⏱️ For more details on these failures, see this check. Results for commit 93bcea5. |
linev
left a comment
There was a problem hiding this comment.
We need to introduce builtins_rendercore option - same as builtins_jsoot.
So one can clearly can enable/disable it.
If option will be disabled when webgui and root7 on - one issue error and propose either disable root7 or enable builtins_rendercore
…ault RenderCore is downloaded at build time since the previous commit, and ROOT puts every such download behind a builtin_* option. REve has no web location of RenderCore to fall back to, which is why the option defaults to ON, unlike builtin_jsroot and builtin_openui5. - Added builtin_rendercore to the build options and to the builtin_all set. - Moved the RenderCore block of SearchInstalledSoftware.cmake under its own condition, webgui AND root7, the two options REve needs. With the option ON it runs the connection check and adds the builtin; with the option OFF it stops the configuration with an error naming the two ways out, enabling the option or disabling root7. - Set builtin_rendercore=ON in the CI build configuration, which lists every option. - Described the option in the 6.44 release notes. Assisted-by: Claude:Fable 5.1
|
Added the option It defaults to ON, unlike With the option OFF while both are on, the configuration stops with "REve needs RenderCore: enable builtin_rendercore or disable root7". The CI global config got A web fallback like JSROOT's would need RenderCore hosted at root.cern and the eve7 client's import redirected there; that is not in this PR. One thing I noticed on the way: the HOTFIX_BUILD_FLAGS report at SearchInstalledSoftware.cmake:311 runs before the jsroot, mathjax and openui5 blocks, so the flags they append are never printed. |
|
Looking at all this ... shouldn't we also put a switch on eve7? Something like this + all the logick of on-off-if-else-error: forced OFF when webgui, root7 or geom is off, as qt6web and cefweb are without webgui. graf3d/eve7 and the RenderCore block then hang off eve7, builtin_rendercore stays as it is, and the advice becomes "disable eve7" instead of "disable root7". If you agree, I add it to the PR, squashing the commits (or not). |
This Pull request:
Changes or fixes:
RenderCore, the WebGL engine of the REve client, is fetched at build time instead of
being bundled as a tarball in
builtins/rendercore/, the way JSROOT and openui5 are.ExternalProjectdownloadsRenderCore-<version>.tar.gzfromlcgpackagesfirst andfrom the GitHub release of UL-FRI-LGM/RenderCore second, and checks its SHA256. The
version is 2.3.2. A RenderCore update is then two lines, the version and the hash.
ROOT_DOWNLOAD_DIR, as for everybuiltin.
fallback for its engine, so without a connection the webgui configuration stops with an
error.
The lcgpackages copy of
RenderCore-2.3.2.tar.gzdoes not exist yet, so the GitHub URLserves for now, as openui5 began. The builtins' tarballs there are uploaded by the ROOT
team (openui5 moved in 507d282); please advise how RenderCore's gets there, now and at
each release.
Can be backported to 6.42. If it is, the REve fixes for 6.42 that follow need no RenderCore
change; if it is not, they bring 2.3.2 as the tarball in the tree.
Checklist:
Tested standalone with the builtin's
CMakeLists.txtin a small project: the downloadfalls through from lcgpackages to the GitHub release, the hash matches and 41 files land in
ui5/eve7/rcore; with the tarball placed inROOT_DOWNLOAD_DIRnothing is downloaded.