Skip to content

build(cmake): minimal fixes in CMakeLists.txt for transitive restbed headers, i2pcommon, and versioning#298

Open
jolavillette wants to merge 5 commits into
RetroShare:masterfrom
jolavillette:CMakeMigration-Modular
Open

build(cmake): minimal fixes in CMakeLists.txt for transitive restbed headers, i2pcommon, and versioning#298
jolavillette wants to merge 5 commits into
RetroShare:masterfrom
jolavillette:CMakeMigration-Modular

Conversation

@jolavillette
Copy link
Copy Markdown
Contributor

build(cmake): minimal fixes in CMakeLists.txt for transitive restbed headers, i2pcommon, and versioning

This PR stabilizes the CMake configuration of libretroshare to support downstream modular builds (such as retroshare-gui and retroshare-service).

To ensure maximum stability and ease of review, the modifications made to the CMakeLists files are kept strictly minimal and highly targeted:

  • Transitive Headers (1 line change): Promoted the restbed include directory to PUBLIC in CMakeLists.txt so that downstream modules cleanly inherit the HTTP/JSON API headers without duplicate include paths.
  • Link Fixes (2 lines change): Reactivated the compilation of util/i2pcommon.cpp/.h under CMake, resolving undefined reference linking errors in downstream GUI settings panels.
  • Version Display (minimal additions):
    Directed the GUI human-readable version query to run in the parent directory's .git if present, ensuring the GUI gets the correct overall application version instead of submodule tags.
    Added the RS_LIB_VERSION_HASH compile definition on the core target, fixing the [version not available] display bug in the about box.

All changes are non-intrusive and strictly limited to resolving compile/link-time blockers.

@jolavillette jolavillette mentioned this pull request May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant