A simple example vcpkg project that imported pulsar-client-cpp 3.4.2 as the dependency.
Before running the commands below, ensure the vcpkg has been installed. If you have already downloaded the submodule of this project, just run the following commands. If you want to specify an existing vcpkg installation directory (assuming it's VCPKG_ROOT
), add the -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
option to the 1st command.
cmake -B build
cmake --build build
Then the main
executable will be generated under ./build
for single-configuration generators or build/Debug
for multi-configuration generators.
By default, debug libraries are linked so that the executable can be debugged by debuggers. However, when used for production, release libraries should be linked for better performance.
See cmake-generators for the concept of CMake Generator.
With single-configuration generators like Unix Makefiles on Linux and macOS, you need to specify the CMAKE_BUILD_TYPE
.
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
The main
executable will still be generated under the ./build
directory but release libraries are linked now.
With multi-configuration generators like Visual Studio on Windows, you just need to specify the --config
option.
cmake -B build
cmake --build build --config Release
The main
executable that links release libraries will be generated under the ./build/Release
directory.
The default vcpkg triplet is x64-windows
on Windows. If you changed the triplet for static libraries, like x64-windows-static
, you need to add a line before the project(PulsarDemo CXX)
in CMakeLists.txt.
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
See CMAKE_MSVC_RUNTIME_LIBRARY for details.