Skip to content

dqm_algorithms CMake Cleanup, master branch (2020.07.10.)

I noticed dqm_algorithms as a surprising entry in my build time spreadsheets, and had a closer look. Since I really didn't like its CMake configuration, I decided to clean it up a bit.

First off, the package builds 3 shared libraries. dqm_algorithms, dqm_tools and dqm_summaries. The source file layout in the package is a little weird, but I decided that the original intention of the writer must have been to make dqm_tools depend on only externals, and then dqm_algorithms and dqm_summaries to depend on dqm_tools. (Beside the same externals.) So I re-shuffled the sources between the libraries like that, and updated the link relationships between them to behave this way.

The package also builds 2 dictionaries, separately for symbols defined in dqm_tools and dqm_algorithms. I simplified the build setup of these to have only these library dependencies.

Finally, and I was quite surprised about this, neither of the executables of the package directly use any of the above mentioned 3 libraries directly. They only use them at runtime. So I simplified the build setup of the executables as well.

I also removed the setup of the aliases for the executables, as I could not find any reference to the ".exe names" in the repository. @ponyisi, do you guys ever refer to these executables as dqm_print_algorithms.exe or dqm_print_summarymakers.exe? You would have seen a warning about doing that since some time, so I guess not. But let me know if I made a mistake with this.

Unfortunately all this update does not make the build of the package faster in any noticeable way. (The package takes long to build because it has a lot of source files.) But at least it makes it a bit more "parallel"...

Merge request reports