diff options
author | lat9nq <lat9nq@gmail.com> | 2022-07-25 22:45:38 +0200 |
---|---|---|
committer | lat9nq <lat9nq@gmail.com> | 2022-09-05 03:36:05 +0200 |
commit | c976613ab25130e8fc8b6c0de03cf380eb46c64e (patch) | |
tree | 594bd200694c2d7b2a66b9f3f812f9ad68b04d91 | |
parent | mini_dump: Check for debugger before spawning a child (diff) | |
download | yuzu-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.txt | 12 | ||||
-rw-r--r-- | src/yuzu/CMakeLists.txt | 2 | ||||
-rw-r--r-- | vcpkg.json | 4 |
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": [ |