CMake: Fix a possible build error relating to the SteamAudio example.

Public issue https://github.com/mackron/miniaudio/pull/1135
This commit is contained in:
David Reid
2026-07-11 10:31:50 +10:00
parent 21349ce158
commit a3a0005fca
+26 -20
View File
@@ -414,44 +414,47 @@ endif()
# SteamAudio has an annoying SDK setup. In the lib folder there is a folder for each platform. We need to specify the
# platform we're compiling for.
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
# Assume 64-bit. Now we need to check if it's for Windows or Linux.
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" MINIAUDIO_PROCESSOR_LOWER)
set(STEAMAUDIO_ARCH "")
if(MINIAUDIO_PROCESSOR_LOWER MATCHES "^(x86_64|amd64)$")
if(WIN32)
set(STEAMAUDIO_ARCH windows-x64)
else()
elseif(UNIX AND NOT APPLE)
set(STEAMAUDIO_ARCH linux-x64)
endif()
else()
# Assume 32-bit. Now we need to check if it's for Windows or Linux.
elseif(MINIAUDIO_PROCESSOR_LOWER MATCHES "^(x86|i[3-6]86)$")
if(WIN32)
set(STEAMAUDIO_ARCH windows-x86)
else()
elseif(UNIX AND NOT APPLE)
set(STEAMAUDIO_ARCH linux-x86)
endif()
endif()
# When searching for SteamAudio, we'll support installing it in the external/steamaudio directory.
set(STEAMAUDIO_FIND_LIBRARY_HINTS)
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/lib/${STEAMAUDIO_ARCH})
if(STEAMAUDIO_ARCH)
# When searching for SteamAudio, we'll support installing it in the external/steamaudio directory.
set(STEAMAUDIO_FIND_LIBRARY_HINTS)
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/lib/${STEAMAUDIO_ARCH})
if(WIN32)
else()
if(WIN32)
else()
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS /opt/steamaudio/lib/${STEAMAUDIO_ARCH})
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS /usr/local/steamaudio/lib/${STEAMAUDIO_ARCH})
endif()
endif()
set(STEAMAUDIO_FIND_HEADER_HINTS)
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/include)
set(STEAMAUDIO_FIND_HEADER_HINTS)
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/include)
if(WIN32)
else()
if(WIN32)
else()
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS /opt/steamaudio/include)
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS /usr/local/steamaudio/include)
endif()
endif()
find_library(STEAMAUDIO_LIBRARY NAMES phonon HINTS ${STEAMAUDIO_FIND_LIBRARY_HINTS})
if(STEAMAUDIO_LIBRARY)
find_library(STEAMAUDIO_LIBRARY NAMES phonon HINTS ${STEAMAUDIO_FIND_LIBRARY_HINTS})
if(STEAMAUDIO_LIBRARY)
message(STATUS "Found SteamAudio: ${STEAMAUDIO_LIBRARY}")
find_path(STEAMAUDIO_INCLUDE_DIR
@@ -464,8 +467,11 @@ if(STEAMAUDIO_LIBRARY)
else()
message(STATUS "Could not find phonon.h. miniaudio_engine_steamaudio will be excluded.")
endif()
else()
else()
message(STATUS "SteamAudio not found. miniaudio_engine_steamaudio will be excluded.")
endif()
else()
message(STATUS "SteamAudio is not supported on ${CMAKE_SYSTEM_PROCESSOR}. miniaudio_engine_steamaudio will be excluded.")
endif()