CMake & vcpkg

Build with CMake targets, manage dependencies with vcpkg, and test with CTest.

Intermediate
Key PointsThink in targets (add_library/target_link_libraries), not in file lists and flags.
CMake
cmake_minimum_required(VERSION 3.20)
project(wiki CXX)
set(CMAKE_CXX_STANDARD 20)

add_executable(app src/main.cpp)
target_link_libraries(app PRIVATE fmt::fmt)
enable_testing()
add_subdirectory(tests)
Bash
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
cmake --build build
ctest --test-dir build

Friends & Partners