aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libsoundio
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libsoundio
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libsoundio')
-rw-r--r--vcpkg/ports/libsoundio/fix_cmakelists.patch58
-rw-r--r--vcpkg/ports/libsoundio/portfile.cmake45
-rw-r--r--vcpkg/ports/libsoundio/vcpkg.json31
3 files changed, 134 insertions, 0 deletions
diff --git a/vcpkg/ports/libsoundio/fix_cmakelists.patch b/vcpkg/ports/libsoundio/fix_cmakelists.patch
new file mode 100644
index 0000000..b25f588
--- /dev/null
+++ b/vcpkg/ports/libsoundio/fix_cmakelists.patch
@@ -0,0 +1,58 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6541f1b..e81bdce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,5 @@
+-cmake_minimum_required(VERSION 2.8.5)
++cmake_minimum_required(VERSION 3.14)
++cmake_policy(SET CMP0022 NEW)
+ project(libsoundio C)
+ set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
+
+@@ -233,7 +234,8 @@ if(BUILD_DYNAMIC_LIBS)
+ LINKER_LANGUAGE C
+ )
+ target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
+- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ target_include_directories(libsoundio_shared PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++ install(TARGETS libsoundio_shared EXPORT libsoundio-export)
+ endif()
+
+ if(BUILD_STATIC_LIBS)
+@@ -204,8 +206,7 @@ if(MSVC)
+ set(EXAMPLE_CFLAGS "/W4")
+ set(TEST_CFLAGS "${LIB_CFLAGS}")
+ set(TEST_LDFLAGS " ")
+ set(LIBM " ")
+ else()
+- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic")
+ set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces")
+ set(EXAMPLE_CFLAGS "-std=c99 -Wall")
+@@ -243,9 +244,26 @@ if(BUILD_STATIC_LIBS)
+ COMPILE_FLAGS ${LIB_CFLAGS}
+ LINKER_LANGUAGE C
+ )
+- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ target_link_libraries(libsoundio_static PUBLIC ${LIBSOUNDIO_LIBS})
++ target_include_directories(libsoundio_static PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++ install(TARGETS libsoundio_static EXPORT libsoundio-export)
+ endif()
+
++add_library(libsoundio INTERFACE)
++if(BUILD_DYNAMIC_LIBS)
++ target_link_libraries(libsoundio INTERFACE libsoundio_shared)
++else()
++ target_link_libraries(libsoundio INTERFACE libsoundio_static)
++endif()
++install(TARGETS libsoundio EXPORT libsoundio-export)
++install(
++ EXPORT libsoundio-export
++ FILE libsoundio-config.cmake
++ DESTINATION share/libsoundio/
++ NAMESPACE ${PROJECT_NAME}::
++ EXPORT_LINK_INTERFACE_LIBRARIES
++)
++
+ install(FILES
+ ${LIBSOUNDIO_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")
diff --git a/vcpkg/ports/libsoundio/portfile.cmake b/vcpkg/ports/libsoundio/portfile.cmake
new file mode 100644
index 0000000..c60ad06
--- /dev/null
+++ b/vcpkg/ports/libsoundio/portfile.cmake
@@ -0,0 +1,45 @@
+string(REGEX REPLACE "^([0-9]+[.][0-9]+[.][0-9]+)[.]" "\\1-" git_tag "${VERSION}")
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO andrewrk/libsoundio
+ REF "${git_tag}"
+ SHA512 e854f066087f72438c9f014336a611d73b55a7b932747f94464477bd9f7daf9da440bad820d9c8e3d90ae3679af62a051e9645f0e0a2ddaed9726245a81f1e66
+ HEAD_REF master
+ PATCHES
+ fix_cmakelists.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ alsa ENABLE_ALSA
+ jack ENABLE_JACK
+ pulseaudio ENABLE_PULSEAUDIO
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_DYNAMIC_LIBS=${BUILD_DYNAMIC_LIBS}
+ -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
+ -DBUILD_EXAMPLE_PROGRAMS=OFF
+ -DBUILD_TESTS=OFF
+ ${FEATURE_OPTIONS}
+ -DENABLE_COREAUDIO=${VCPKG_TARGET_IS_OSX}
+ -DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS}
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
+vcpkg_copy_pdbs()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/soundio/soundio.h" "defined(SOUNDIO_STATIC_LIBRARY)" "1")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/libsoundio/vcpkg.json b/vcpkg/ports/libsoundio/vcpkg.json
new file mode 100644
index 0000000..6b01c06
--- /dev/null
+++ b/vcpkg/ports/libsoundio/vcpkg.json
@@ -0,0 +1,31 @@
+{
+ "name": "libsoundio",
+ "version": "2.0.1.7",
+ "description": "libsoundio is C library providing cross-platform audio input and output.",
+ "homepage": "http://libsound.io/",
+ "supports": "!uwp & !(arm64 & windows)",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "alsa": {
+ "description": "ALSA backend for libsoundio"
+ },
+ "jack": {
+ "description": "JACK backend for libsoundio",
+ "dependencies": [
+ "jack2"
+ ]
+ },
+ "pulseaudio": {
+ "description": "PulseAudio backend for libsoundio"
+ }
+ }
+}