vcpkg:回忆安装包后显示的 CMake 说明?

Pau*_*ulR 5 c++ cmake vcpkg

使用 vcpkg 安装软件包后,将显示帮助文本,例如...

The package fmt:x64-windows provides CMake targets:

    find_package(fmt CONFIG REQUIRED)
    target_link_libraries(main PRIVATE fmt::fmt fmt::fmt-header-only)
Run Code Online (Sandbox Code Playgroud)

...用于将它们与 CMake 一起使用所需的不同说明。如果您将来想回忆它而没有写下来,您从哪里获得这些信息?一些图书馆有比上述更多的指令。

bor*_*vka 5

您可以在名为“用法”的文件中找到帮助文本。

您可以在ports目录中找到它们,或者如果您只对您的包感兴趣,那么它们在installed. 您可以使用以下命令搜索它们:

# VCPKG_ROOT denotes where is vcpkg installed
$ find $VCPKG_ROOT . -name usage
installed/x64-linux/share/openssl/usage
installed/x64-linux/share/gtest/usage
Run Code Online (Sandbox Code Playgroud)

然而,一些包,包括fmt,并没有在特定文件中提供此信息,它们仅提供目标。它们存储在$VCPKG_ROOT/installed/<YOUR_ARCHITECTURE>/share/fmt/fmt-targets.cmake.

vcpkg然后在安装后打印目标列表。我不知道是否存在更好的解决方案,然后查找<package>-targets.cmake文件并检查内容。

$ find $VCPKG_ROOT/installed -name *-targets.cmake 
installed/x64-linux/share/cxxopts/cxxopts-targets.cmake
installed/x64-linux/share/fmt/fmt-targets.cmake
Run Code Online (Sandbox Code Playgroud)

因此,如果将这两种技术结合起来,您应该能够找到vcpkg安装后正在打印的所有信息。