CMake: Clean up the handling of SteamAudio.

This commit is contained in:
David Reid
2026-01-03 15:03:05 +10:00
parent 9128cbe35b
commit 70a3690499
+7 -7
View File
@@ -532,6 +532,7 @@ set(STEAMAUDIO_FIND_LIBRARY_HINTS)
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/lib/${STEAMAUDIO_ARCH}) list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/lib/${STEAMAUDIO_ARCH})
if(WIN32) if(WIN32)
# No standard locations on Windows.
else() else()
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS /opt/steamaudio/lib/${STEAMAUDIO_ARCH}) list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS /opt/steamaudio/lib/${STEAMAUDIO_ARCH})
list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS /usr/local/steamaudio/lib/${STEAMAUDIO_ARCH}) list(APPEND STEAMAUDIO_FIND_LIBRARY_HINTS /usr/local/steamaudio/lib/${STEAMAUDIO_ARCH})
@@ -541,6 +542,7 @@ set(STEAMAUDIO_FIND_HEADER_HINTS)
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/include) list(APPEND STEAMAUDIO_FIND_HEADER_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/external/steamaudio/include)
if(WIN32) if(WIN32)
# No standard locations on Windows.
else() else()
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS /opt/steamaudio/include) list(APPEND STEAMAUDIO_FIND_HEADER_HINTS /opt/steamaudio/include)
list(APPEND STEAMAUDIO_FIND_HEADER_HINTS /usr/local/steamaudio/include) list(APPEND STEAMAUDIO_FIND_HEADER_HINTS /usr/local/steamaudio/include)
@@ -549,15 +551,14 @@ endif()
find_library(STEAMAUDIO_LIBRARY NAMES phonon HINTS ${STEAMAUDIO_FIND_LIBRARY_HINTS}) find_library(STEAMAUDIO_LIBRARY NAMES phonon HINTS ${STEAMAUDIO_FIND_LIBRARY_HINTS})
if(STEAMAUDIO_LIBRARY) if(STEAMAUDIO_LIBRARY)
message(STATUS "Found SteamAudio: ${STEAMAUDIO_LIBRARY}")
find_path(STEAMAUDIO_INCLUDE_DIR find_path(STEAMAUDIO_INCLUDE_DIR
NAMES phonon.h NAMES phonon.h
HINTS ${STEAMAUDIO_FIND_HEADER_HINTS} HINTS ${STEAMAUDIO_FIND_HEADER_HINTS}
) )
if(STEAMAUDIO_INCLUDE_DIR) if(STEAMAUDIO_INCLUDE_DIR)
message(STATUS "Found phonon.h in ${STEAMAUDIO_INCLUDE_DIR}") add_library (steamaudio INTERFACE)
set(HAS_STEAMAUDIO TRUE) target_include_directories(steamaudio INTERFACE ${STEAMAUDIO_INCLUDE_DIR})
target_link_libraries (steamaudio INTERFACE ${STEAMAUDIO_LIBRARY})
else() else()
message(STATUS "Could not find phonon.h. miniaudio_engine_steamaudio will be excluded.") message(STATUS "Could not find phonon.h. miniaudio_engine_steamaudio will be excluded.")
endif() endif()
@@ -907,10 +908,9 @@ if (MINIAUDIO_BUILD_EXAMPLES)
message(STATUS "SDL2 could not be found. miniaudio_engine_sdl has been excluded.") message(STATUS "SDL2 could not be found. miniaudio_engine_sdl has been excluded.")
endif() endif()
if(HAS_STEAMAUDIO) if(TARGET steamaudio)
add_miniaudio_example(miniaudio_engine_steamaudio engine_steamaudio.c) add_miniaudio_example(miniaudio_engine_steamaudio engine_steamaudio.c)
target_include_directories(miniaudio_engine_steamaudio PRIVATE ${STEAMAUDIO_INCLUDE_DIR}) target_link_libraries(miniaudio_engine_steamaudio PRIVATE steamaudio)
target_link_libraries (miniaudio_engine_steamaudio PRIVATE ${STEAMAUDIO_LIBRARY})
else() else()
message(STATUS "SteamAudio could not be found. miniaudio_engine_steamaudio has been excluded.") message(STATUS "SteamAudio could not be found. miniaudio_engine_steamaudio has been excluded.")
endif() endif()