Native build graph
CMakeLists.txt
This CMake file is small but important. It pins CMake 3.20, sets a C++20 toolchain, creates the `cuda-doctor-core` executable, and reveals which native files are actually part of the build today.
Reference
project(cuda_doctor LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
add_executable(cuda-doctor-core ...)
target_include_directories(cuda-doctor-core PRIVATE include)What it builds
CMakeLists.txt only compiles the currently implemented native surface: `main`, `check`, `doctor`, and the core helpers for configuration, process execution, platform detection, driver probing, CUDA probing, GPU probing, and repo manifest scanning.
Important caveat
Empty placeholders such as `src/commands/build.cpp`, `src/commands/setup.cpp`, and `src/commands/validate.cpp` are not wired into the build here. That is a quick way to see which commands are conceptual versus live.
Search terms
- CMake build graph
- native executable
- compiled command surface
- C++20 toolchain
Related files
Native entrypoint
src/main.cpp
Owns native argument validation, text and JSON rendering, exit codes, and the interactive handoff from `doctor` to `doctor auto`.
Command implementation
src/commands/check.cpp
Runs the platform, driver, CUDA, and GPU probes and summarizes them into a report.
Command implementation
src/commands/doctor.cpp
Extends `check` with repo scanning, optional auto-configuration, auto-fix behavior, and next-step generation.