Common superbuild impact

There seems to be interest in exploring the affect of the recent common superbuild update on modelbuilder packages. I took an action item to evaluate this as a trivial step, but either I didn’t understand the task (most likely) or it is not trivial.

  1. My understanding of the task is to build our current cmb-superbuild:master using the “previous” common-superbuild (before it was bumped on Jan 7).

  2. Trying it on my own, I first needed to comment out the _superbuilder_check-up_to_date() function that is in the common superbuild.

  3. After doing that, there is one cmake error that the sqlite project is missing. I can try cherry picking the common-superbuild, but I am not going to pull on that thread without some concurrence this is a good use of time.

So if anyone is interested in seeing me continue this effort, please confirm whether or not this is the right plan and/or suggest how to move ahead.

I hit the missing sqlite error in a customer’s build. You should be able to resolve it by adding Sql to the sub-package list in the find_package(Qt5 call.

Aron I don’t seem to have permission to access that repo. Can you clandestinely send me a patch file?

Like this:

- find_package(Qt5 REQUIRED COMPONENTS Core Gui Svg Widgets)
+ find_package(Qt5 REQUIRED COMPONENTS Core Gui Svg Sql Widgets)

Thanks, but this is something different, Aron, In my case, cmake is looking for sqlite as a superbuild project.

OK, that’s weird. I discovered that vtk has a name-mangled copy of sqlite in its third-party dependencies,

and that QT5 wants sqlite, but will use an internal copy if one is not available, I believe. I did not see a use of sqlite in the superbuild.

I bet it’s a linux thing, because we build python there. And perhaps there was some change in building py3.8 vs 3.7?

The common-superbuild has a “menu” of projects that it knows how to build. Each superbuild itself picks from this “menu” and brings its own recipes too (this is the projects/ directory). This selection is made in superbuild_find_projects at the top-level. The projects variable contains a list of projects that are “known” in the superbuild. So the fix is to add sqlite to this list (because it is a known “menu item”, that’s all that’s needed).