Merge pull request #8530 from s-daveb/master

MacOS: Fixes configuration hang; bump MacOS SDK.
This commit is contained in:
Connor McLaughlin 2020-01-13 20:21:08 +10:00 committed by GitHub
commit ae6d3be449
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 15 deletions

View File

@ -5,7 +5,10 @@ cmake_minimum_required(VERSION 3.10)
set(CMAKE_OSX_ARCHITECTURES "x86_64") set(CMAKE_OSX_ARCHITECTURES "x86_64")
# Minimum OS X version. # Minimum OS X version.
# This is inserted into the Info.plist as well. # This is inserted into the Info.plist as well.
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.10.0" CACHE STRING "")
# MacOS prior to 10.12 did not fully support C++17, which is used to
# handle configuration options
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.12.0" CACHE STRING "")
project(dolphin-emu) project(dolphin-emu)

View File

@ -15,7 +15,7 @@ Please read the [FAQ](https://dolphin-emu.org/docs/faq/) before using Dolphin.
* OS * OS
* Windows (7 SP1 or higher is officially supported, but Vista SP2 might also work). * Windows (7 SP1 or higher is officially supported, but Vista SP2 might also work).
* Linux. * Linux.
* macOS (10.10 Yosemite or higher). * macOS (10.12 Sierra or higher).
* Unix-like systems other than Linux are not officially supported but might work. * Unix-like systems other than Linux are not officially supported but might work.
* Processor * Processor
* A CPU with SSE2 support. * A CPU with SSE2 support.

View File

@ -5,11 +5,7 @@
#include <algorithm> #include <algorithm>
#include <list> #include <list>
#include <map> #include <map>
#if __APPLE__
#include <mutex>
#else
#include <shared_mutex> #include <shared_mutex>
#endif
#include "Common/Config/Config.h" #include "Common/Config/Config.h"
@ -21,19 +17,10 @@ static Layers s_layers;
static std::list<ConfigChangedCallback> s_callbacks; static std::list<ConfigChangedCallback> s_callbacks;
static u32 s_callback_guards = 0; static u32 s_callback_guards = 0;
// Mac supports shared_mutex since 10.12 and we're targeting 10.10,
// so only use unique locks there...
#if __APPLE__
static std::mutex s_layers_rw_lock;
using ReadLock = std::unique_lock<std::mutex>;
using WriteLock = std::unique_lock<std::mutex>;
#else
static std::shared_mutex s_layers_rw_lock; static std::shared_mutex s_layers_rw_lock;
using ReadLock = std::shared_lock<std::shared_mutex>; using ReadLock = std::shared_lock<std::shared_mutex>;
using WriteLock = std::unique_lock<std::shared_mutex>; using WriteLock = std::unique_lock<std::shared_mutex>;
#endif
static void AddLayerInternal(std::shared_ptr<Layer> layer) static void AddLayerInternal(std::shared_ptr<Layer> layer)
{ {