mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-24 05:29:00 +08:00
[libmysofa] Adding port (#38368)
Co-authored-by: Kai Pastor <dg0yt@darc.de>
This commit is contained in:
parent
39580ae69a
commit
0affe8710a
36
ports/libmysofa/portfile.cmake
Normal file
36
ports/libmysofa/portfile.cmake
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
vcpkg_from_github(
|
||||||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
|
REPO hoene/libmysofa
|
||||||
|
REF "1f9c8df42dfd6765e390ed8840341f15e1ab997b"
|
||||||
|
SHA512 67ce39d78981dc95cf190b1be4addceec4ecc7c2b14660da53a856be8fcff97a2f238343fccac2d042212e5a101eaf26fd12b78c86d0f6ce022bb79aa9815c67
|
||||||
|
HEAD_REF "v${VERSION}"
|
||||||
|
PATCHES
|
||||||
|
use-vcpkg-zlib.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
# default.sofa is a symlink to MIT_KEMAR_normal_pinna.sofa,
|
||||||
|
# which can cause problems e.g. on Windows file systems.
|
||||||
|
if(EXISTS "${SOURCE_PATH}/share/default.sofa")
|
||||||
|
file(REMOVE "${SOURCE_PATH}/share/default.sofa")
|
||||||
|
endif()
|
||||||
|
file(COPY_FILE "${SOURCE_PATH}/share/MIT_KEMAR_normal_pinna.sofa" "${SOURCE_PATH}/share/default.sofa")
|
||||||
|
|
||||||
|
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
|
||||||
|
|
||||||
|
vcpkg_cmake_configure(
|
||||||
|
SOURCE_PATH "${SOURCE_PATH}"
|
||||||
|
OPTIONS
|
||||||
|
-DBUILD_TESTS=OFF
|
||||||
|
-DBUILD_STATIC_LIBS=${BUILD_STATIC}
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_cmake_install()
|
||||||
|
vcpkg_cmake_config_fixup(PACKAGE_NAME mysofa CONFIG_PATH lib/cmake/mysofa)
|
||||||
|
vcpkg_copy_pdbs()
|
||||||
|
vcpkg_fixup_pkgconfig()
|
||||||
|
|
||||||
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||||
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||||
|
|
||||||
|
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||||
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
4
ports/libmysofa/usage
Normal file
4
ports/libmysofa/usage
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
libmysofa provides CMake targets:
|
||||||
|
|
||||||
|
find_package(mysofa CONFIG REQUIRED)
|
||||||
|
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:mysofa::mysofa-shared>,mysofa::mysofa-shared,mysofa::mysofa-static>)
|
82
ports/libmysofa/use-vcpkg-zlib.patch
Normal file
82
ports/libmysofa/use-vcpkg-zlib.patch
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index 018f4ce..90ec50d 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -13,21 +13,25 @@ use_c99()
|
||||||
|
configure_file(config.h.in config.h)
|
||||||
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
+find_package(ZLIB REQUIRED)
|
||||||
|
+
|
||||||
|
if(NOT MSVC)
|
||||||
|
if(NOT WIN32)
|
||||||
|
find_library(MATH m)
|
||||||
|
else()
|
||||||
|
set(MATH "")
|
||||||
|
endif()
|
||||||
|
- include(FindZLIB)
|
||||||
|
+ #include(FindZLIB)
|
||||||
|
else()
|
||||||
|
set(MATH "")
|
||||||
|
+ #[[
|
||||||
|
find_program(NUGET nuget)
|
||||||
|
if(NUGET)
|
||||||
|
execute_process(COMMAND ${NUGET} install zlib)
|
||||||
|
endif()
|
||||||
|
include_directories(
|
||||||
|
${PROJECT_SOURCE_DIR}/windows/third-party/zlib-1.2.11/include/)
|
||||||
|
+ ]]#
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
|
@@ -36,12 +40,13 @@ if(NOT MSVC)
|
||||||
|
else()
|
||||||
|
set(MATH "")
|
||||||
|
endif()
|
||||||
|
- include(FindZLIB)
|
||||||
|
- include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
+ #include(FindZLIB)
|
||||||
|
+ #include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
set(PKG_CONFIG_PRIVATELIBS "-lm ${PKG_CONFIG_PRIVATELIBS}")
|
||||||
|
set(PKG_CONFIG_PRIVATELIBS "-lz ${PKG_CONFIG_PRIVATELIBS}")
|
||||||
|
else()
|
||||||
|
set(MATH "")
|
||||||
|
+ #[[
|
||||||
|
find_program(NUGET nuget)
|
||||||
|
if(NOT NUGET)
|
||||||
|
message(
|
||||||
|
@@ -53,6 +58,7 @@ else()
|
||||||
|
endif()
|
||||||
|
include_directories(
|
||||||
|
${PROJECT_SOURCE_DIR}/windows/third-party/zlib-1.2.11/include/)
|
||||||
|
+ ]]#
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(libsrc
|
||||||
|
@@ -81,6 +87,8 @@ set(public-headers
|
||||||
|
hrtf/mysofa.h
|
||||||
|
)
|
||||||
|
|
||||||
|
+install(FILES "${public-headers}" DESTINATION include)
|
||||||
|
+
|
||||||
|
if(BUILD_STATIC_LIBS)
|
||||||
|
add_library(mysofa-static STATIC ${libsrc})
|
||||||
|
target_include_directories(mysofa-static
|
||||||
|
@@ -88,7 +96,7 @@ target_include_directories(mysofa-static
|
||||||
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/hrtf>"
|
||||||
|
$<INSTALL_INTERFACE:include/>
|
||||||
|
)
|
||||||
|
-target_link_libraries(mysofa-static LINK_PRIVATE ${MATH} ${ZLIB_LIBRARIES})
|
||||||
|
+target_link_libraries(mysofa-static LINK_PRIVATE ${MATH} ZLIB::ZLIB)
|
||||||
|
set_target_properties(
|
||||||
|
mysofa-static
|
||||||
|
PROPERTIES OUTPUT_NAME mysofa CLEAN_DIRECT_OUTPUT 1 POSITION_INDEPENDENT_CODE
|
||||||
|
@@ -120,7 +128,7 @@ if(BUILD_SHARED_LIBS)
|
||||||
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/hrtf>"
|
||||||
|
$<INSTALL_INTERFACE:include/>
|
||||||
|
)
|
||||||
|
- target_link_libraries(mysofa-shared PRIVATE ${MATH} ${ZLIB_LIBRARIES})
|
||||||
|
+ target_link_libraries(mysofa-shared PRIVATE ${MATH} ZLIB::ZLIB)
|
||||||
|
set_target_properties(mysofa-shared
|
||||||
|
PROPERTIES OUTPUT_NAME mysofa CLEAN_DIRECT_OUTPUT 1)
|
||||||
|
# Rename the Windows import library (stub) of the DLL to prevent a name clash
|
18
ports/libmysofa/vcpkg.json
Normal file
18
ports/libmysofa/vcpkg.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "libmysofa",
|
||||||
|
"version": "1.3.2",
|
||||||
|
"description": "Reader for AES SOFA files to get better HRTFs (Head-Relative Transfer Functions)",
|
||||||
|
"homepage": "https://github.com/hoene/libmysofa",
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"name": "vcpkg-cmake",
|
||||||
|
"host": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vcpkg-cmake-config",
|
||||||
|
"host": true
|
||||||
|
},
|
||||||
|
"zlib"
|
||||||
|
]
|
||||||
|
}
|
@ -4804,6 +4804,10 @@
|
|||||||
"baseline": "1.23.11",
|
"baseline": "1.23.11",
|
||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
|
"libmysofa": {
|
||||||
|
"baseline": "1.3.2",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
"libmysql": {
|
"libmysql": {
|
||||||
"baseline": "8.0.39",
|
"baseline": "8.0.39",
|
||||||
"port-version": 0
|
"port-version": 0
|
||||||
|
9
versions/l-/libmysofa.json
Normal file
9
versions/l-/libmysofa.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "7af8df14c5cacf2ba9f4798281ec863159c387ec",
|
||||||
|
"version": "1.3.2",
|
||||||
|
"port-version": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user