aboutsummaryrefslogtreecommitdiff
path: root/ports/libsoundio
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2020-02-03 14:22:52 -0800
committerGitHub <noreply@github.com>2020-02-03 14:22:52 -0800
commite62d1361288e83eba786395b60361ab35ba83800 (patch)
treea782ed37dc24eafa81f32082b602922f32d6cfec /ports/libsoundio
parent586bee9bcd30993033a3590f7e84ef1b648cad10 (diff)
downloadvcpkg-e62d1361288e83eba786395b60361ab35ba83800.tar.gz
vcpkg-e62d1361288e83eba786395b60361ab35ba83800.zip
[vcpkg] Add Supports: field. Use contents of triplets instead of names for dependency resolution. (#8601)
* remove unfinished "supports" tag * extract "supports" from control files But do nothing with the value * Start `Supports` documentation * Use Supports in a bunch of control files I only tried matching the already existing logic in the portfile.cmake. * Cmake var provider (#8) * Cmake var provider (#9) * fix windows build (#10) * Add missing files to build * Fix test (#11) * adding hooks for cmake variables in expressions * Adding hooks for 'supports' in CI test * Fix test (#12) * Add overrides to evaluation environment * use "supported" tag in CI testing * cleanup comment * Fix issues with PR * [var_provider] Get library linkage variables from triplet * Fix compilation errors in tests * Add unimplemented functions * Fix unit tests part 1 * Fix issue when buildtrees dir does not exist * Change binary output hash * Fix handling of * feature * Add core feature when using * * Do not add Default-Features when installing 'core' * [vcpkg] WIP. 6 failing tests. * [vcpkg] WIP. 1 failing tests. * [vcpkg] WIP. 0 failing tests. * [vcpkg] Removed 'remove_graph'. 0 failing tests. * [vcpkg] Removed 'install_graph'. 0 failing tests. * [vcpkg] Remove AnyAction; replace with ActionPlan * [vcpkg] Minor cleanup. * [vcpkg][z3][qt5-connectivity][qt5-purchasing] Improve error messages while parsing. Fix a few trivial port issues. * [vcpkg] Work around ICE with MSVC v140 * [vcpkg] Add purge on fail to decompress for CI * [vcpkg] Fix parsing of nested parentheses in qualifiers * [vcpkg] Fix Linux builds (explicit qualification in declaration) * [vcpkg] Fix Build-Depends implying default features. Fix qualified dependencies regression. * [mmx] Add to skip list and full rebuild -- mmx causes problems by installing 'sched.h' * [libpqxx][mqtt-cpp] Prevent installing include/CMakeLists.txt * [cppitertools] Fix installed include namespace (should be include/cppitertools) * [libsoundio] Move headers into soundio/ subdirectory as per original cmake * [ci.baseline] Temporarily skip charls due to conflict with dcmtk * [vcpkg] Add restricted include files post build check -- bump global abi version * [libsoundio] Hotfix stray line in portfile * [vcpkg] Fix regression: CMake information was not being displayed for build-and-install actions * [jsonnet] Fix installation of internal headers; use system nlohmann-json * [grpc][upb] Teach grpc to use packaged upb. Add find_package(upb). Remove inappropriate upb features. * [zfp] Move problematic 'include/bitstream.h' to 'include/zfp/bitstream.h' * [x265] Bump control version to trigger rebuild after zfp conflict * [akali] Disable parallel configure * [dirent][dlfcn-win32][getopt-win32][pthreads] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [ci.baseline] Update baseline for improved upb support * [tgui] Disable parallel configure * [libiconv] Enable VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Disable parallel configure * [vcpkg] Implement policy VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [aws-sdk-cpp] Fix amount of escaping semicolons -- Note: I do not know the root cause requiring this change * [libodb-sqlite] Fix configuring into source directory * [gettext] Grandfather into VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS * [libodb] DISABLE_PARALLEL_CONFIGURE * [vcpkg] Add 'config.h' and 'local.h' to restricted header list * [mcpp] Remove unused and problematic include 'config.h' from installed files * [teemo] Move installed headers into subdirectory to prevent conflicts with x265 * [ci.baseline] Update current OSX. Skip libmesh on all platforms due to heavy conflicts. * [vcpkg] Add 'slice.h' as a restricted header * [osg] Improve accuracy of dependencies (disable some, add some to Depends) * [vcpkg] Skip invoking a subprocess for 0 specs in load_tag_vars * [ci.baseline] Skip mongo-c-driver on osx due to flakiness * [teemo] Fix incorrect include file read * [osg] Fix dependency typo: glut -> freeglut * [vcpkg] Recover some lost performance with the addition of vcpkg_get_tags. A huge performance cost was loading the triplet files over and over; instead, we splice the sources into a macro and load it once, then just call that macro for each port. Remove use of hashing because we aren't cross-process-safe anyway (global static will do instead). * [vcpkg] Change Supports atom 'windows' to include UWP. Improve Supports field documentation. * [vcpkg] Add docs for VCPKG_ENV_PASSTHROUGH and VCPKG_DEP_INFO_OVERRIDE_VARS * Fix typo Co-authored-by: Curtis J Bezault <curtbezault@gmail.com> Co-authored-by: Victor Romero <romerosanchezv@gmail.com> Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'ports/libsoundio')
-rw-r--r--ports/libsoundio/CONTROL3
-rw-r--r--ports/libsoundio/fix_cmakelists.patch233
-rw-r--r--ports/libsoundio/portfile.cmake16
3 files changed, 61 insertions, 191 deletions
diff --git a/ports/libsoundio/CONTROL b/ports/libsoundio/CONTROL
index 52ab4845f..d8abcf070 100644
--- a/ports/libsoundio/CONTROL
+++ b/ports/libsoundio/CONTROL
@@ -1,4 +1,5 @@
Source: libsoundio
-Version: 2.0.0-1
+Version: 2.0.0-3
Description: libsoundio is C library providing cross-platform audio input and output.
Homepage: http://libsound.io/
+Supports: !uwp \ No newline at end of file
diff --git a/ports/libsoundio/fix_cmakelists.patch b/ports/libsoundio/fix_cmakelists.patch
index 225c4cff3..ffe00adff 100644
--- a/ports/libsoundio/fix_cmakelists.patch
+++ b/ports/libsoundio/fix_cmakelists.patch
@@ -1,184 +1,49 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6541f1b..058bf3b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,4 @@
- cmake_minimum_required(VERSION 2.8.5)
--project(libsoundio C)
--set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
-
- if(CMAKE_VERSION VERSION_LESS 3.0.0)
- set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "library install dir (lib)")
-@@ -11,6 +9,11 @@ else()
- cmake_policy(SET CMP0046 NEW)
- include(GNUInstallDirs)
- endif()
-+cmake_policy(SET CMP0022 NEW)
-+
-+project(libsoundio C)
-+set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
-+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
-
- if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
-@@ -27,8 +30,7 @@ if(NOT SOUNDIO_STATIC_LIBNAME)
- set(SOUNDIO_STATIC_LIBNAME soundio)
- endif()
-
--option(BUILD_STATIC_LIBS "Build static libraries" ON)
--option(BUILD_DYNAMIC_LIBS "Build dynamic libraries" ON)
-+option(BUILD_SHARED_LIBS "Build dynamic libraries" ON)
- option(BUILD_EXAMPLE_PROGRAMS "Build example programs" ON)
- option(BUILD_TESTS "Build tests" ON)
- option(ENABLE_JACK "Enable JACK backend" ON)
-@@ -203,7 +205,7 @@ if(MSVC)
- set(EXAMPLE_CFLAGS "/W4")
- set(TEST_CFLAGS "${LIB_CFLAGS}")
- set(TEST_LDFLAGS " ")
-- set(LIBM " ")
-+ 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")
-@@ -223,32 +225,33 @@ configure_file(
- ${DOXYGEN_CONF_FILE}
- )
-
--if(BUILD_DYNAMIC_LIBS)
-- add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES})
-- set_target_properties(libsoundio_shared PROPERTIES
-+if(BUILD_SHARED_LIBS)
-+ add_library(libsoundio SHARED ${LIBSOUNDIO_SOURCES})
-+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}")
-+ set_target_properties(libsoundio PROPERTIES
- OUTPUT_NAME soundio
- SOVERSION ${LIBSOUNDIO_VERSION_MAJOR}
- VERSION ${LIBSOUNDIO_VERSION}
- COMPILE_FLAGS ${LIB_CFLAGS}
- LINKER_LANGUAGE C
- )
-- target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
-- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
--endif()
--
--if(BUILD_STATIC_LIBS)
-- add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES})
-- set_target_properties(libsoundio_static PROPERTIES
-- OUTPUT_NAME ${SOUNDIO_STATIC_LIBNAME}
-+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS})
-+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+else()
-+ add_library(libsoundio STATIC ${LIBSOUNDIO_SOURCES})
-+ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}")
-+ set_target_properties(libsoundio PROPERTIES
-+ OUTPUT_NAME soundio
- COMPILE_FLAGS ${LIB_CFLAGS}
- LINKER_LANGUAGE C
- )
-- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS})
-+ target_compile_definitions(libsoundio PUBLIC SOUNDIO_STATIC_LIBRARY)
-+ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
-
--install(FILES
-- ${LIBSOUNDIO_HEADERS}
-- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio")
-+add_library(libsoundio::libsoundio ALIAS libsoundio)
-+install(EXPORT libsoundio-export FILE libsoundio-config.cmake DESTINATION share/libsoundio/ NAMESPACE ${PROJECT_NAME}:: EXPORT_LINK_INTERFACE_LIBRARIES)
-
- # Example Programs
-
-@@ -257,44 +260,28 @@ if(BUILD_EXAMPLE_PROGRAMS)
- set_target_properties(sio_sine PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_sine libsoundio_shared ${LIBM})
-- else()
-- target_link_libraries(sio_sine libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM})
-- endif()
-+ target_link_libraries(sio_sine libsoundio::libsoundio ${LIBM})
- install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- add_executable(sio_list_devices example/sio_list_devices.c)
- set_target_properties(sio_list_devices PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_list_devices libsoundio_shared)
-- else()
-- target_link_libraries(sio_list_devices libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(sio_list_devices libsoundio::libsoundio)
- install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- add_executable(sio_microphone example/sio_microphone.c)
- set_target_properties(sio_microphone PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_microphone libsoundio_shared)
-- else()
-- target_link_libraries(sio_microphone libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(sio_microphone libsoundio::libsoundio)
- install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- add_executable(sio_record example/sio_record.c)
- set_target_properties(sio_record PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(sio_record libsoundio_shared)
-- else()
-- target_link_libraries(sio_record libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(sio_record libsoundio::libsoundio)
- install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
-
-@@ -308,7 +295,7 @@ if(BUILD_TESTS)
- )
-
- add_executable(latency "${libsoundio_SOURCE_DIR}/test/latency.c" ${LIBSOUNDIO_SOURCES})
-- target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS} ${LIBM})
-+ target_link_libraries(latency LINK_PUBLIC libsoundio::libsoundio ${LIBM})
- set_target_properties(latency PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${LIB_CFLAGS}
-@@ -318,31 +305,19 @@ if(BUILD_TESTS)
- set_target_properties(underflow PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(underflow libsoundio_shared ${LIBM})
-- else()
-- target_link_libraries(underflow libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM})
-- endif()
-+ target_link_libraries(underflow libsoundio::libsoundio ${LIBM})
-
- add_executable(backend_disconnect_recover test/backend_disconnect_recover.c)
- set_target_properties(backend_disconnect_recover PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(backend_disconnect_recover libsoundio_shared)
-- else()
-- target_link_libraries(backend_disconnect_recover libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(backend_disconnect_recover libsoundio::libsoundio)
-
- add_executable(overflow test/overflow.c)
- set_target_properties(overflow PROPERTIES
- LINKER_LANGUAGE C
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
-- if(BUILD_DYNAMIC_LIBS)
-- target_link_libraries(overflow libsoundio_shared)
-- else()
-- target_link_libraries(overflow libsoundio_static ${LIBSOUNDIO_LIBS})
-- endif()
-+ target_link_libraries(overflow libsoundio::libsoundio)
-
-
-
+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)
+@@ -243,9 +245,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/ports/libsoundio/portfile.cmake b/ports/libsoundio/portfile.cmake
index 0e1b7f561..e28aa40c6 100644
--- a/ports/libsoundio/portfile.cmake
+++ b/ports/libsoundio/portfile.cmake
@@ -1,8 +1,5 @@
-include(vcpkg_common_functions)
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "WindowsStore not supported")
-endif()
+vcpkg_fail_port_install(ON_TARGET "UWP")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
@@ -14,15 +11,22 @@ vcpkg_from_github(
fix_cmakelists.patch
)
-string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBS)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
- -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+ -DBUILD_DYNAMIC_LIBS=${BUILD_DYNAMIC_LIBS}
+ -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DBUILD_EXAMPLE_PROGRAMS=OFF
-DBUILD_TESTS=OFF
+ -DENABLE_JACK=OFF
+ -DENABLE_PULSEAUDIO=OFF
+ -DENABLE_ALSA=OFF
+ -DENABLE_COREAUDIO=${VCPKG_TARGET_IS_OSX}
+ -DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS}
)
vcpkg_install_cmake()