diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/steam-audio/use-vcpkg-deps.patch | |
Diffstat (limited to 'vcpkg/ports/steam-audio/use-vcpkg-deps.patch')
| -rw-r--r-- | vcpkg/ports/steam-audio/use-vcpkg-deps.patch | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/vcpkg/ports/steam-audio/use-vcpkg-deps.patch b/vcpkg/ports/steam-audio/use-vcpkg-deps.patch new file mode 100644 index 0000000..348ae1a --- /dev/null +++ b/vcpkg/ports/steam-audio/use-vcpkg-deps.patch @@ -0,0 +1,260 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index ab49461..8b81aca 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -192,7 +192,7 @@ endif() + + # macOS flags + if (IPL_OS_MACOS) +- set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64") ++ set(CMAKE_OSX_ARCHITECTURES "${VCPKG_MACOS_ARCH}") + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13") + add_compile_options(-Wno-extern-c-compat) # Suppress warning about empty API structs. + add_compile_options(-Wno-unknown-attributes) # Suppress warning in FlatBuffers. +@@ -240,7 +240,7 @@ if (STEAMAUDIO_ENABLE_FFTS) + endif() + + if (NOT FFT_LIBRARY) +- find_package(PFFFT REQUIRED) ++ find_package(PFFFT CONFIG REQUIRED) + set(FFT_LIBRARY PFFFT) + endif() + +@@ -252,8 +252,8 @@ if (STEAMAUDIO_ENABLE_MKL) + endif() + endif() + +-find_package(MySOFA REQUIRED) +-find_package(FlatBuffers REQUIRED) ++find_package(mysofa CONFIG REQUIRED) ++find_package(FlatBuffers CONFIG REQUIRED) + + if (STEAMAUDIO_ENABLE_EMBREE) + find_package(ISPC 1.12 EXACT) +diff --git a/core/src/core/CMakeLists.txt b/core/src/core/CMakeLists.txt +index 7c9226f..56c4c44 100644 +--- a/core/src/core/CMakeLists.txt ++++ b/core/src/core/CMakeLists.txt +@@ -176,7 +180,8 @@ endif() + # + + add_library(hrtf OBJECT hrtf.cpp) +-target_include_directories(hrtf PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) ++target_include_directories(hrtf PUBLIC ++ "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>") + + + # +@@ -582,7 +587,8 @@ if (STEAMAUDIO_BUILD_CSHARP_BINDINGS) + endif() + + # This is needed so we can include generated headers +-target_include_directories(core PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) ++target_include_directories(core PUBLIC ++ "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>") + + if (IPL_OS_WINDOWS) + target_link_libraries(core PUBLIC delayimp) +@@ -596,7 +602,7 @@ if (IPL_OS_LINUX) + target_link_libraries(core PUBLIC -Wl,--start-group) + endif() + +-target_link_libraries(core PUBLIC FlatBuffers::FlatBuffers) ++target_link_libraries(core PUBLIC flatbuffers::flatbuffers) + + if (STEAMAUDIO_ENABLE_IPP AND (IPL_OS_WINDOWS OR IPL_OS_LINUX OR IPL_OS_MACOS)) + target_link_libraries(core PUBLIC IPP::IPP) +@@ -610,10 +616,10 @@ if (FFT_LIBRARY STREQUAL "IPP") + elseif (FFT_LIBRARY STREQUAL "FFTS") + target_link_libraries(core PUBLIC FFTS::FFTS) + elseif (FFT_LIBRARY STREQUAL "PFFFT") +- target_link_libraries(core PUBLIC PFFFT::PFFFT) ++ target_link_libraries(core PUBLIC pffft::pffft) + endif() + +-target_link_libraries(core PUBLIC MySOFA::MySOFA) ++target_link_libraries(core PUBLIC $<IF:$<TARGET_EXISTS:mysofa::mysofa-shared>,mysofa::mysofa-shared,mysofa::mysofa-static>) + add_dependencies(core fbschemas) + + if (STEAMAUDIO_ENABLE_EMBREE) +@@ -639,7 +645,7 @@ source_group("OpenCL Files" FILES ${CL_SOURCE}) + + target_compile_definitions(core PRIVATE STEAMAUDIO_BUILDING_CORE) + +-target_precompile_headers(core PUBLIC pch.h) ++target_precompile_headers(core PRIVATE pch.h) + + + # +@@ -671,7 +677,7 @@ if (IPL_OS_LINUX) + endif() + + if (IPL_OS_WINDOWS AND IPL_CPU_X64 AND BUILD_SHARED_LIBS) +- set_target_properties(phonon PROPERTIES LINK_FLAGS "/DELAYLOAD:opencl.dll /DELAYLOAD:gpuutilities.dll /DELAYLOAD:trueaudionext.dll") ++ #set_target_properties(phonon PROPERTIES LINK_FLAGS "/DELAYLOAD:opencl.dll /DELAYLOAD:gpuutilities.dll /DELAYLOAD:trueaudionext.dll") + endif() + + if (IPL_OS_LINUX AND BUILD_SHARED_LIBS AND (NOT IPL_CPU_ARMV8)) +@@ -729,8 +735,8 @@ if (NOT FMOD_LIB_DIR STREQUAL "") + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/phonon.h ${FMOD_INCLUDE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/phonon_version.h ${FMOD_INCLUDE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/phonon_interfaces.h ${FMOD_INCLUDE_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:PFFFT::PFFFT> ${FMOD_LIB_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:MySOFA::MySOFA> ${FMOD_LIB_DIR} ++ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pffft::pffft> ${FMOD_LIB_DIR} ++ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:$<IF:$<TARGET_EXISTS:mysofa::mysofa-shared>,mysofa::mysofa-shared,mysofa::mysofa-static>> ${FMOD_LIB_DIR} + COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:phonon> ${FMOD_LIB_DIR} + ) + else() +@@ -851,8 +857,8 @@ if (NOT UNITY_PLUGIN_DIR STREQUAL "") + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/phonon_version.h ${UNITY_INCLUDE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/phonon_interfaces.h ${UNITY_INCLUDE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:phonon> ${UNITY_LIB_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:PFFFT::PFFFT> ${UNITY_PLUGIN_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:MySOFA::MySOFA> ${UNITY_PLUGIN_DIR} ++ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pffft::pffft> ${UNITY_PLUGIN_DIR} ++ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:$<IF:$<TARGET_EXISTS:mysofa::mysofa-shared>,mysofa::mysofa-shared,mysofa::mysofa-static>> ${UNITY_PLUGIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:phonon> ${UNITY_PLUGIN_DIR} + ) + else() +@@ -913,8 +919,8 @@ if (NOT UNREAL_PLUGIN_DIR STREQUAL "") + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/phonon.h ${UNREAL_INCLUDE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/phonon_version.h ${UNREAL_INCLUDE_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/phonon_interfaces.h ${UNREAL_INCLUDE_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:PFFFT::PFFFT> ${UNREAL_PLUGIN_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:MySOFA::MySOFA> ${UNREAL_PLUGIN_DIR} ++ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:pffft::pffft> ${UNREAL_PLUGIN_DIR} ++ COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:$<IF:$<TARGET_EXISTS:mysofa::mysofa-shared>,mysofa::mysofa-shared,mysofa::mysofa-static>> ${UNREAL_PLUGIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:phonon> ${UNREAL_PLUGIN_DIR} + ) + elseif (IPL_OS_MACOS) +@@ -953,30 +959,34 @@ get_bin_subdir(IPL_BIN_SUBDIR) + + install( + TARGETS phonon +- ARCHIVE DESTINATION lib/${IPL_BIN_SUBDIR} +- LIBRARY DESTINATION lib/${IPL_BIN_SUBDIR} +- RUNTIME DESTINATION lib/${IPL_BIN_SUBDIR} ++ EXPORT steam-audio_exports ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + + if (IPL_OS_MACOS) + install( + TARGETS phonon_bundle +- ARCHIVE DESTINATION lib/${IPL_BIN_SUBDIR} +- LIBRARY DESTINATION lib/${IPL_BIN_SUBDIR} +- RUNTIME DESTINATION lib/${IPL_BIN_SUBDIR} ++ EXPORT steam-audio_exports ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + endif() + +-if (IPL_OS_WINDOWS) +- install( +- FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/phonon.pdb +- DESTINATION symbols/${IPL_BIN_SUBDIR} +- ) +-elseif (IPL_OS_LINUX AND NOT IPL_CPU_ARMV8) +- install( +- FILES ${CMAKE_CURRENT_BINARY_DIR}/libphonon.so.dbg +- DESTINATION symbols/${IPL_BIN_SUBDIR} +- ) ++if(BUILD_SHARED_LIBS) ++ if (IPL_OS_WINDOWS) ++ install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/phonon.pdb ++ DESTINATION bin ++ ) ++ elseif (IPL_OS_LINUX AND NOT IPL_CPU_ARMV8) ++ install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/libphonon.so.dbg ++ DESTINATION bin ++ ) ++ endif() + endif() + + install( +@@ -986,6 +996,7 @@ install( + DESTINATION include + ) + ++#[[ + if (IPL_OS_WINDOWS AND IPL_CPU_X64) + install( + FILES ${CMAKE_HOME_DIRECTORY}/deps/trueaudionext/bin/windows-x64/$<LOWER_CASE:$<CONFIG>>/TrueAudioNext.dll +@@ -993,5 +1004,30 @@ if (IPL_OS_WINDOWS AND IPL_CPU_X64) + DESTINATION lib/${IPL_BIN_SUBDIR} + ) + endif() ++]]# ++ ++export(EXPORT steam-audio_exports ++ NAMESPACE unofficial::steam-audio:: ++ FILE ${CMAKE_CURRENT_BINARY_DIR}/steam-audioTargets.cmake ++) ++ ++# required to resolve object libraries on import ++install(TARGETS core hrtf EXPORT steam-audio_exports) ++ ++install(EXPORT steam-audio_exports ++ NAMESPACE unofficial::steam-audio:: ++ FILE steam-audioTargets.cmake ++ DESTINATION share/steam-audio ++) ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file(steam-audio-config.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/steam-audio-config.cmake ++ INSTALL_DESTINATION share/steam-audio) ++ ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/steam-audio-config.cmake ++ DESTINATION share/steam-audio ) ++ ++ + + include(CMakeListsInternal.txt OPTIONAL) +diff --git a/core/src/core/float4.h b/core/src/core/float4.h +index a221372..03428db 100644 +--- a/core/src/core/float4.h ++++ b/core/src/core/float4.h +@@ -41,7 +41,7 @@ namespace float4 + + } + +-#if defined(IPL_OS_WINDOWS) ++#if defined(IPL_OS_WINDOWS) && !defined(__clang__) + + namespace ipl { + +diff --git a/core/src/core/pffft_fft.cpp b/core/src/core/pffft_fft.cpp +index 0a37114..4f5debe 100644 +--- a/core/src/core/pffft_fft.cpp ++++ b/core/src/core/pffft_fft.cpp +@@ -16,7 +16,7 @@ + + #include "fft.h" + +-#include <pffft.h> ++#include <pffft/pffft.h> + + #include "array.h" + #include "array_math.h" +diff --git a/core/src/core/steam-audio-config.cmake.in b/core/src/core/steam-audio-config.cmake.in +new file mode 100644 +index 0000000..776f7aa +--- /dev/null ++++ b/core/src/core/steam-audio-config.cmake.in +@@ -0,0 +1,7 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++ ++include(${CMAKE_CURRENT_LIST_DIR}/steam-audioTargets.cmake) ++ ++check_required_components(steam-audio) +\ No newline at end of file |