#1170·jsoncpp

Inconsistent package contents dependent on build system

Author: AMDmi3Created May 9, 2020Updated May 15, 2026
Labelsbugbuild

Describe the bug Using different build systems lead to different package contents:

  • Meson
    • no CMake modules are generated
    • both shared and static libraries are possible with --default-library=both
  • CMake:
    • CMake modules are generated
    • only either of shared or static libraries is possible
  • additionally, shared libarary is installed as libjsoncpp.so.1.9.2 with cmake and libjsoncpp.so.22 with meson

This makes it much harder to use jsoncpp, as jsoncpp consumer may not rely on any inconsistent component present. For instance, a project which relies on CMake modules will fail to build on FreeBSD which uses meson to build jsoncpp.

To Reproduce Build, install with cmake and meson, compare produced files

Expected behavior Single build system, or consistent behavior with both build systems. At the very least, a way to build all components which consumers may requiered (cmake modules AND static library AND shared library).

Source: open-source-parsers/jsoncpp