diff --git a/CHANGELOG.md b/CHANGELOG.md index e2926f45f6..90da9674bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +**Features**: + +- Add WinGDK (Gaming.Desktop.x64) platform support ([#1631](https://github.com/getsentry/sentry-native/pull/1631)) + ## 0.13.5 **Features**: diff --git a/CMakeLists.txt b/CMakeLists.txt index 51a4451e2c..1a631ae7fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,6 +91,8 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Prospero") set(PROSPERO TRUE) elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "Gaming\\.Xbox\\.(Scarlett|XboxOne)\\.x64") set(XBOX TRUE) +elseif("${CMAKE_GENERATOR_PLATFORM}" MATCHES "Gaming\\.Desktop\\.x64") + set(WINGDK TRUE) endif() #setup sentry library type @@ -131,7 +133,7 @@ if(SENTRY_EMBED_INFO_ITEMS) endforeach() endif() -if(NOT XBOX) +if(NOT XBOX AND NOT WINGDK) option(SENTRY_LINK_PTHREAD "Link platform threads library" ON) if(SENTRY_LINK_PTHREAD) set(THREADS_PREFER_PTHREAD_FLAG ON) @@ -213,7 +215,7 @@ option(SENTRY_ENABLE_INSTALL "Enable sentry installation" "${SENTRY_MAIN_PROJECT if(MSVC AND CMAKE_GENERATOR_TOOLSET MATCHES "_xp$") message(WARNING "Crashpad is not supported for MSVC with XP toolset. Default backend was switched to 'breakpad'") set(SENTRY_DEFAULT_BACKEND "breakpad") -elseif(MSVC AND XBOX) +elseif(MSVC AND (XBOX OR WINGDK)) set(SENTRY_DEFAULT_BACKEND "breakpad") elseif((APPLE AND NOT IOS) OR WIN32 OR LINUX) set(SENTRY_DEFAULT_BACKEND "crashpad") @@ -604,7 +606,7 @@ if(SENTRY_TRANSPORT_WINHTTP) endif() # handle platform threads library -if(NOT XBOX) +if(NOT XBOX AND NOT WINGDK) if(SENTRY_LINK_PTHREAD) list(APPEND _SENTRY_PLATFORM_LIBS "Threads::Threads") endif() diff --git a/include/sentry.h b/include/sentry.h index de6e0cee14..1247e1ec67 100644 --- a/include/sentry.h +++ b/include/sentry.h @@ -59,6 +59,8 @@ extern "C" { # define SENTRY_PLATFORM_WINDOWS # ifdef _GAMING_XBOX # define SENTRY_PLATFORM_XBOX +# elif defined(_GAMING_DESKTOP) +# define SENTRY_PLATFORM_WINGDK # endif #elif defined(__APPLE__) # include @@ -95,6 +97,8 @@ extern "C" { # define SENTRY_SDK_NAME "sentry.native.android" # elif defined(SENTRY_PLATFORM_XBOX) # define SENTRY_SDK_NAME "sentry.native.xbox" +# elif defined(SENTRY_PLATFORM_WINGDK) +# define SENTRY_SDK_NAME "sentry.native.wingdk" # else # define SENTRY_SDK_NAME "sentry.native" # endif