aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/asiosdk
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/asiosdk')
-rw-r--r--vcpkg/ports/asiosdk/Findasiosdk.cmake44
-rw-r--r--vcpkg/ports/asiosdk/portfile.cmake34
-rw-r--r--vcpkg/ports/asiosdk/usage4
-rw-r--r--vcpkg/ports/asiosdk/vcpkg-cmake-wrapper.cmake6
-rw-r--r--vcpkg/ports/asiosdk/vcpkg.json7
5 files changed, 95 insertions, 0 deletions
diff --git a/vcpkg/ports/asiosdk/Findasiosdk.cmake b/vcpkg/ports/asiosdk/Findasiosdk.cmake
new file mode 100644
index 0000000..c88f7df
--- /dev/null
+++ b/vcpkg/ports/asiosdk/Findasiosdk.cmake
@@ -0,0 +1,44 @@
+if(WIN32)
+else(WIN32)
+ message(FATAL_ERROR "Findasiosdk.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" )
+endif(WIN32)
+
+# if this script is invoked multiple times, we end up adding
+# "asiosdk" to the directory multiple times, leading to incorrect
+# include paths
+if (ASIOSDK_ROOT_DIR)
+ return()
+endif()
+
+find_path(
+ ASIOSDK_ROOT_DIR
+ asiosdk
+)
+
+if (NOT "${ASIOSDK_ROOT_DIR}" STREQUAL "")
+ set(ASIOSDK_ROOT_DIR
+ ${ASIOSDK_ROOT_DIR}/asiosdk
+ )
+endif()
+
+find_path(ASIOSDK_INCLUDE_DIR
+ asio.h
+ PATHS
+ ${ASIOSDK_ROOT_DIR}/common
+)
+
+
+if (NOT "${ASIOSDK_ROOT_DIR}" STREQUAL "")
+ set (ASIOSDK_INCLUDE_DIR
+ ${ASIOSDK_ROOT_DIR}/common
+ ${ASIOSDK_ROOT_DIR}/host
+ ${ASIOSDK_ROOT_DIR}/hostpc
+ )
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(ASIOSDK DEFAULT_MSG ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR)
+
+MARK_AS_ADVANCED(
+ ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR
+)
diff --git a/vcpkg/ports/asiosdk/portfile.cmake b/vcpkg/ports/asiosdk/portfile.cmake
new file mode 100644
index 0000000..985a6b0
--- /dev/null
+++ b/vcpkg/ports/asiosdk/portfile.cmake
@@ -0,0 +1,34 @@
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://download.steinberg.net/sdk_downloads/ASIO-SDK_2.3.4_2025-10-15.zip"
+ FILENAME "ASIO-SDK_2.3.4_2025-10-15-57de2c0cd0df.zip"
+ SHA512 57de2c0cd0df0783275987e08255abfa49da12982f9d462ac40b7f57300c36e024dcb65d100b799fb3c96a9c7c5ee86e61ceb0e68d2839324206c1629d3905ed
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ SOURCE_BASE "${VERSION}"
+)
+
+file(INSTALL "${SOURCE_PATH}/asio/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/asio")
+file(INSTALL "${SOURCE_PATH}/common/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/common")
+file(INSTALL "${SOURCE_PATH}/driver/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/driver")
+file(INSTALL "${SOURCE_PATH}/host/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/host")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
+
+file(
+ INSTALL
+ "${SOURCE_PATH}/changes.txt"
+ "${SOURCE_PATH}/Steinberg ASIO Logo Artwork"
+ "${SOURCE_PATH}/Steinberg ASIO Usage Guidelines.pdf"
+ "${SOURCE_PATH}/Steinberg ASIO Licensing Agreement.pdf"
+ "${SOURCE_PATH}/Steinberg ASIO SDK 2.3.pdf"
+ "${SOURCE_PATH}/README.md"
+ "${CMAKE_CURRENT_LIST_DIR}/Findasiosdk.cmake"
+ "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake"
+ DESTINATION
+ "${CURRENT_PACKAGES_DIR}/share/${PORT}"
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/vcpkg/ports/asiosdk/usage b/vcpkg/ports/asiosdk/usage
new file mode 100644
index 0000000..3827cfa
--- /dev/null
+++ b/vcpkg/ports/asiosdk/usage
@@ -0,0 +1,4 @@
+The package asiosdk provides CMake integration:
+
+ find_package(asiosdk REQUIRED)
+ target_include_directories(main PRIVATE ${ASIOSDK_INCLUDE_DIR})
diff --git a/vcpkg/ports/asiosdk/vcpkg-cmake-wrapper.cmake b/vcpkg/ports/asiosdk/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 0000000..df14d7c
--- /dev/null
+++ b/vcpkg/ports/asiosdk/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,6 @@
+set(ASIOSDK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
+
+_find_package(${ARGS})
+
+set(CMAKE_MODULE_PATH ${ASIOSDK_PREV_MODULE_PATH})
diff --git a/vcpkg/ports/asiosdk/vcpkg.json b/vcpkg/ports/asiosdk/vcpkg.json
new file mode 100644
index 0000000..cbaf38b
--- /dev/null
+++ b/vcpkg/ports/asiosdk/vcpkg.json
@@ -0,0 +1,7 @@
+{
+ "name": "asiosdk",
+ "version": "2.3.4",
+ "description": "ASIO is a low latency audio API from Steinberg.",
+ "homepage": "https://www.steinberg.net/developers/asiosdk-open/",
+ "supports": "windows & !(arm | uwp)"
+}