multivnc
multivnc copied to clipboard
Build all dependencies from source
dependencies
- challenge: get deps for all supported architectures (mainly/only a MacOS issue)
- no ready-made universal libs from any package manager
- solution: build from source
- challenge then: how to organise dependencies
- we have the following (ideal full) dependency tree for desktop as of 2024-10-03
- libvncclient
- libz (mostly preinstalled in OS SDK)
- libjpeg-turbo (we already have that as a submodule for the Android version)
- libssl (we already have libreSSL as a submodule for the Android version)
- libsasl-cyrus
- wxwidgets
- has core deps vendored in as submodules
- libwxservdisc
- wxwidgets
- libvncclient
- https://cmake.org/cmake/help/latest/guide/using-dependencies/index.html
- https://stackoverflow.com/questions/76146612/how-can-i-compose-separate-gitcmake-projects-together-for-ease-of-building-whil
prebuilt from brew.sh :no_entry:
- ok with fixup_bundle, but only x86?
- can one install arm64 brew packages as well? -> well, not really https://stackoverflow.com/questions/70821136/can-i-install-arm64-libraries-on-x86-64-with-homebrew
Downloading And Building From Source With FetchContent
- This module enables populating content at configure time via any method supported by the ExternalProject module. Whereas ExternalProject_Add() downloads at build time, the FetchContent module makes content available immediately, allowing the configure step to use the content in commands like add_subdirectory(), include() or file() operations.
- what about the other submodules?
Pulling in Sub-Deps
- no, manual
Giving Build Args
CI-Caching
Conan
- Separate package manager, integrates with CMake
Pulling in Sub-Deps
- yes
Giving Build Args
CI-Caching
Vendoring via submodules
- Already doing this
Pulling in Sub-Deps
- no, manual