windows fix
Some checks failed
demo.yaml / windows fix (push) Failing after 0s

This commit is contained in:
Jorijn van der Graaf 2026-03-02 21:38:48 +01:00
commit 73883b5807

View file

@ -121,21 +121,31 @@ namespace Crafter {
} }
void BuildMsvcStdPcm(const Project& project, const Configuration& config) { void BuildMsvcStdPcm(const Project& project, const Configuration& config) {
std::cout << "0" << std::endl;
fs::path exeDir = GetPath(); fs::path exeDir = GetPath();
fs::create_directories(exeDir/config.target); fs::create_directories(exeDir/config.target);
std::cout << "1" << std::endl;
const char* libcxx = std::getenv("LIBCXX_DIR"); const char* libcxx = std::getenv("LIBCXX_DIR");
if (!libcxx) { if (!libcxx) {
std::cout << "LIBCXX_DIR environment variable not set" << std::endl; std::cout << "LIBCXX_DIR environment variable not set" << std::endl;
throw std::runtime_error("LIBCXX_DIR environment variable not set"); throw std::runtime_error("LIBCXX_DIR environment variable not set");
} }
std::cout << "2" << std::endl;
std::string stdPcm = std::format("{}\\{}\\std.pcm", exeDir.string(), config.target); std::string stdPcm = std::format("{}\\{}\\std.pcm", exeDir.string(), config.target);
std::cout << "3" << std::endl;
std::string stdcppm = std::format("{}\\modules\\c++\v1\\std.cppm", libcxx); std::string stdcppm = std::format("{}\\modules\\c++\v1\\std.cppm", libcxx);
std::cout << "4" << std::endl;
if(!fs::exists(stdPcm) || fs::last_write_time(stdPcm) < fs::last_write_time(stdcppm)) { if(!fs::exists(stdPcm) || fs::last_write_time(stdPcm) < fs::last_write_time(stdcppm)) {
std::cout << "5" << std::endl;
std::string result = RunCommand(std::format("clang++ --target={} -march=native -mtune=native -isystem %LIBCXX_DIR%\\include\\c++\\v1 -nostdinc++ -nostdlib++ -std=c++26 -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile %LIBCXX_DIR%\\modules\\c++\v1\\std.cppm -o {}", config.target, stdPcm)); std::string result = RunCommand(std::format("clang++ --target={} -march=native -mtune=native -isystem %LIBCXX_DIR%\\include\\c++\\v1 -nostdinc++ -nostdlib++ -std=c++26 -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile %LIBCXX_DIR%\\modules\\c++\v1\\std.cppm -o {}", config.target, stdPcm));
std::cout << "6" << std::endl;
if(result != "") { if(result != "") {
std::cout << result << std::endl;
throw std::runtime_error(result); throw std::runtime_error(result);
} }
} }