Learn all about CMake's new CUDA support and how best to combine it with "modern" CMake usage requirements. CMake is an open-source, cross-platform meta build generator. This year CMake was updated to fully support CUDA as a first-class language on all major platforms. This enables projects to fully leverage "modern" target-based features inside projects that require CUDA compilation. We'll iteratively develop the CMake logic for a sample project using modern CMake with a focus on CUDA. We'll cover transitive usage requirements, how to request language standard levels, mix language libraries, CUDA separable compilation, and generating export configuration files. We expect people to already have some familiarity with the CMake language.