Refactor CMakeLists.txt files - #361
Conversation
- improve version detection with GetGitRevisionDecription module - move dependency management implementation details to the superproject - divorces creating the library target and adding sources - use source/header file sets - move all json api generator stuff to the src/jsonapi subdirectory - use configure_file to configure the jsonapi doxygen file - use install components intead of the RS_LIBRETROSHARE_STANDALONE_INSTALL cache variable - fixes the install destination paths (they should be relative to the install prefix--not absolute)
|
I built this pair locally on Linux, Qt5 and Qt6, after applying three fixes. Commenting here for both PRs, with the two root-repo blockers noted in RetroShare/RetroShare#3288. Worth saying up front: no CI run on either PR has reached the compile step. All of them fail at submodule initialisation, so none of those logs contains compiler output. Blockers1. 2. This duplicate listing predates your PR — it's on master too, harmless there because 3. Windows and Android can't configure at all. Same code path: Other findings
Testing caveatLinux desktop only so far, Qt5 and Qt6, which is a static build. The current build also works on Windows, macOS and Android, so that's the bar this pair needs to clear. Blocker 3 is Windows and Android only and I haven't triggered it — Android has no CI at all, so it would surface only when someone runs I have fixes for blockers 1 and 2 on a branch and can open a PR against |
As it stands, this requires a pretty recent version of CMake because I use the SOURCES file set type. I can work on supporting older versions of CMake, but for now I'd like some feedback on what I have.
This PR should be paired with RetroShare/RetroShare#3288 .