windows exception handler
Some checks failed
demo.yaml / windows exception handler (push) Failing after 0s
Some checks failed
demo.yaml / windows exception handler (push) Failing after 0s
This commit is contained in:
parent
898e3f8a16
commit
7a64859d24
18 changed files with 38 additions and 18 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter.Build
|
Crafter.Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
@ -17,11 +17,31 @@ License along with this library; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32)
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
import Crafter.Build;
|
import Crafter.Build;
|
||||||
import std;
|
import std;
|
||||||
using namespace Crafter;
|
using namespace Crafter;
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
|
#if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32)
|
||||||
|
void terminateHandler() {
|
||||||
|
try {
|
||||||
|
if (auto e = std::current_exception()) {
|
||||||
|
std::rethrow_exception(e);
|
||||||
|
}
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
MessageBoxA(nullptr, e.what(), "Unhandled Exception", MB_ICONERROR | MB_OK);
|
||||||
|
}
|
||||||
|
std::abort();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
|
#if defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_pc_windows_msvc) || defined(CRAFTER_BUILD_CONFIGURATION_TARGET_x86_64_w64_mingw32)
|
||||||
|
std::set_terminate(terminateHandler);
|
||||||
|
#endif
|
||||||
if(std::string(argv[1]) == "--help" || std::string(argv[1]) == "help" ) {
|
if(std::string(argv[1]) == "--help" || std::string(argv[1]) == "help" ) {
|
||||||
std::println("Crafter.Build - A modern build system for C++ projects\n");
|
std::println("Crafter.Build - A modern build system for C++ projects\n");
|
||||||
std::println("Usage: crafter-build [command] [options]");
|
std::println("Usage: crafter-build [command] [options]");
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Crafter® Build
|
Crafter® Build
|
||||||
Copyright (C) 2025 Catcrafts®
|
Copyright (C) 2026 Catcrafts®
|
||||||
Catcrafts.net
|
Catcrafts.net
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
This library is free software; you can redistribute it and/or
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue