282423d7684c381108d5fc5e42a6b3a7324fffb0
The library's version reached the build through project(), and reached the library itself through a separate literal in version.cpp. The two had to be kept equal by hand; the tests caught drift but the number was written in both places. CMakeLists.txt now reads DPM_CORE_VERSION_STR out of the source and passes it to project(), so the soname, the artifact filenames, the generated PDF's name, and the value the library reports all derive from one line. Configuration fails outright if that declaration is missing. SOVERSION follows PROJECT_VERSION_MAJOR rather than a hardcoded 1.
Description
Languages
C++
79.2%
C
13%
CMake
7.8%