zeek/auxil/vcpkg/ports/steam-audio/use-vcpkg-deps.patch
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

261 lines
9.6 KiB
Diff

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