Commit Graph

13 Commits

Author SHA1 Message Date
jolavillette
f3e5f8541d refactor(cmake): rename "monorepo" -> super-project terminology
The root build is a modular super-project: libretroshare, retroshare-gui,
retroshare-service, retroshare-friendserver and plugins are each a standalone
CMake project that the top-level CMakeLists.txt only aggregates (and they live
in separate git repos pulled as submodules). Rename project(retroshare-monorepo)
-> project(retroshare-superproject) and reword the CI header comments. Purely
cosmetic: the old name was referenced nowhere.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:41:45 +02:00
jolavillette
d1785479c8 build(cmake): address 2nd review round (deps, naming, per-target hacks)
Reply to G10h4ck's second review pass on the CMake migration PR.

- FeedReader: revert the waitForToken interface->helper rename. libretroshare
  defines WIN32_LEAN_AND_MEAN PUBLIC, inherited by the plugin on Windows, so
  <windows.h> no longer pulls in the "interface" macro; the rename is unneeded.
- retroshare-gui: name the GUI executable "retroshare-gui" on all platforms
  (RUNTIME_OUTPUT_NAME); clarify that the TARGET define is the single-instance
  socket name, not the executable name.
- retroshare-gui: gate -Wno-deprecated(-declarations) behind a new
  RS_WARN_DEPRECATED option, mirroring libretroshare.
- retroshare-gui: document direct deps (sam3, X11/XScreenSaver idle detection,
  _FILE_OFFSET_BITS) and the librnp-transitive deps (botan, json-c, z, bz2).
- root: move the global Windows UNICODE/_UNICODE definition and the GCC>=15
  error downgrade out of the global scope into per-target settings (bitdht,
  and the legacy C submodules), applied after the subdirectories are added.
- root: document why the sam3 target is defined once at the top level.
- deploy-macos.sh / deploy-windows.sh: keep them (deployment is a first-class
  step), document why the macdeployqt/windeployqt glue is needed, and update
  the bundle/executable names for the rename (retroshare-gui).
- Stop tracking the convenience Makefile and build_retroshare.sh (CMake builds
  everything itself); they remain available locally as untracked files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 18:14:18 +02:00
jolavillette
90c04aa2f1 build: default to Release build type 2026-06-02 21:32:36 +02:00
jolavillette
d93f07fea6 Fix Windows build: force shared library compilation for libretroshare and remove linker workarounds 2026-06-02 14:42:40 +02:00
jolavillette
7b643c7805 fix(windows): resolve sam3 socket errors and plugin linking multiple definitions 2026-06-01 19:04:42 +02:00
jolavillette
e6d8909b0a fix(build): restore global C++17 and macOS plugin linker flags 2026-06-01 18:48:04 +02:00
jolavillette
72cb4eabd2 fix(build): globally enable I2P SAMv3 support by default and link GUI to sam3 2026-06-01 12:58:11 +02:00
jolavillette
68fe4256c6 fix(build): enforce global C++17 and enable macOS dynamic lookup for plugins 2026-06-01 09:55:58 +02:00
jolavillette
324111e991 build: remove unsafe allow-multiple-definition hack 2026-05-22 12:07:56 +02:00
jolavillette
6ce1588354 build: enable dynamic exports and allow multiple definitions on Windows 2026-05-22 04:41:04 +02:00
jolavillette
a969528119 build(cmake): fix Windows compilation by defining global Unicode mapping and GCC 15 compatibility flags in root CMakeLists.txt 2026-05-20 17:29:26 +02:00
jolavillette
d8f1267124 build(cmake): integrate FeedReader and VOIP plugins as optional targets 2026-05-20 09:58:22 +02:00
jolavillette
a6c9695168 Optimize monorepo unified build paths and Botan package lookups 2026-05-19 07:57:53 +02:00