[build] ci: fix platform build regressions

Correct the clean IDD MsQuic archive lookup and enable XSAVE
for MinGW CPU probing.

Compile audio transports with precise floating-point semantics so
finite-value validation remains valid under Clang. Install the OBS
samplerate development dependency.
This commit is contained in:
Geoffrey McRae
2026-11-06 19:46:25 +11:00
parent 8bbf9c3056
commit 4753b3a5c6
5 changed files with 28 additions and 2 deletions

View File

@@ -218,7 +218,9 @@ jobs:
sudo apt-get update
- name: Install obs plugin dependencies
run: |
sudo apt-get install libdw-dev libunwind-dev libobs-dev libgl1-mesa-dev
sudo apt-get install \
libdw-dev libunwind-dev libobs-dev libgl1-mesa-dev \
libsamplerate0-dev
- name: Configure obs plugin
run: |
mkdir obs/build

View File

@@ -17,6 +17,16 @@ endif()
if(ENABLE_AUDIO)
list(APPEND TRANSPORT_LGMP_SOURCES audio.c)
if(MSVC)
set_source_files_properties(audio.c PROPERTIES
COMPILE_OPTIONS "/fp:precise"
)
elseif(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
set_source_files_properties(audio.c PROPERTIES
COMPILE_OPTIONS "-fno-fast-math"
)
endif()
endif()
add_library(transport_LGMP STATIC ${TRANSPORT_LGMP_SOURCES})

View File

@@ -20,6 +20,16 @@ set(TRANSPORT_NETWORK_SOURCES
video/pyrowave.c
)
if(MSVC)
set_source_files_properties(audio.c PROPERTIES
COMPILE_OPTIONS "/fp:precise"
)
elseif(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
set_source_files_properties(audio.c PROPERTIES
COMPILE_OPTIONS "-fno-fast-math"
)
endif()
if(WIN32)
list(APPEND TRANSPORT_NETWORK_SOURCES
platform/windows/auth_crypto.c

View File

@@ -6,7 +6,7 @@
<LGMsQuicArchitecture Condition="'$(Platform)'=='Win32'">Win32</LGMsQuicArchitecture>
<LGMsQuicArchitecture Condition="'$(Platform)'=='x64'">x64</LGMsQuicArchitecture>
<LGMsQuicLibraryDir>$(LGMsQuicBuildDir)obj\$(LGBaseConfiguration)\</LGMsQuicLibraryDir>
<LGMsQuicStaticLibrary>$(LGMsQuicLibraryDir)msquic_static.lib</LGMsQuicStaticLibrary>
<LGMsQuicStaticLibrary>$(LGMsQuicLibraryDir)msquic.lib</LGMsQuicStaticLibrary>
<LGMsQuicCoreLibrary>$(LGMsQuicLibraryDir)core.lib</LGMsQuicCoreLibrary>
<LGMsQuicPlatformLibrary>$(LGMsQuicLibraryDir)msquic_platform.lib</LGMsQuicPlatformLibrary>
</PropertyGroup>

View File

@@ -11,6 +11,10 @@ add_compile_definitions(WINVER=0x0601 _WIN32_WINNT=0x0601)
if(MINGW)
add_compile_definitions(__USE_MINGW_ANSI_STDIO=0)
set_property(SOURCE cpuinfo.c APPEND PROPERTY
COMPILE_OPTIONS -mxsave
)
# Build our own ntdll.dll import library
# This tricks MinGW into not linking stuff like memcpy from ntdll.dll instead of mscvrt.dll
if(NOT CMAKE_DLLTOOL)