vcpkg:是否在安装软件包后调用显示的CMake指令?

时间:2019-11-22 00:12:10

标签: 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)

...有关与CMake一起使用所需的各种说明。如果您想在将来回忆起这些信息并且没有将其写下来,您将从何处获得此信息?某些库中的说明比上述更多。

1 个答案:

答案 0 :(得分:3)

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

您可以在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

但是,某些软件包(包括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

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