Docs: how to consume the linux-vcpkg tarball prefix from CMake - #6700
Open
meshinspector-agent[bot] wants to merge 1 commit into
Open
Docs: how to consume the linux-vcpkg tarball prefix from CMake#6700meshinspector-agent[bot] wants to merge 1 commit into
meshinspector-agent[bot] wants to merge 1 commit into
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 loadlibMeshLibC2.so.What changed
CmakeSetupGuide.dox— new Point CMake at a Prefix That Is Not Installed System-Wide section ({#CmakeNonSystemPrefix}) right after thefind_packagesnippet:-D CMAKE_PREFIX_PATH=<extract dir>, plus the loader path an installed binary needs (CMAKE_INSTALL_RPATHorLD_LIBRARY_PATH).CSetupGuide.dox,CppSetupGuide.dox— the Linuxtar -xfstep 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 releasedmeshlib_v3.1.3.429_linux-vcpkg-x64.tar.xzextracted to a prefix, with a C consumer linkingMeshLib::MeshLibC2:cmake -S . -B build(no prefix path)Could not find a package configuration file provided by "MeshLib"cmake -S . -B build -D CMAKE_PREFIX_PATH=<prefix>LD_LIBRARY_PATH<prefix>/lib/MeshLibcmake --install, then runerror while loading shared libraries: libMeshLibC2.so(CMake strips the build RPATH on install)LD_LIBRARY_PATH=<prefix>/lib/MeshLib-D CMAKE_INSTALL_RPATH=<prefix>/lib/MeshLibSo
LD_LIBRARY_PATHis not unconditionally required — only pastcmake --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}inCppSetupGuide.doxis already referenced this way fromCmakeSetupGuide.dox— and the anchor name is unique indoxygen/.update-docs.ymlis the real check.No runtime or UI surface, so nothing to drive over MCP and no screenshots.
CI
update-doc-only— the diff touches onlydoxygen/.