summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlat9nq <lat9nq@gmail.com>2022-07-25 22:45:38 +0200
committerlat9nq <lat9nq@gmail.com>2022-09-05 03:36:05 +0200
commitc976613ab25130e8fc8b6c0de03cf380eb46c64e (patch)
tree594bd200694c2d7b2a66b9f3f812f9ad68b04d91
parentmini_dump: Check for debugger before spawning a child (diff)
downloadyuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.tar
yuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.tar.gz
yuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.tar.bz2
yuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.tar.lz
yuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.tar.xz
yuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.tar.zst
yuzu-c976613ab25130e8fc8b6c0de03cf380eb46c64e.zip
-rw-r--r--CMakeLists.txt12
-rw-r--r--src/yuzu/CMakeLists.txt2
-rw-r--r--vcpkg.json4
3 files changed, 17 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ab0ea589..20dd1383f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,6 +38,8 @@ option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON)
option(YUZU_TESTS "Compile tests" ON)
+CMAKE_DEPENDENT_OPTION(YUZU_CRASH_DUMPS "Compile Windows crash dump (Minidump) support" OFF "WIN32" OFF)
+
option(YUZU_USE_BUNDLED_VCPKG "Use vcpkg for yuzu dependencies" "${MSVC}")
option(YUZU_CHECK_SUBMODULES "Check if submodules are present" ON)
@@ -46,6 +48,9 @@ if (YUZU_USE_BUNDLED_VCPKG)
if (YUZU_TESTS)
list(APPEND VCPKG_MANIFEST_FEATURES "yuzu-tests")
endif()
+ if (YUZU_CRASH_DUMPS)
+ list(APPEND VCPKG_MANIFEST_FEATURES "dbghelp")
+ endif()
include(${CMAKE_SOURCE_DIR}/externals/vcpkg/scripts/buildsystems/vcpkg.cmake)
elseif(NOT "$ENV{VCPKG_TOOLCHAIN_FILE}" STREQUAL "")
@@ -447,6 +452,13 @@ elseif (WIN32)
# PSAPI is the Process Status API
set(PLATFORM_LIBRARIES ${PLATFORM_LIBRARIES} psapi imm32 version)
endif()
+
+ if (YUZU_CRASH_DUMPS)
+ find_library(DBGHELP_LIBRARY dbghelp)
+ if ("${DBGHELP_LIBRARY}" STREQUAL "DBGHELP_LIBRARY-NOTFOUND")
+ message(FATAL_ERROR "YUZU_CRASH_DUMPS enabled but dbghelp library not found")
+ endif()
+ endif()
elseif (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU|SunOS)$")
set(PLATFORM_LIBRARIES rt)
endif()
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index 3d9906ade..df0f64b83 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -208,7 +208,7 @@ add_executable(yuzu
yuzu.rc
)
-if (WIN32 AND NOT ("${DBGHELP_LIBRARY}" STREQUAL "DBGHELP_LIBRARY-NOTFOUND"))
+if (WIN32 AND YUZU_CRASH_DUMPS)
target_sources(yuzu PRIVATE
mini_dump.cpp
mini_dump.h
diff --git a/vcpkg.json b/vcpkg.json
index c4413e22a..3c92510d6 100644
--- a/vcpkg.json
+++ b/vcpkg.json
@@ -31,6 +31,10 @@
"yuzu-tests": {
"description": "Compile tests",
"dependencies": [ "catch2" ]
+ },
+ "dbghelp": {
+ "description": "Compile Windows crash dump (Minidump) support",
+ "dependencies": [ "dbghelp" ]
}
},
"overrides": [