diff options
| author | Joshua Vandaƫle <joshua@vandaele.software> | 2026-01-06 21:20:54 +0100 |
|---|---|---|
| committer | Joshua Vandaƫle <joshua@vandaele.software> | 2026-01-06 21:46:33 +0100 |
| commit | 2005b0365e4fbde37ccc906a79e32673d42fad47 (patch) | |
| tree | de16abf6ef8d47122116f2b322dc2e66028b8788 | |
| parent | fb2a46c4cfa2687cd0191c00efaa4ce9431ca639 (diff) | |
cpp-ipc: Fix builds on non-FreeBSD BSDs
cpp-ipc is explicitely only available on Windows, Linux, QNX, and FreeBSD. Trying to build dolphin on any another BSD such as OpenBSD or Haiku currently leads to failure because of this.
| -rw-r--r-- | CMakeLists.txt | 4 | ||||
| -rw-r--r-- | Source/Core/Core/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h | 4 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Settings/GameCubePane.cpp | 2 | ||||
| -rw-r--r-- | Source/VSProps/Base.Dolphin.props | 1 |
5 files changed, 8 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e63c62c66..29ba31ce4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -786,8 +786,10 @@ endif() add_subdirectory(Externals/watcher) -if(NOT ANDROID AND NOT APPLE) +# Any other platform or BSD is currently unsupported by cpp-ipc +if(WIN32 OR LINUX OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "QNX") add_subdirectory(Externals/cpp-ipc) + add_definitions(-DHAVE_CPPIPC) endif() ######################################## diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt index 66236573c1..85e446e2a0 100644 --- a/Source/Core/Core/CMakeLists.txt +++ b/Source/Core/Core/CMakeLists.txt @@ -799,7 +799,7 @@ if(UNIX) ) endif() -if(NOT ANDROID AND NOT APPLE) +if(TARGET cpp-ipc::ipc) target_sources(core PRIVATE HW/EXI/BBA/IPC.cpp) target_link_libraries(core PRIVATE cpp-ipc::ipc) endif() diff --git a/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h b/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h index a6b0780886..cb6ac688bf 100644 --- a/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h +++ b/Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h @@ -15,7 +15,7 @@ #endif #include <SFML/Network.hpp> -#if !defined(__ANDROID__) && !defined(__APPLE__) +#ifdef HAVE_CPPIPC #include <libipc/ipc.h> #endif @@ -483,7 +483,7 @@ private: public: explicit IPCBBAInterface(CEXIETHERNET* const eth_ref) : NetworkInterface(eth_ref) {} -#if !defined(__ANDROID__) && !defined(__APPLE__) +#ifdef HAVE_CPPIPC bool Activate() override; void Deactivate() override; diff --git a/Source/Core/DolphinQt/Settings/GameCubePane.cpp b/Source/Core/DolphinQt/Settings/GameCubePane.cpp index fd27612dc5..db7fdf5919 100644 --- a/Source/Core/DolphinQt/Settings/GameCubePane.cpp +++ b/Source/Core/DolphinQt/Settings/GameCubePane.cpp @@ -143,7 +143,7 @@ void GameCubePane::CreateWidgets() EXIDeviceType::EthernetXLink, EXIDeviceType::EthernetTapServer, EXIDeviceType::EthernetBuiltIn, -#if !defined(__APPLE__) +#ifdef HAVE_CPPIPC EXIDeviceType::EthernetIPC, #endif EXIDeviceType::ModemTapServer, diff --git a/Source/VSProps/Base.Dolphin.props b/Source/VSProps/Base.Dolphin.props index 9d1a2f4ce9..5b4e1b2fa2 100644 --- a/Source/VSProps/Base.Dolphin.props +++ b/Source/VSProps/Base.Dolphin.props @@ -50,6 +50,7 @@ <PreprocessorDefinitions>RC_CLIENT_SUPPORTS_HASH;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>RC_CLIENT_SUPPORTS_RAINTEGRATION;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="'$(EnableCubeb)'!='false'">HAVE_CUBEB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>HAVE_CPPIPC;%(PreprocessorDefinitions)</PreprocessorDefinitions> <!-- Warnings one may want to ignore when using Level4. 4201 nonstandard extension used : nameless struct/union |
