From 8a1c4fce3022418e51d29795a845494587849ad5 Mon Sep 17 00:00:00 2001 From: Marcus Asteborg Date: Tue, 9 Apr 2019 09:56:02 -0700 Subject: [PATCH] Use Opus CMake #4875 (#6007) --- ports/opus/CONTROL | 2 +- ports/opus/no-main.patch | 14 ----- ports/opus/package_version.in | 1 - ports/opus/portfile.cmake | 98 ++++++++--------------------------- 4 files changed, 22 insertions(+), 93 deletions(-) delete mode 100644 ports/opus/no-main.patch delete mode 100644 ports/opus/package_version.in diff --git a/ports/opus/CONTROL b/ports/opus/CONTROL index a40b11c64..ce09b87bf 100644 --- a/ports/opus/CONTROL +++ b/ports/opus/CONTROL @@ -1,3 +1,3 @@ Source: opus -Version: 1.3-1 +Version: 1.3-2 Description: Totally open, royalty-free, highly versatile audio codec diff --git a/ports/opus/no-main.patch b/ports/opus/no-main.patch deleted file mode 100644 index 6c373de7b..000000000 --- a/ports/opus/no-main.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/win32/VS2015/opus.vcxproj b/win32/VS2015/opus.vcxproj -index 33bf706..296bc79 100644 ---- a/win32/VS2015/opus.vcxproj -+++ b/win32/VS2015/opus.vcxproj -@@ -350,9 +350,6 @@ - - - -- -- 4244;%(DisableSpecificWarnings) -- - - - diff --git a/ports/opus/package_version.in b/ports/opus/package_version.in deleted file mode 100644 index 4bc971b33..000000000 --- a/ports/opus/package_version.in +++ /dev/null @@ -1 +0,0 @@ -PACKAGE_VERSION="@OPUS_VERSION@" diff --git a/ports/opus/portfile.cmake b/ports/opus/portfile.cmake index ae257690c..59cc33b37 100644 --- a/ports/opus/portfile.cmake +++ b/ports/opus/portfile.cmake @@ -1,84 +1,28 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "UWP builds not supported") -endif() - include(vcpkg_common_functions) -set(OPUS_VERSION "1.3") - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO xiph/opus - REF v1.3 - SHA512 5ac067514b6471432fcd027b912dcaa765e2bdc986ea289a2aeb57660d18fa1460a0a697b9736d8e2b65eb7b72ad4fa36b9b213389fe1e64335db8e9ad51b750 - HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/no-main.patch" -) - -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/package_version.in - ${SOURCE_PATH}/package_version -) - -# Ensure proper crt linkage -file(READ ${SOURCE_PATH}/win32/VS2015/common.props OPUS_PROPS) -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - string(REPLACE ">MultiThreaded<" ">MultiThreadedDLL<" OPUS_PROPS "${OPUS_PROPS}") - string(REPLACE ">MultiThreadedDebug<" ">MultiThreadedDebugDLL<" OPUS_PROPS "${OPUS_PROPS}") -else() - string(REPLACE ">MultiThreadedDLL<" ">MultiThreaded<" OPUS_PROPS "${OPUS_PROPS}") - string(REPLACE ">MultiThreadedDebugDLL<" ">MultiThreadedDebug<" OPUS_PROPS "${OPUS_PROPS}") -endif() -file(WRITE ${SOURCE_PATH}/win32/VS2015/common.props "${OPUS_PROPS}") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(RELEASE_CONFIGURATION "Release") - set(DEBUG_CONFIGURATION "Debug") -else() - set(RELEASE_CONFIGURATION "ReleaseDll") - set(DEBUG_CONFIGURATION "DebugDll") -endif() - -if(TARGET_TRIPLET MATCHES "x86") - set(ARCH_DIR "Win32") -elseif(TARGET_TRIPLET MATCHES "x64") - set(ARCH_DIR "x64") -else() - message(FATAL_ERROR "Architecture not supported") -endif() - -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/win32/VS2015/opus.vcxproj - RELEASE_CONFIGURATION ${RELEASE_CONFIGURATION} - DEBUG_CONFIGURATION ${DEBUG_CONFIGURATION} -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - # Install release build - file(INSTALL ${SOURCE_PATH}/win32/VS2015/${ARCH_DIR}/${RELEASE_CONFIGURATION}/opus.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - - # Install debug build - file(INSTALL ${SOURCE_PATH}/win32/VS2015/${ARCH_DIR}/${DEBUG_CONFIGURATION}/opus.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) -else() - # Install release build - file(INSTALL ${SOURCE_PATH}/win32/VS2015/${ARCH_DIR}/${RELEASE_CONFIGURATION}/opus.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(INSTALL ${SOURCE_PATH}/win32/VS2015/${ARCH_DIR}/${RELEASE_CONFIGURATION}/opus.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin/) - - # Install debug build - file(INSTALL ${SOURCE_PATH}/win32/VS2015/${ARCH_DIR}/${DEBUG_CONFIGURATION}/opus.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) - file(INSTALL ${SOURCE_PATH}/win32/VS2015/${ARCH_DIR}/${DEBUG_CONFIGURATION}/opus.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/) -endif() + OUT_SOURCE_PATH + SOURCE_PATH + REPO + xiph/opus + REF + f9d3d432d135253357ba457ecd0e4f68f12a4584 + SHA512 + 9d77d063e0215c4f4e46b044d2f51106b3a599aeab7b1b788efa1fc79d0d2bc7780adafef6ffe6d3276f24223490898aa695cbbe36df174da9ba2317b21cb369 + HEAD_REF + master) +vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Opus) vcpkg_copy_pdbs() -# Install headers -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/include RENAME opus) +file(INSTALL + ${SOURCE_PATH}/COPYING + DESTINATION + ${CURRENT_PACKAGES_DIR}/share/opus + RENAME copyright) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(READ ${CURRENT_PACKAGES_DIR}/include/opus/opus_defines.h OPUS_DEFINES) - string(REPLACE "define OPUS_EXPORT" "define OPUS_EXPORT __declspec(dllimport)" OPUS_DEFINES "${OPUS_DEFINES}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/opus/opus_defines.h "${OPUS_DEFINES}") -endif() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/opus RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake + ${CURRENT_PACKAGES_DIR}/lib/cmake + ${CURRENT_PACKAGES_DIR}/debug/include)