mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-04-23 04:13:18 +03:00
Add custom ports not (yet) in upstream vcpkg
aom 3.7.0 libvpx 1.13.1: https://github.com/microsoft/vcpkg/pull/34814 Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
This commit is contained in:
75
res/vcpkg/aom/aom-install.diff
Normal file
75
res/vcpkg/aom/aom-install.diff
Normal file
@@ -0,0 +1,75 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 18190f647..f4b1b359d 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -23,6 +23,9 @@ endif()
|
||||
|
||||
project(AOM C CXX)
|
||||
|
||||
+include(GNUInstallDirs)
|
||||
+include(CMakePackageConfigHelpers)
|
||||
+
|
||||
# GENERATED source property global visibility.
|
||||
if(POLICY CMP0118)
|
||||
cmake_policy(SET CMP0118 NEW)
|
||||
@@ -302,6 +305,52 @@ if(BUILD_SHARED_LIBS)
|
||||
set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} aom_static)
|
||||
endif()
|
||||
|
||||
+set(PUBLIC_HEADERS
|
||||
+ aom/aom.h
|
||||
+ aom/aom_codec.h
|
||||
+ aom/aom_decoder.h
|
||||
+ aom/aom_encoder.h
|
||||
+ aom/aom_frame_buffer.h
|
||||
+ aom/aom_image.h
|
||||
+ aom/aom_integer.h
|
||||
+ aom/aomcx.h
|
||||
+ aom/aomdx.h
|
||||
+)
|
||||
+
|
||||
+set_target_properties(aom PROPERTIES
|
||||
+ PUBLIC_HEADER "${PUBLIC_HEADERS}")
|
||||
+
|
||||
+
|
||||
+target_include_directories(aom
|
||||
+ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
+ $<INSTALL_INTERFACE:include>)
|
||||
+
|
||||
+install(TARGETS aom
|
||||
+ EXPORT unofficial-aom-targets
|
||||
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
+ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/aom")
|
||||
+
|
||||
+install(EXPORT unofficial-aom-targets
|
||||
+ FILE unofficial-aom-targets.cmake
|
||||
+ NAMESPACE unofficial::
|
||||
+ DESTINATION lib/cmake/aom)
|
||||
+
|
||||
+configure_package_config_file(cmake/aom-config.cmake.in
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake
|
||||
+ INSTALL_DESTINATION lib/cmake/aom
|
||||
+ NO_SET_AND_CHECK_MACRO
|
||||
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO)
|
||||
+
|
||||
+write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake
|
||||
+ VERSION ${SO_FILE_VERSION}
|
||||
+ COMPATIBILITY SameMajorVersion)
|
||||
+
|
||||
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/aom-config.cmake
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/aom-config-version.cmake
|
||||
+ DESTINATION lib/cmake/aom)
|
||||
+
|
||||
# Setup dependencies.
|
||||
if(CONFIG_THREE_PASS)
|
||||
setup_ivf_dec_targets()
|
||||
diff --git a/cmake/aom-config.cmake.in b/cmake/aom-config.cmake.in
|
||||
new file mode 100644
|
||||
index 000000000..91cac3b5b
|
||||
--- /dev/null
|
||||
+++ b/cmake/aom-config.cmake.in
|
||||
@@ -0,0 +1,2 @@
|
||||
+@PACKAGE_INIT@
|
||||
+include(${CMAKE_CURRENT_LIST_DIR}/unofficial-aom-targets.cmake)
|
||||
19
res/vcpkg/aom/aom-rename-static.diff
Normal file
19
res/vcpkg/aom/aom-rename-static.diff
Normal file
@@ -0,0 +1,19 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8f459f39c4..d8c1bb2b02 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -286,12 +286,12 @@ add_library(aom ${target_objs_aom} $<TARGET_OBJECTS:aom_rtcd>)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
add_library(aom_static STATIC ${target_objs_aom} $<TARGET_OBJECTS:aom_rtcd>)
|
||||
- set_target_properties(aom_static PROPERTIES OUTPUT_NAME aom)
|
||||
+ set_target_properties(aom_static PROPERTIES OUTPUT_NAME aom_static)
|
||||
if(MSVC OR (WIN32 AND NOT MINGW))
|
||||
# Fix race condition on the export library file between the two versions.
|
||||
# Affects MSVC in all three flavors (stock, Clang/CL, LLVM-- the latter sets
|
||||
# MSVC and MINGW both to FALSE).
|
||||
- set_target_properties(aom PROPERTIES ARCHIVE_OUTPUT_NAME "aom_dll")
|
||||
+ set_target_properties(aom PROPERTIES ARCHIVE_OUTPUT_NAME "aom")
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
13
res/vcpkg/aom/aom-uninitialized-pointer.diff
Normal file
13
res/vcpkg/aom/aom-uninitialized-pointer.diff
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/build/cmake/aom_configure.cmake b/build/cmake/aom_configure.cmake
|
||||
index aaef2c310..5500ad4a3 100644
|
||||
--- a/build/cmake/aom_configure.cmake
|
||||
+++ b/build/cmake/aom_configure.cmake
|
||||
@@ -309,6 +309,8 @@ if(MSVC)
|
||||
|
||||
# Disable MSVC warnings that suggest making code non-portable.
|
||||
add_compiler_flag_if_supported("/wd4996")
|
||||
+ # Disable MSVC warnings for potentially uninitialized local pointer variable.
|
||||
+ add_compiler_flag_if_supported("/wd4703")
|
||||
if(ENABLE_WERROR)
|
||||
add_compiler_flag_if_supported("/WX")
|
||||
endif()
|
||||
60
res/vcpkg/aom/portfile.cmake
Normal file
60
res/vcpkg/aom/portfile.cmake
Normal file
@@ -0,0 +1,60 @@
|
||||
# NASM is required to build AOM
|
||||
vcpkg_find_acquire_program(NASM)
|
||||
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
|
||||
vcpkg_add_to_path(${NASM_EXE_PATH})
|
||||
|
||||
# Perl is required to build AOM
|
||||
vcpkg_find_acquire_program(PERL)
|
||||
get_filename_component(PERL_PATH ${PERL} DIRECTORY)
|
||||
vcpkg_add_to_path(${PERL_PATH})
|
||||
|
||||
vcpkg_from_git(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
URL "https://aomedia.googlesource.com/aom"
|
||||
REF 6054fae218eda6e53e1e3b4f7ef0fff4877c7bf1 # v3.7.0
|
||||
PATCHES
|
||||
aom-rename-static.diff
|
||||
aom-uninitialized-pointer.diff
|
||||
# Can be dropped when https://bugs.chromium.org/p/aomedia/issues/detail?id=3029 is merged into the upstream
|
||||
aom-install.diff
|
||||
)
|
||||
|
||||
set(aom_target_cpu "")
|
||||
if(VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm"))
|
||||
# UWP + aom's assembler files result in weirdness and build failures
|
||||
# Also, disable assembly on ARM and ARM64 Windows to fix compilation issues.
|
||||
set(aom_target_cpu "-DAOM_TARGET_CPU=generic")
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_TARGET_IS_LINUX)
|
||||
set(aom_target_cpu "-DENABLE_NEON=OFF")
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
OPTIONS
|
||||
${aom_target_cpu}
|
||||
-DENABLE_DOCS=OFF
|
||||
-DENABLE_EXAMPLES=OFF
|
||||
-DENABLE_TESTDATA=OFF
|
||||
-DENABLE_TESTS=OFF
|
||||
-DENABLE_TOOLS=OFF
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
# Move cmake configs
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})
|
||||
|
||||
# Remove duplicate files
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include
|
||||
${CURRENT_PACKAGES_DIR}/debug/share)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
17
res/vcpkg/aom/vcpkg.json
Normal file
17
res/vcpkg/aom/vcpkg.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "aom",
|
||||
"version-semver": "3.7.0",
|
||||
"description": "AV1 codec library",
|
||||
"homepage": "https://aomedia.googlesource.com/aom",
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user