Skip to content

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

Open
jolavillette wants to merge 9 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 9 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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant