summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2026-01-11 16:27:29 -0500
committerGitHub <noreply@github.com>2026-01-11 16:27:29 -0500
commit823d111922ee9fb6d9d48ecd41b08bd862e5a4f3 (patch)
tree1b18e74b76cf65492a59cbf9bbb6503834dccb6b
parent28a8fa5de62106465d06b8052afd3883fdc291de (diff)
parent2005b0365e4fbde37ccc906a79e32673d42fad47 (diff)
Merge pull request #14255 from JoshuaVandaele/bsd-fix
cpp-ipc: Fix builds on non-FreeBSD BSDs
-rw-r--r--CMakeLists.txt4
-rw-r--r--Source/Core/Core/CMakeLists.txt2
-rw-r--r--Source/Core/Core/HW/EXI/EXI_DeviceEthernet.h4
-rw-r--r--Source/Core/DolphinQt/Settings/GameCubePane.cpp2
-rw-r--r--Source/VSProps/Base.Dolphin.props1
5 files changed, 8 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f432b77bb..bb9fe27109 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -773,8 +773,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