[M4] cargoxx build invokes nix+cmake
This commit is contained in:
@@ -59,6 +59,13 @@ auto link_block(std::string_view target_name, std::string_view visibility,
|
||||
auto emit_header(const manifest::Manifest& m) -> std::string {
|
||||
return std::format(
|
||||
"cmake_minimum_required(VERSION 3.30)\n"
|
||||
"\n"
|
||||
"# Opt into experimental C++ modules dyndep + `import std;` support.\n"
|
||||
"# Required until CMake declares these stable.\n"
|
||||
"set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)\n"
|
||||
"set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD \"d0edc3af-4c50-42ea-a356-e2862fe7a444\")\n"
|
||||
"set(CMAKE_CXX_MODULE_STD ON)\n"
|
||||
"\n"
|
||||
"project({} LANGUAGES CXX)\n"
|
||||
"\n"
|
||||
"# Generated by cargoxx — do not edit.\n"
|
||||
@@ -67,7 +74,8 @@ auto emit_header(const manifest::Manifest& m) -> std::string {
|
||||
"# ----- toolchain configuration -----\n"
|
||||
"set(CMAKE_CXX_STANDARD {})\n"
|
||||
"set(CMAKE_CXX_STANDARD_REQUIRED ON)\n"
|
||||
"set(CMAKE_CXX_EXTENSIONS OFF)\n"
|
||||
"# EXTENSIONS=ON for libc++ std-module compatibility (clang 21).\n"
|
||||
"set(CMAKE_CXX_EXTENSIONS ON)\n"
|
||||
"set(CMAKE_CXX_SCAN_FOR_MODULES ON)\n"
|
||||
"set(CMAKE_EXPORT_COMPILE_COMMANDS ON)\n",
|
||||
m.package.name, edition_to_int(m.package.edition));
|
||||
|
||||
Reference in New Issue
Block a user