open-source-parsers / open-source-parsers/jsoncpp
Inconsistent package contents dependent on build system
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 8.9k
- Forks
- 2.7k
- Avg merge
- 31m
- Merged PRs (30d)
- 1
Description
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.2with cmake andlibjsoncpp.so.22with 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).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Build and install jsoncpp with both CMake and Meson, then compare the produced files, including CMake modules and shared or static libraries. Review how each build system selects and names installed components. Done means consumers can rely on consistent package contents, or a documented build path produces all required components.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100