diff options
| author | NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> | 2019-11-22 12:46:19 -0800 |
|---|---|---|
| committer | dan-shaw <51385773+dan-shaw@users.noreply.github.com> | 2019-11-22 12:46:19 -0800 |
| commit | 0c509d761605e300f097bf54cc2c7019723d40f4 (patch) | |
| tree | 9619d1cd2b816ffa03dc4a5e5c24733ec3eb3502 | |
| parent | e3488c9cf8d3aa560fb54f2835b83ee21a693d11 (diff) | |
| download | vcpkg-0c509d761605e300f097bf54cc2c7019723d40f4.tar.gz vcpkg-0c509d761605e300f097bf54cc2c7019723d40f4.zip | |
[portaudio] Fix library cannot be found (#8944)
* [portaudio] Fix library cannot be found
* Fix include cannot be found
| -rw-r--r-- | ports/portaudio/CONTROL | 2 | ||||
| -rw-r--r-- | ports/portaudio/fix-include.patch | 22 | ||||
| -rw-r--r-- | ports/portaudio/fix-library-can-not-be-found.patch | 16 | ||||
| -rw-r--r-- | ports/portaudio/portfile.cmake | 39 |
4 files changed, 51 insertions, 28 deletions
diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL index 2337719bd..c6a562625 100644 --- a/ports/portaudio/CONTROL +++ b/ports/portaudio/CONTROL @@ -1,4 +1,4 @@ Source: portaudio
-Version: 2019-09-30
+Version: 2019-11-5
Homepage: https://app.assembla.com/spaces/portaudio/wiki
Description: PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.
\ No newline at end of file diff --git a/ports/portaudio/fix-include.patch b/ports/portaudio/fix-include.patch new file mode 100644 index 000000000..4003959f7 --- /dev/null +++ b/ports/portaudio/fix-include.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1024016..7e6ea20 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -365,7 +365,7 @@ IF(PA_BUILD_SHARED)
+ ADD_LIBRARY(portaudio SHARED ${PA_INCLUDES} ${PA_COMMON_INCLUDES} ${PA_SOURCES} ${PA_NON_UNICODE_SOURCES} ${PA_EXTRA_SHARED_SOURCES})
+ SET_PROPERTY(TARGET portaudio APPEND_STRING PROPERTY COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS})
+ TARGET_INCLUDE_DIRECTORIES(portaudio PRIVATE ${PA_PRIVATE_INCLUDE_PATHS})
+- TARGET_INCLUDE_DIRECTORIES(portaudio PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>")
++ TARGET_INCLUDE_DIRECTORIES(portaudio PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:include>")
+ TARGET_LINK_LIBRARIES(portaudio ${PA_LIBRARY_DEPENDENCIES})
+ ENDIF()
+
+@@ -374,7 +374,7 @@ IF(PA_BUILD_STATIC)
+ ADD_LIBRARY(portaudio_static STATIC ${PA_INCLUDES} ${PA_COMMON_INCLUDES} ${PA_SOURCES} ${PA_NON_UNICODE_SOURCES})
+ SET_PROPERTY(TARGET portaudio_static APPEND_STRING PROPERTY COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS})
+ TARGET_INCLUDE_DIRECTORIES(portaudio_static PRIVATE ${PA_PRIVATE_INCLUDE_PATHS})
+- TARGET_INCLUDE_DIRECTORIES(portaudio_static PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>")
++ TARGET_INCLUDE_DIRECTORIES(portaudio_static PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:include>")
+ TARGET_LINK_LIBRARIES(portaudio_static ${PA_LIBRARY_DEPENDENCIES})
+ IF(NOT PA_LIBNAME_ADD_SUFFIX)
+ SET_PROPERTY(TARGET portaudio_static PROPERTY OUTPUT_NAME portaudio)
diff --git a/ports/portaudio/fix-library-can-not-be-found.patch b/ports/portaudio/fix-library-can-not-be-found.patch new file mode 100644 index 000000000..93353d7ee --- /dev/null +++ b/ports/portaudio/fix-library-can-not-be-found.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1024016..266e6d5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -352,11 +352,6 @@ ENDIF()
+ # embedded builds this is not an issue as they will only build the configuration
+ # used in the host application.
+ MARK_AS_ADVANCED(PA_LIBNAME_ADD_SUFFIX)
+-IF(MSVC AND PA_BUILD_STATIC AND PA_BUILD_SHARED AND NOT PA_LIBNAME_ADD_SUFFIX)
+- MESSAGE(WARNING "Building both shared and static libraries, and avoiding the suffix _static will lead to a name conflict")
+- SET(PA_LIBNAME_ADD_SUFFIX ON CACHE BOOL "Forcing use of suffix _static to avoid name conflict between static and import library" FORCE)
+- MESSAGE(WARNING "PA_LIBNAME_ADD_SUFFIX was set to ON")
+-ENDIF()
+
+ SET(PA_TARGETS "")
+
diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake index ea356d5ae..329e75b11 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -1,9 +1,10 @@ -include(vcpkg_common_functions)
-
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL https://git.assembla.com/portaudio.git
REF c5d2c51bd6fe354d0ee1119ba932bfebd3ebfacc
+ PATCHES
+ fix-library-can-not-be-found.patch
+ fix-include.patch
)
# NOTE: the ASIO backend will be built automatically if the ASIO-SDK is provided
@@ -17,35 +18,19 @@ vcpkg_configure_cmake( -DPA_USE_WDMKS=ON
-DPA_USE_WMME=ON
-DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON
+ -DPA_LIBNAME_ADD_SUFFIX=OFF
)
vcpkg_install_cmake()
-
-# Remove static builds from dynamic builds and otherwise
-# Remove x86 and x64 from resulting files
-if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib)
-
- file (RENAME ${CURRENT_PACKAGES_DIR}/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/lib/portaudio.lib)
- file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio.lib)
- else ()
- file (RENAME ${CURRENT_PACKAGES_DIR}/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/lib/portaudio.lib)
- file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_static_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio.lib)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib)
- file (REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file (REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib)
- file (REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- endif ()
-endif ()
-
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
vcpkg_copy_pdbs()
-# Handle copyright
-file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portaudio)
-file(RENAME ${CURRENT_PACKAGES_DIR}/share/portaudio/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/portaudio/copyright)
-
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
\ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portaudio RENAME copyright)
\ No newline at end of file |
