This repository is a small CMake project with vcpkg integration.
The vcpkg.json
file includes GoogleTest dependency.
If you have VCPKG_ROOT
environment variable, cmake will try to load vcpkg from it.
mkdir build && cd build
cmake ..
If you have certain toolchain, cmake will combine it with vcpkg toolchain using vcpkg's chainloading capability.
cmake will find vcpkg from VCPKG_ROOT
environment variable.
mkdir build && cd build
cmake -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=<...> ..
toolchain/clang-latest.cmake
is a sample toolchain file trying to use latest installed version of clang.
You can try it.
configure-clang-vcpkg.sh
is a helper script that uses aforementioned toolchain file and load vcpkg.
Try it with
./configure-clang-vcpkg.sh
If you're using ninja
, a generator supporting multi-config generation,
configure-clang-vcpkg.sh
will automatically selects Ninja Multi-Config
as generator. Under such circumtance, cmake will produde several different
build files in binary directory with a default Debug
target.
You can use cd build && cmake --build . --config Release
or
cd build && ninja -f build-Release.ninja
to build Release target.
Replacing Release
with other types such as RelWithDebInfo
and MinSizeRel
also works.