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"...