diff --git a/ports/asiosdk/CONTROL b/ports/asiosdk/CONTROL new file mode 100644 index 000000000..1a8c75628 --- /dev/null +++ b/ports/asiosdk/CONTROL @@ -0,0 +1,4 @@ +Source: asiosdk +Version: 2.3.3 +Homepage: https://www.steinberg.net/en/company/developers.html +Description: ASIO is a low latency audio API from Steinberg. diff --git a/ports/asiosdk/Findasiosdk.cmake b/ports/asiosdk/Findasiosdk.cmake new file mode 100644 index 000000000..b8f32f830 --- /dev/null +++ b/ports/asiosdk/Findasiosdk.cmake @@ -0,0 +1,37 @@ +if(WIN32) +else(WIN32) + message(FATAL_ERROR "Findasiosdk.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" ) +endif(WIN32) + +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/ports/asiosdk/portfile.cmake b/ports/asiosdk/portfile.cmake new file mode 100644 index 000000000..e4ed662bb --- /dev/null +++ b/ports/asiosdk/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_fail_port_install(MESSAGE "asiosdk currently only supports Windows platforms" ON_ARCH "arm" "arm64" ON_TARGET "Linux" "OSX" "uwp") + +set(VERSION 2.3.3) + +vcpkg_download_distfile(ARCHIVE + URLS "https://download.steinberg.net/sdk_downloads/asiosdk_2.3.3_2019-06-14.zip" + FILENAME "asiosdk_2.3.3_2019-06-14.zip" + SHA512 65d6f2fa4f0e23939fcdf46ff3b04760089c0f14e2ac3e37e63cbf6733f3acc93ab930ea9e3f1eb60483d4654f7ba4699ed506531074c4f55e763ad92736c231 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${VERSION} +) + +file(INSTALL ${SOURCE_PATH}/asio/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/asio) +file(INSTALL ${SOURCE_PATH}/common/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/common) +file(INSTALL ${SOURCE_PATH}/driver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/driver) +file(INSTALL ${SOURCE_PATH}/host/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/host) +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk RENAME copyright) +file(INSTALL ${SOURCE_PATH}/changes.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL "${SOURCE_PATH}/Steinberg ASIO Logo Artwork.zip" DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL "${SOURCE_PATH}/Steinberg ASIO Licensing Agreement.pdf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) +file(INSTALL "${SOURCE_PATH}/ASIO SDK 2.3.pdf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/asiosdk) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/Findasiosdk.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${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/ports/asiosdk/usage b/ports/asiosdk/usage new file mode 100644 index 000000000..1afa2ae84 --- /dev/null +++ b/ports/asiosdk/usage @@ -0,0 +1,4 @@ +The package asiosdk provides CMake integration: + + find_package(asiosdk REQUIRED) + target_include_directories( PRIVATE ${ASIOSDK_INCLUDE_DIRS}) diff --git a/ports/asiosdk/vcpkg-cmake-wrapper.cmake b/ports/asiosdk/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..2fbe9725f --- /dev/null +++ b/ports/asiosdk/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(ASIOSDK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT ASIOSDK_INCLUDE_DIR) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${ASIOSDK_PREV_MODULE_PATH}) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7de42460f..31152b319 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -88,6 +88,11 @@ argtable2:x64-uwp=fail arrow:arm64-windows=fail arrow:x64-linux=fail arrow:x86-windows=fail +asiosdk:x64-linux=fail +asiosdk:x64-osx=fail +asiosdk:x64-uwp=fail +asiosdk:arm64-windows=fail +asiosdk:arm-uwp=fail asmjit:arm64-windows=fail asmjit:arm-uwp=fail asyncplusplus:arm-uwp=fail