Skip to content
Snippets Groups Projects

GeoModelVisualization CMake Cleanup, master branch (2020.11.16.)

This is a big update triggered by !22 (closed)... I tried to bring the configuration of the GeoModelVisualization/ sub-directory/project in line with that of the GeoModelCore/ and other well-behaved sub-projects.

In order to simplify the logic in these files a bit, I first of all introduced a bunch of ALIAS libraries in the "base projects", to be able to refer to them like GeoModelCore::GeoModelKernel, even when everything is being built as a single big project.

After that I updated the Setup<Foo>.cmake files of the "main project" to have include guards in them. This way GeoModelVisualization/CMakeLists.txt could simply include SetupJSON.cmake, and avoid re-implementing the same logic for handling the nlohman_json external under all possible situations.

I also greatly simplified how .ui and .rcc files would be handled by the build. Just relying on CMake to handle them automatically as much as possible.

There are still a couple of things missing, hence the WIP label. But I wanted to allow @rbianchi and @nkoehler to try out this configuration even before it would be fully ready. As there are only so many platforms that I can test this myself on.

P.S. I also updated GeoModelIO/GeoModelDBManager/src/GMDBManager.cpp. Since I noticed in my build that GCC complains about that code. For a good reason. One is not supposed to call delete on the sqlite3 pointer. That's an "opaque" type that should only be created/handled/deleted using the sqlite3_<foo>(...) functions. So sqlite3_close(...) is enough to remove the underlying object from memory.

Edited by Attila Krasznahorkay

Merge request reports

Pipeline #2111846 passed with warnings

Pipeline passed with warnings for 565a2dba on akraszna:CMakeCleanup-master-20201116

Approval is optional
Ready to merge by members who can write to the target branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading