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

This commit is contained in:
Jorijn van der Graaf 2026-03-01 17:41:34 +01:00
commit d465442f8d
3 changed files with 8 additions and 8 deletions

View file

@ -152,13 +152,13 @@ namespace Crafter {
if(!fs::exists(stdPcm) || fs::last_write_time(stdPcm) < fs::last_write_time(sourceFilePath)) { if(!fs::exists(stdPcm) || fs::last_write_time(stdPcm) < fs::last_write_time(sourceFilePath)) {
fs::copy(sourceFilePath, stdcppm, fs::copy_options::overwrite_existing); fs::copy(sourceFilePath, stdcppm, fs::copy_options::overwrite_existing);
std::string result = RunCommand(std::format("cd {}\\{} && \"{} clang-cl.exe /EHsc /MD /std:c++latest --target=x86_64-pc-windows-msvc -Wno-include-angled-in-module-purview -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile std.cppm -o std.pcm", exeDir.string(), config.target, vsVars, stdPcm)); std::string result = RunCommand(std::format("cd {}\\{} && \"{} && clang-cl.exe /EHsc /MD /std:c++latest --target=x86_64-pc-windows-msvc -Wno-include-angled-in-module-purview -Wno-reserved-identifier -Wno-reserved-module-identifier --precompile std.cppm -o std.pcm", exeDir.string(), config.target, vsVars, stdPcm));
if(result != "") { if(result != "") {
std::cout << result << std::endl; std::cout << result << std::endl;
throw std::runtime_error(result); throw std::runtime_error(result);
} }
result = RunCommand(std::format("cd {}\\{} && {} cl.exe /std:c++latest /EHsc /nologo /W4 /MD /c \"{}\"", exeDir.string(), config.target, vsVars, sourceFilePath)); result = RunCommand(std::format("cd {}\\{} && {} && cl.exe /std:c++latest /EHsc /nologo /W4 /MD /c \"{}\"", exeDir.string(), config.target, vsVars, sourceFilePath));
std::cout << std::format("cd {}\\{} && {} cl.exe /std:c++latest /EHsc /nologo /W4 /MD /c \"{}\"", exeDir.string(), config.target, vsVars, sourceFilePath) << std::endl; std::cout << std::format("cd {}\\{} && {} && cl.exe /std:c++latest /EHsc /nologo /W4 /MD /c \"{}\"", exeDir.string(), config.target, vsVars, sourceFilePath) << std::endl;
std::cout << result << std::endl; std::cout << result << std::endl;
std::cout << "hello?" << std::endl; std::cout << "hello?" << std::endl;
} }

View file

@ -75,8 +75,8 @@ namespace Crafter {
std::cout << "before auto" << std::endl; std::cout << "before auto" << std::endl;
AutoDetect(); AutoDetect();
std::cout << "auto" << std::endl; std::cout << "auto" << std::endl;
std::cout << std::format("{} clang-cl.exe -print-target-triple", vsVars) << std::endl; std::cout << std::format("{} && clang-cl.exe -print-target-triple", vsVars) << std::endl;
target = RunCommand(std::format("{} clang-cl.exe -print-target-triple", vsVars)); target = RunCommand(std::format("{} && clang-cl.exe -print-target-triple", vsVars));
std::cout << target << std::endl; std::cout << target << std::endl;
#endif #endif
target.pop_back(); target.pop_back();

View file

@ -250,7 +250,7 @@ namespace Crafter {
std::string command = std::format("clang++ --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, (exeDir/config.target).string()); std::string command = std::format("clang++ --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, (exeDir/config.target).string());
#endif #endif
#if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32) #if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32)
std::string command = std::format("{} clang-cl.exe /EHsc --target={} -march={} -mtune={} /std:{} /D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", vsVars, config.target, config.march, config.march, config.standard, editedTarget, (exeDir/config.target).string()); std::string command = std::format("{} && clang-cl.exe /EHsc --target={} -march={} -mtune={} /std:{} /D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", vsVars, config.target, config.march, config.march, config.standard, editedTarget, (exeDir/config.target).string());
#endif #endif
if(config.target == "wasm32-wasi") { if(config.target == "wasm32-wasi") {
@ -470,7 +470,7 @@ namespace Crafter {
libPath += std::format(" /LIBPATH:{}", lib); libPath += std::format(" /LIBPATH:{}", lib);
} }
buildResult.errors = RunCommand(std::format("{} link.exe {} {} {}\\{}\\std.o msvcrt.lib kernel32.lib user32.lib /OUT:{}.exe", vsVars, libPath, files, exeDir.string(), config.target, (binDir/outputName).string())); buildResult.errors = RunCommand(std::format("{} && link.exe {} {} {}\\{}\\std.o msvcrt.lib kernel32.lib user32.lib /OUT:{}.exe", vsVars, libPath, files, exeDir.string(), config.target, (binDir/outputName).string()));
#endif #endif
} else if(config.type == CRAFTER_CONFIGURATION_TYPE_LIBRARY) { } else if(config.type == CRAFTER_CONFIGURATION_TYPE_LIBRARY) {
#ifdef CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_linux_gnu #ifdef CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_linux_gnu
@ -478,7 +478,7 @@ namespace Crafter {
#endif #endif
#if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32) #if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32)
RunCommandIgnore(std::format("{} lib.exe {} /OUT:{}.lib", vsVars, files, (binDir/fs::path(outputName)).string())); RunCommandIgnore(std::format("{} && lib.exe {} /OUT:{}.lib", vsVars, files, (binDir/fs::path(outputName)).string()));
#endif #endif
} else { } else {
#ifdef CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_linux_gnu #ifdef CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_linux_gnu