cmake_minimum_required(VERSION 4.2) # Enable C++23 Modules + (optional) `import std;` with experimental std module. set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444") project(app LANGUAGES C CXX) set(CMAKE_CXX_SCAN_FOR_MODULES ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_MODULE_STD 1) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Toolchain-specific flags (libc++/runtime/linker/etc) should come from your Conan toolchain/profile. # Example: entrypoint built from main.cc; modules live in .cppm files. add_executable(app main.cc) # If you use C++ Modules, list module interface units explicitly and keep this in sync: # # target_sources(app # PRIVATE # FILE_SET cxx_modules TYPE CXX_MODULES FILES # modules/app.cppm # )