diff options
| author | Phil Christensen <philc@microsoft.com> | 2020-02-03 14:22:52 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-03 14:22:52 -0800 |
| commit | e62d1361288e83eba786395b60361ab35ba83800 (patch) | |
| tree | a782ed37dc24eafa81f32082b602922f32d6cfec /ports/libsoundio | |
| parent | 586bee9bcd30993033a3590f7e84ef1b648cad10 (diff) | |
| download | vcpkg-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/CONTROL | 3 | ||||
| -rw-r--r-- | ports/libsoundio/fix_cmakelists.patch | 233 | ||||
| -rw-r--r-- | ports/libsoundio/portfile.cmake | 16 |
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()
|
