Skip to content

Docs: how to consume the linux-vcpkg tarball prefix from CMake - #6700

Open
meshinspector-agent[bot] wants to merge 1 commit into
masterfrom
agent/mlib-vcpkg-tarball-prefix
Open

Docs: how to consume the linux-vcpkg tarball prefix from CMake#6700
meshinspector-agent[bot] wants to merge 1 commit into
masterfrom
agent/mlib-vcpkg-tarball-prefix

Conversation

@meshinspector-agent

Copy link
Copy Markdown
Contributor

The guides name the portable Linux vcpkg tarball as the non-Ubuntu Linux path, then stop at "use the resulting directory as the MeshLib installation prefix". That prefix is not on CMake's search path, so find_package(MeshLib CONFIG REQUIRED) still fails at configure time, and an installed consumer cannot load libMeshLibC2.so.

What changed

  • CmakeSetupGuide.dox — new Point CMake at a Prefix That Is Not Installed System-Wide section ({#CmakeNonSystemPrefix}) right after the find_package snippet: -D CMAKE_PREFIX_PATH=<extract dir>, plus the loader path an installed binary needs (CMAKE_INSTALL_RPATH or LD_LIBRARY_PATH).
  • CSetupGuide.dox, CppSetupGuide.dox — the Linux tar -xf step now points at that section instead of leaving the prefix unexplained.

Verification

Docs-only (doxygen/ only), so nothing to compile — instead the documented recipe itself was run end to end on Ubuntu 22, against the released meshlib_v3.1.3.429_linux-vcpkg-x64.tar.xz extracted to a prefix, with a C consumer linking MeshLib::MeshLibC2:

Check Result
cmake -S . -B build (no prefix path) fails — Could not find a package configuration file provided by "MeshLib"
cmake -S . -B build -D CMAKE_PREFIX_PATH=<prefix> configures, builds, links
run from build tree, no LD_LIBRARY_PATH works — CMake writes a build RUNPATH of <prefix>/lib/MeshLib
cmake --install, then run fails — error while loading shared libraries: libMeshLibC2.so (CMake strips the build RPATH on install)
installed, with LD_LIBRARY_PATH=<prefix>/lib/MeshLib works
installed, built with -D CMAKE_INSTALL_RPATH=<prefix>/lib/MeshLib works

So LD_LIBRARY_PATH is not unconditionally required — only past cmake --install — and the new section says exactly that rather than over-prescribing it.

Not verified here: doxygen isn't installed on this runner (no root to add it), so the page was not rendered. The \ref CmakeNonSystemPrefix "…" cross-file references follow the existing working pattern — #### … {#CppSetupWindowsLocalBuild} in CppSetupGuide.dox is already referenced this way from CmakeSetupGuide.dox — and the anchor name is unique in doxygen/. update-docs.yml is the real check.

No runtime or UI surface, so nothing to drive over MCP and no screenshots.

CI

update-doc-only — the diff touches only doxygen/.

The guides named the portable Linux vcpkg tarball as the non-Ubuntu path
but stopped at "use the resulting directory as the prefix", so
find_package(MeshLib CONFIG REQUIRED) still failed at configure time and
an installed consumer could not load libMeshLibC2.so.
@meshinspector-agent meshinspector-agent Bot added the update-doc-only force update dev documentation (without any checks) label Aug 27, 2026
@Fedr
Fedr requested a review from oitel August 27, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

update-doc-only force update dev documentation (without any checks)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants