- 在工程根目录的
CMakeLists.txt
文件中添加如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13
| if(CMAKE_HOST_WIN32) set(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") elseif(CMAKE_HOST_APPLE) set(CMAKE_TOOLCHAIN_FILE "/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") elseif(CMAKE_HOST_UNIX) set(CMAKE_TOOLCHAIN_FILE "/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") endif()
|
- 在工程根目录的添加
vcpkg.json
文件,可以参考vcpkg.json,以OpenSSL为例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| { "name": "build", "version": "0.0.1", "description": "build packages", "dependencies": [ "openssl" ], "overrides": [ { "name": "openssl", "version-string": "1.1.1h#5" } ], "builtin-baseline": "9c2fc5d3518bb7f729754b23440695f9c595576a" }
|
使用 features
字段可以添加依赖库的依赖库或者是模块。
- 基线:
若要添加初始 “builtin-baseline”,请使用 vcpkg x-update-baseline –add-initial-baseline。 若要更新清单中的基线,请使用 vcpkg x-update-baseline。
- overrides:
声明替代会强制 vcpkg 忽略所有其他版本约束,并使用替代中指定的版本。 这对于固定确切版本和解决版本冲突非常有用。
在工程根目录的CMakeLists.txt
文件中使用清单模式中的库
跟正常加载库一样,在CMakeLists.txt
文件中使用 find_package
函数:
1 2 3 4 5 6
| find_package(OpenSSL REQUIRED) if(OpenSSL_FOUND) message(STATUS "found OpenSSL") endif()
target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)
|