What problem does it solve? Writing correct CMake build configuration is error-prone: legacy variable-based patterns, missing PUBLIC/PRIVATE keywords, and confusing configure errors slow down C/C++ developers. This Skill provides modern target-first CMake guidance with working examples for builds, dependencies, and cross-compilation. ## Core Features & Use Cases - Modern CMake Patterns: Target-based configuration with target_link_libraries, target_include_directories, and generator expressions instead of legacy commands. - Dependency Management: Integrate external packages via find_package, FetchContent, pkg-config, or vendored add_subdirectory with fallback patterns. - Build Configuration: Out-of-source builds, Ninja/Make generators, Debug/Release build types, CMake Presets, sanitizer options, and cross-compilation toolchain files. - Use Case: You need to add GoogleTest to a C++ project. The Skill provides a complete FetchContent setup with gtest_discover_tests, plus a matching CMakePresets.json for debug and release builds. ## Quick Start Ask the assistant to write a CMakeLists.txt for a C++ project with a static library, an executable, and GoogleTest unit tests using FetchContent.