aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Riebesel <nicolas.riebesel@gmx.com>2017-03-06 11:41:45 +0100
committerNicolas Riebesel <nicolas.riebesel@gmx.com>2017-03-07 01:41:47 +0100
commit38d2bd4d5e11d945cbc3f2186494e0a122587269 (patch)
tree67b0e83a34a17726496fbb7fac4c3498c105d520
parent3eb0526468d07824900c462ccfacdeffd7fa1969 (diff)
downloadvcpkg-38d2bd4d5e11d945cbc3f2186494e0a122587269.tar.gz
vcpkg-38d2bd4d5e11d945cbc3f2186494e0a122587269.zip
Add portaudio to ports
-rw-r--r--ports/portaudio/CONTROL3
-rw-r--r--ports/portaudio/cmakelists-install.patch11
-rw-r--r--ports/portaudio/portfile.cmake54
3 files changed, 68 insertions, 0 deletions
diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL
new file mode 100644
index 000000000..987154e36
--- /dev/null
+++ b/ports/portaudio/CONTROL
@@ -0,0 +1,3 @@
+Source: portaudio
+Version:
+Description:
diff --git a/ports/portaudio/cmakelists-install.patch b/ports/portaudio/cmakelists-install.patch
new file mode 100644
index 000000000..42fe505de
--- /dev/null
+++ b/ports/portaudio/cmakelists-install.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt 2016-10-30 02:23:04.000000000 +0100
++++ b/CMakeLists.txt 2017-03-06 11:10:51.125636200 +0100
+@@ -372,6 +372,8 @@
+ ENDIF()
+ SET_TARGET_PROPERTIES(portaudio PROPERTIES OUTPUT_NAME portaudio_${TARGET_POSTFIX} FOLDER "Portaudio")
+ SET_TARGET_PROPERTIES(portaudio_static PROPERTIES OUTPUT_NAME portaudio_static_${TARGET_POSTFIX} FOLDER "Portaudio")
++ INSTALL(FILES ${PA_PUBLIC_INCLUDES} DESTINATION include)
++ INSTALL(TARGETS portaudio portaudio_static RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
+ ELSE()
+ IF(APPLE AND CMAKE_VERSION VERSION_GREATER 3.4.2)
+ OPTION(PA_OUTPUT_OSX_FRAMEWORK "Generate an OS X framework instead of the simple library" OFF)
diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake
new file mode 100644
index 000000000..c91335465
--- /dev/null
+++ b/ports/portaudio/portfile.cmake
@@ -0,0 +1,54 @@
+# Common Ambient Variables:
+# VCPKG_ROOT_DIR = <C:/path/to/current/vcpkg>
+# TARGET_TRIPLET is the current triplet (${VCPKG_TARGET_ARCHITECTURE}-windows, etc)
+# PORT is the current port name (zlib, etc)
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}/buildtrees/${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}/packages/${PORT}_${TARGET_TRIPLET}
+#
+
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/portaudio)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz"
+ FILENAME "pa_stable_v190600_20161030.tgz"
+ SHA512 7ec692cbd8c23878b029fad9d9fd63a021f57e60c4921f602995a2fca070c29f17a280c7f2da5966c4aad29d28434538452f4c822eacf3a60af59a6dc8e9704c
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/cmakelists-install.patch)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+# Remove static builds from dynamic builds and otherwise
+# Remove x86 and x64 from resulting files
+if (VCPKG_CRT_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}/bin/portaudio_${VCPKG_TARGET_ARCHITECTURE}.dll ${CURRENT_PACKAGES_DIR}/bin/portaudio.dll)
+ file (RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio_${VCPKG_TARGET_ARCHITECTURE}.lib ${CURRENT_PACKAGES_DIR}/debug/lib/portaudio.lib)
+ file (RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/portaudio_${VCPKG_TARGET_ARCHITECTURE}.dll ${CURRENT_PACKAGES_DIR}/debug/bin/portaudio.dll)
+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 ()
+
+# 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)