cmake_minimum_required(VERSION 3.20) # Enforce Clang set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_COMPILER clang++) project(kappa VERSION 0.1.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Generate compile_commands.json for clangd set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # --- vcpkg integration --- if(DEFINED ENV{VCPKG_ROOT}) set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "vcpkg toolchain") endif() find_package(tomlplusplus CONFIG REQUIRED) add_executable(kappa src/main.cpp src/package.cpp src/paths.cpp src/dsl/lexer.cpp src/dsl/parser.cpp src/dsl/system.cpp src/eval/vars.cpp src/cli/diagnostic.cpp ) target_include_directories(kappa PRIVATE include) target_link_libraries(kappa PRIVATE tomlplusplus::tomlplusplus)