aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/steam-audio/use-vcpkg-deps.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/steam-audio/use-vcpkg-deps.patch')
-rw-r--r--vcpkg/ports/steam-audio/use-vcpkg-deps.patch260
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