-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[steam-audio] Adding port #40942
Merged
Merged
[steam-audio] Adding port #40942
Changes from 92 commits
Commits
Show all changes
95 commits
Select commit
Hold shift + click to select a range
e51b263
In progress steam-audio port
Honeybunch 3e03c99
Adding MySOFA port
Honeybunch 972e2ec
Updating port name
Honeybunch 7330b5d
Merge branch 'mysofa' into steam-audio
Honeybunch 473c25e
Some more progress
Honeybunch 570ed61
Fixing patch so that usage file is correct about how to depend on the…
Honeybunch cc43865
Merge branch 'mysofa' into steam-audio
Honeybunch 5536f07
Finding flatbuffer compiler
Honeybunch fc85f58
Fixing export patch to not require an include that doesn't get installed
Honeybunch cbe5399
Merge branch 'mysofa' into steam-audio
Honeybunch 857be85
Possibly working port
Honeybunch 213c2d1
Fixing build on non-windows platforms
Honeybunch 77f9809
Merge branch 'mysofa' into steam-audio
Honeybunch d33b985
Fixing port exports
Honeybunch 3676008
Fixing port exports again
Honeybunch fb56f58
Making sure to create and install config file
Honeybunch 7c846b0
Fixing export on non windows platforms again
Honeybunch 21ee3ab
Merge branch 'mysofa' into steam-audio
Honeybunch 8dd3ce0
Bumping version
Honeybunch 6b90a3b
Fixing config install location
Honeybunch b6ac2e0
Reducing change
Honeybunch 467e78f
Implementing feedback
Honeybunch f7a2426
Updating version
Honeybunch 6af1d48
Merge branch 'master' of https://github.com/microsoft/vcpkg into mysofa
Honeybunch c9d449c
In progress port update
Honeybunch 7ac1f66
Merge branch 'mysofa' into steam-audio
Honeybunch 4127d55
Tweaking port cmake config fixup
Honeybunch 1ee372f
Merge branch 'mysofa' into steam-audio
Honeybunch b1ca0bd
Small in progress update
Honeybunch b543d5d
Trying to fix config fixup
Honeybunch 1abeb7e
Merge branch 'mysofa' into steam-audio
Honeybunch cb22b05
Updating the port so static builds work
Honeybunch 3572fc1
Updating version
Honeybunch 1f0a3da
Merge branch 'mysofa' into steam-audio
Honeybunch 9fc1341
Updating version
Honeybunch 4b54c16
Updating port patch so that macos only compiles for one arch at a time
Honeybunch 345b09e
Attempting to get steam-audio to compile with clang
Honeybunch bc8dd1b
Attempting to fix clang compliation on windows
Honeybunch 753e5fc
Another attempt to fix building steam-audio with clang on windows
Honeybunch 7310608
Yet another attempt to fix clang
Honeybunch 089da27
Updating port to use unaligned loads to avoid crash
Honeybunch ef71965
Merge branch 'master' of https://github.com/microsoft/vcpkg into mysofa
Honeybunch ac5ece6
Updating port to point to patched upstream
Honeybunch 1651b13
Merge branch 'microsoft:master' into mysofa
Honeybunch 94b343a
Removing unnecessary patch
Honeybunch 8aaf358
Merge branch 'mysofa' of https://github.com/Honeybunch/vcpkg into mysofa
Honeybunch cd37afa
Merge branch 'master' into steam-audio
Honeybunch 8c19fcd
Merge branch 'mysofa' into steam-audio
Honeybunch 164c159
Fixing small warning
Honeybunch 14a0b87
Bringing back patch that skips default file install
Honeybunch a09c5a7
Updating version
Honeybunch be9df49
Merge branch 'mysofa' into steam-audio
Honeybunch a612c17
Fixing patch
Honeybunch c93e574
Merge branch 'mysofa' into steam-audio
Honeybunch 00070b1
Tweaking patch to find flatc more elegantlyh
Honeybunch 844c95e
Updating port to a version that works for osx x64
Honeybunch 3dafc28
Patch for fixing clang on windows
Honeybunch 0bdd43a
Reverting weird workaround
Honeybunch 9b094c3
Updating version after removing hacky workarounds
Honeybunch 1c363f1
Addressing some review feedback
Honeybunch 4bbf66b
Updating zlib dependency in cmake config
Honeybunch 5359b5d
Merge branch 'mysofa' into steam-audio
Honeybunch e6fb75f
Updating patch
Honeybunch d27a3f2
Merge branch 'mysofa' into steam-audio
Honeybunch 7d3b773
Fixing static windows builds
Honeybunch beb6feb
Less convoluted cmake logic
Honeybunch 7f21e9c
Adding patch for arm64-windows
Honeybunch 864b591
Whoops wrong linkage var
Honeybunch da35ec5
Restricting UWP to only use dynamic windows CRT
Honeybunch b12365e
Updating arm64 patch
Honeybunch 36492e3
steam-audio doesn't list uwp support so for now let's not expect it t…
Honeybunch ecf5e4e
Update ports/libmysofa/usage
Honeybunch e54cc54
Update usage
Honeybunch 42d100d
Updating version
Honeybunch bd93387
Stripping port specific zlib nonsense
Honeybunch 985fe53
Merge branch 'mysofa' into steam-audio
Honeybunch bd402af
Removing patch to skip installing sofa files and instead just deletin…
Honeybunch b845888
Merge branch 'mysofa' into steam-audio
Honeybunch cc8105a
Manually resolving symlink
Honeybunch df996c0
Merge branch 'mysofa' into steam-audio
Honeybunch 4cd9b15
Fixing obvious path mistake
Honeybunch 4058f29
Merge branch 'mysofa' into steam-audio
Honeybunch 389b1c2
Only removing default.sofa if it exists
Honeybunch f2a8b74
Changing where we swap out the symlink
Honeybunch c2cb12b
Merge branch 'mysofa' into steam-audio
Honeybunch f9a497b
Improving comment
Honeybunch bf50314
Merge branch 'mysofa' into steam-audio
Honeybunch aabbc89
Merge remote-tracking branch 'upstream/master' into steam-audio
Honeybunch d313a03
Merge remote-tracking branch 'upstream/master' into steam-audio
Honeybunch fcc990f
Making sure to put ports in the unofficial namespace
Honeybunch 3288e08
No longer committing crimes to get access to flatc
Honeybunch 6dcedda
Updating version
Honeybunch 6cb47a3
Merge remote-tracking branch 'origin/master' into HEAD
BillyONeal c50cc5e
Use vcpkg_check_linkage, whitespace nitpicks, quotes, include third p…
BillyONeal 5df8042
Delete -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET} and fix license typo.
BillyONeal File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt | ||
index ab49461..9d53dce 100644 | ||
--- a/core/CMakeLists.txt | ||
+++ b/core/CMakeLists.txt | ||
@@ -43,6 +43,8 @@ endif() | ||
if (IPL_OS_WINDOWS) | ||
if (CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64") | ||
set(IPL_CPU_ARMV8 TRUE) | ||
+ elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") | ||
+ set(IPL_CPU_ARMV8 TRUE) | ||
elseif (CMAKE_SIZEOF_VOID_P EQUAL 8) | ||
set(IPL_CPU_X64 TRUE) | ||
else() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO ValveSoftware/steam-audio | ||
REF "3a030b0ec02311a9778563313f2db1ba4a490a67" | ||
SHA512 c0f0fe678f7b82b95b1736dbc308e041621873a57fdb5b1ba9ec5acf8bf6f06718566ade05b2193e24ae7295c4ea2383e45cf95c70ccd36308ed4cdfbfb045a9 | ||
HEAD_REF "v${VERSION}" | ||
PATCHES | ||
use-vcpkg-deps.patch | ||
fix-arm64-windows.patch | ||
) | ||
|
||
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) | ||
if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL "x64") | ||
set(MACOS_ARCH "x86_64") | ||
elseif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL "arm64") | ||
set(MACOS_ARCH "arm64") | ||
else() | ||
message(FATAL "Unsupported arch") | ||
endif() | ||
set(VCPKG_MACOS_ARCH "-DVCPKG_MACOS_ARCH=${MACOS_ARCH}") | ||
endif() | ||
|
||
if(VCPKG_TARGET_IS_WINDOWS) | ||
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_STATIC) | ||
set(WINDOWS_STATIC_RUNTIME "-DSTEAMAUDIO_STATIC_RUNTIME=${BUILD_STATIC}") | ||
endif() | ||
if(VCPKG_TARGET_IS_UWP) | ||
set(WINDOWS_STATIC_RUNTIME "-DSTEAMAUDIO_STATIC_RUNTIME=OFF") | ||
endif() | ||
|
||
# We need to find flatc for steam-audio | ||
find_program(FlatBuffers_EXECUTABLE NAMES flatc PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/flatbuffers" "bin" NO_DEFAULT_PATHS) | ||
|
||
vcpkg_cmake_configure( | ||
SOURCE_PATH "${SOURCE_PATH}/core" | ||
OPTIONS | ||
-DFlatBuffers_EXECUTABLE=${FlatBuffers_EXECUTABLE} | ||
-DSTEAMAUDIO_BUILD_TESTS=OFF | ||
-DSTEAMAUDIO_BUILD_ITESTS=OFF | ||
-DSTEAMAUDIO_BUILD_SAMPLES=OFF | ||
-DSTEAMAUDIO_BUILD_BENCHMARKS=OFF | ||
-DSTEAMAUDIO_BUILD_DOCS=OFF | ||
-DSTEAMAUDIO_ENABLE_AVX=OFF # Windows only. Maybe expose as a feature? | ||
# Below features all require closed source third party dependencies | ||
${WINDOWS_STATIC_RUNTIME} | ||
-DSTEAMAUDIO_ENABLE_IPP=OFF | ||
-DSTEAMAUDIO_ENABLE_FFTS=OFF | ||
-DSTEAMAUDIO_ENABLE_EMBREE=OFF | ||
-DSTEAMAUDIO_ENABLE_RADEONRAYS=OFF | ||
-DSTEAMAUDIO_ENABLE_TRUEAUDIONEXT=OFF | ||
# So the patched port can find the vcpkg host flatc compiler | ||
-DVCPKG_HOST_TRIPLET=${HOST_TRIPLET} | ||
${VCPKG_MACOS_ARCH} | ||
) | ||
|
||
vcpkg_cmake_install() | ||
vcpkg_copy_pdbs() | ||
vcpkg_fixup_pkgconfig() | ||
vcpkg_cmake_config_fixup() | ||
|
||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") | ||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
steam-audio provides CMake targets: | ||
|
||
find_package(steam-audio CONFIG REQUIRED) | ||
target_link_libraries(main PRIVATE unofficial::steam-audio::phonon) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) | ||
Honeybunch marked this conversation as resolved.
Show resolved
Hide resolved
|
||
+ | ||
+include(${CMAKE_CURRENT_LIST_DIR}/steam-audioTargets.cmake) | ||
+ | ||
+check_required_components(steam-audio) | ||
\ No newline at end of file |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"name": "steam-audio", | ||
"version": "4.5.3", | ||
"description": "Valve's steam audio library", | ||
"homepage": "https://github.com/ValveSoftware/steam-audio", | ||
"license": "Apache-2.0", | ||
"supports": "!uwp", | ||
"dependencies": [ | ||
"flatbuffers", | ||
{ | ||
"name": "flatbuffers", | ||
"host": true | ||
}, | ||
"libmysofa", | ||
"pffft", | ||
{ | ||
"name": "vcpkg-cmake", | ||
"host": true | ||
}, | ||
{ | ||
"name": "vcpkg-cmake-config", | ||
"host": true | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"versions": [ | ||
{ | ||
"git-tree": "c630bb8cfc64b3bfeb41cf4f46d480153084abf9", | ||
"version": "4.5.3", | ||
"port-version": 0 | ||
} | ||
] | ||
} |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I can see nothing looks for
VCPKG_HOST_TRIPLET
orHOST_TRIPLET
, is this leftover from an earlier revision and no longer used?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I'm pretty sure that's cruft and can be removed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It changes how vcpkg.cmake configures the search path for programs. Cf.
vcpkg/scripts/buildsystems/vcpkg.cmake
Lines 559 to 571 in 561cf50
Also #25529.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh damn yeah good catch. It's been a hot minute since I've last looked at this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm... that seems extremely cursed @dg0yt but not looking to un-curse it right now.
We're only building
core
.Flatbuffers: Explicitly passed in
ISPC: Guarded by
STEAMAUDIO_ENABLE_EMBREE
, which is disabledSphinx: Guarded by
STEAMAUDIO_BUILD_DOCS
, which is disabledI'll remove it.