From 36f663d96c720317cdca24c64acc3c11c731f965 Mon Sep 17 00:00:00 2001 From: Tom J Nowell Date: Sat, 20 Jun 2026 13:46:44 +0100 Subject: [PATCH] macOS: add CpuTopology + SoLib to engine threading sources The engine threading source list for macOS (sources_engine_System_Threading_Mac) provided only Signal.cpp, while the Linux list also supplies CpuTopology and SoLib. Building spring-dedicated on macOS therefore failed to link: Undefined symbols for architecture arm64: cpu_topology::GetProcessorCache() / GetProcessorMasks() / GetThreadPinPolicy() SoLib::SoLib(char const*) / SoLib::LoadFailed() Add Platform/Mac/CpuTopology.cpp (the macOS cpu_topology implementation) and Platform/Linux/SoLib.cpp (dlopen-based, portable to macOS) to the Mac threading sources, mirroring the Linux list. Mac-only list; no effect on Linux/Windows. --- rts/System/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rts/System/CMakeLists.txt b/rts/System/CMakeLists.txt index c8fae324574..e1f8994bc1b 100644 --- a/rts/System/CMakeLists.txt +++ b/rts/System/CMakeLists.txt @@ -157,6 +157,8 @@ set(sources_engine_System_Platform_Windows set(sources_engine_System_Threading_Mac "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/Signal.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Mac/CpuTopology.cpp" + "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/SoLib.cpp" ) set(sources_engine_System_Threading_Linux "${CMAKE_CURRENT_SOURCE_DIR}/Platform/Linux/CpuTopology.cpp"