diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..0ef683e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.21) +project(Crashlogs CXX) + +add_library(Crashlogs STATIC) +if(WIN32) + target_sources(Crashlogs PRIVATE crashlogs.cpp) + target_compile_definitions(Crashlogs PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() +target_include_directories(Crashlogs PUBLIC "\$") +target_compile_features(Crashlogs PUBLIC cxx_std_23) + +set(CMAKE_INSTALL_INCLUDEDIR include/Crashlogs CACHE PATH "") +include(GNUInstallDirs) +install(FILES crashlogs.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +install(TARGETS Crashlogs EXPORT CrashlogsConfig INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +install(EXPORT CrashlogsConfig NAMESPACE Crashlogs:: DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/Crashlogs") diff --git a/crashlogs.cpp b/crashlogs.cpp index b687f85..007dcce 100644 --- a/crashlogs.cpp +++ b/crashlogs.cpp @@ -154,7 +154,7 @@ namespace glaiel::crashlogs { } //various callbacks needed to get into the crash handler during a crash (borrowed from backward.cpp) - static inline void signal_handler(int signal) { + static inline void signal_handler(int) { crash_handler(); abort(); } @@ -162,7 +162,7 @@ namespace glaiel::crashlogs { crash_handler(); abort(); } - __declspec(noinline) static LONG WINAPI exception_handler(EXCEPTION_POINTERS* info) { + __declspec(noinline) static LONG WINAPI exception_handler(EXCEPTION_POINTERS*) { crash_handler(); return EXCEPTION_CONTINUE_SEARCH; }