[ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (#15787)

* [tesseract] Use vcpkg_fixup_pkgconfig.

* [libxml2] Correct pkgconfig lib name.

* [libwebp] Use vcpkg_fixup_pkgconfig.

* [libssh] Export pkgconfig on windows.

Also move to using git to get source.

* [modplug] Export pkgconfig on windows.

* [ffmpeg] Add support for fontconfig,freetype,fribidi,modplug,openjpeg,libssh,tesseract,libxml2 dependencies.

* [openjpeg] Correct required static link libs in pkgconfig.

* [modplug] Combine vcpkg_from_github using variable.

* Update ports/libssh/CONTROL

* Improve portfile.cmake

* update version records.

* [openjpeg] Update libs in pkgcfg.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* update version records

* [libssh] Add pthread to pkgconfig when using mbedtls.

* [libssh] Correct pthread naming on windows.

* [fontconfig] Add libintl to pkgconfig on windows.

* update version records

* [ffmpeg] Fixup FindFFmpeg.

* [ffmpeg] speex now supports non-windows.

* [ffmpeg] Add feature libass.

* [ffmpeg] Add dav1d feature.

* [ffmpeg] Add feature ilbc.

* [ffmpeg] Add tensorflow feature.

* [ffmpeg] update version record.

* [ffmpeg] Add CI feature test.

* [ffmpeg] Limit features based on CI failures.

* [ffmpeg] Update version record.

* [ffmpeg] limit features based on ci.baseline.

* [various ports] Update supports field.

* [ffmpeg] Limit features more based on CI.

* update version records.

* [ffmpeg] Add detection of additional non target deps..

select_library_configurations_from_names currently detects the debug libs even for release builds as  _IMPORT_PREFIX was not being set.

* [aubio] Silence warning about FindFFMPEG.

* [pangolin] Use vcpkg supplied FindFFMPEG.

* update version files.

* [ffnvcodec] Set as not supporting uwp.

ffnvcodec will build under uwp as its a header only lib, but it can not be used as it requires dynamic dll loading.

* [ffmpeg] Update feature all.

* update version records

* [tesseract] Wrap debug pkgcfg update.

* [libssh,libxml2,openjpeg,fontconfig] Fix pkg-config for release only triplets.

* [libssh] Correct port version after merge.

* [ffmpeg] Fixup after merge.

* Update version files.

* [ffmpeg] Add opengl support.

* [ffmpeg] Update package version.

* [ffmpeg] Fix ffnvcodec support.

* [ffmpeg] Fix x265 detection on osx.

* [libvpx] Enable arm-uwp build.

* [ffmpeg] Fixup x265 patch.

* trigger sdl rebuild

* [ffmpeg] Disable opengl on osx.

* Revert "trigger sdl rebuild"

This reverts commit 94065bfe8414259ad5a5576bd4ac0b7ab4b97c6b.

* [ffmpeg] Disable failing features on osx.

* Update ports/ffmpeg/FindFFMPEG.cmake.in

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>

* [ffmpeg] Add ass dependencies to FindFFmpeg.

* Update ports/ffmpeg/FindFFMPEG.cmake.in

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>

* update version

* [fontconfig] disable pthread/json as they are not needed for lib builds.

Only used for tests.

* [ffmpeg] Enable fontconfig on static+windows.

* update versions

* update versions.

* Fix incorrectly included commits

* revert pangolin commit

Reverts most of 2543be2edf60bf38511c2d477bb17b617398a108

* update versions

* Correct port version after merge.

* update versions.

* [ffmpeg] Fix cmake dependency detection on non-windows.

* Revert "revert pangolin commit"

This reverts commit f59bc5a53ea74fd9df17fc368886e9d1a80ac42f.

* [ffmpeg] Fix dependency loading that does not define separate debug/release libs.

* update versions.

* [ffmpeg] set CMP0072 policy.

* [wavpack] Fix cmake config export.

* [ffmpeg] Add optional system dependent libraries.

* update versions after merge.

* update versions.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>
This commit is contained in:
Matthew Oliver 2021-04-08 03:06:55 +10:00 committed by GitHub
parent 4278a5f9ea
commit 85a48c1ed5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
52 changed files with 682 additions and 129 deletions

View File

@ -1,4 +1,6 @@
Source: fdk-aac
Version: 2018-07-08-2
Version: 2018-07-08
Port-Version: 3
Homepage: https://github.com/mstorsjo/fdk-aac
Description: A standalone library of the Fraunhofer FDK AAC code
Supports: !(uwp | arm)

View File

@ -2,13 +2,14 @@ diff --git a/configure b/configure
index 34a2e644c4..0ea64bd306 100755
--- a/configure
+++ b/configure
@@ -6447,7 +6447,9 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x
@@ -6447,7 +6447,10 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x
warn "using libx264 without pkg-config"; } } &&
require_cpp_condition libx264 x264.h "X264_BUILD >= 118" &&
check_cpp_condition libx262 x264.h "X264_MPEG2"
-enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get &&
+enabled libx265 && { check_pkg_config libx265 x265 x265.h x265_api_get ||
+ { require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" &&
+ { { check_lib libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" ||
+ require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++"; } &&
+ warn "using libx265 without pkg-config"; } } &&
require_cpp_condition libx265 x265.h "X265_BUILD >= 70"
enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs"

View File

@ -0,0 +1,17 @@
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 900505756b..8d1388a347 100755
--- a/configure
+++ b/configure
@@ -6476,7 +6476,7 @@ enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h z
enabled libzvbi && require_pkg_config libzvbi zvbi-0.2 libzvbi.h vbi_decoder_new &&
{ test_cpp_condition libzvbi.h "VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28" ||
enabled gpl || die "ERROR: libzvbi requires version 0.2.28 or --enable-gpl."; }
-enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion
+enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml/xmlversion.h xmlCheckVersion
enabled mbedtls && { check_pkg_config mbedtls mbedtls mbedtls/x509_crt.h mbedtls_x509_crt_init ||
check_pkg_config mbedtls mbedtls mbedtls/ssl.h mbedtls_ssl_init ||
check_lib mbedtls mbedtls/ssl.h mbedtls_ssl_init -lmbedtls -lmbedx509 -lmbedcrypto ||

View File

@ -1,6 +1,6 @@
Source: ffmpeg
Version: 4.3.2
Port-Version: 1
Port-Version: 2
Homepage: https://ffmpeg.org
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.
@ -8,132 +8,200 @@ Default-Features: avresample, avcodec, avformat, avdevice, avfilter, postproc, s
Feature: ffmpeg
Build-Depends: ffmpeg[core,avcodec,avfilter,avformat]
Description: build the ffmpeg.exe application
Description: Build the ffmpeg application
Feature: ffplay
Build-Depends: ffmpeg[core,avcodec,avfilter,avformat,swscale,swresample,sdl2]
Description: ffplay application support in ffmpeg
Description: Build the ffplay application
Feature: ffprobe
Build-Depends: ffmpeg[core,avcodec,avformat]
Description: ffprobe application support in ffmpeg
Description: Build the ffprobe application
Feature: avcodec
Description: Codec support in ffmpeg
Description: Build the avcodec library
Feature: avformat
Build-Depends: ffmpeg[core,avcodec]
Description: Format support in ffmpeg
Description: Build the avformat library
Feature: avdevice
Build-Depends: ffmpeg[core,avcodec,avformat]
Description: Device support in ffmpeg
Description: Build the avdevice library
Feature: avfilter
Description: Filter support in ffmpeg
Description: Build the avfilter library
Feature: postproc
Build-Depends: ffmpeg[core,gpl]
Description: Postproc support in ffmpeg
Description: Build the postproc library
Feature: swresample
Description: Swresample support in ffmpeg
Description: Build the swresample library
Feature: swscale
Description: Swscale support in ffmpeg
Description: Build the swscale library
Feature: avresample
Description: Libav audio resampling library support in ffmpeg
Description: Build the avresample library
Feature: nonfree
Description: allow nonfree and unredistributable libraries
Description: Allow use of nonfree code, the resulting libs and binaries will be unredistributable
Feature: gpl
Description: allow GPL licensed libraries
Description: Allow use of GPL code, the resulting libs and binaries will be under GPL
Feature: version3
Description: upgrade (L)GPL to version 3
Description: Upgrade (L)GPL to version 3
Feature: all
Build-Depends: ffmpeg[bzip2,iconv,freetype,lzma,mp3lame,openjpeg,opus,snappy,soxr,speex,theora,vorbis,vpx,webp,zlib], ffmpeg[ass] (!(uwp | arm)), ffmpeg[dav1d] (!(uwp | arm | x86 | osx)), ffmpeg[fontconfig] (!(windows & static) & !(uwp | arm)), ffmpeg[fribidi] (!(uwp | arm)), ffmpeg[ilbc] (!(arm & uwp)), ffmpeg[modplug] (!(windows & static) & !uwp), ffmpeg[nvcodec] ((windows | linux) & !uwp & !arm), ffmpeg[opencl] (!uwp), ffmpeg[ssh] (!(uwp | arm) & !static), ffmpeg[opengl] (!uwp & !(windows & arm) & !osx), ffmpeg[sdl2] (!osx), ffmpeg[tensorflow] (!(x86 | arm | uwp) & !static), ffmpeg[tesseract] (!uwp & !(windows & arm) & !static), ffmpeg[wavpack] (!arm), ffmpeg[xml2] (!static)
Description: Build with all allowed dependencies selected that are compatible with the lgpl license
Feature: all-gpl
Build-Depends: ffmpeg[gpl,all], ffmpeg[avisynthplus] (windows & !arm & !uwp & !static), ffmpeg[x264] (!arm), ffmpeg[x265] (!arm & !uwp)
Description: Build with all allowed dependencies selected that are compatible with the gpl license
Feature: all-nonfree
Build-Depends: ffmpeg[nonfree,all-gpl,openssl], ffmpeg[fdk-aac] (!arm & !uwp)
Description: Build with all allowed dependencies selected with a non-redistributable license
Feature: ass
Build-Depends: libass
Description: Libass subtitles rendering, needed for subtitles and ass filter support in ffmpeg
Feature: avisynthplus
Build-Depends: avisynthplus, ffmpeg[core,gpl]
Description: avisynthplus support in ffmpeg
Description: Reading of AviSynth script files
Feature: bzip2
Build-Depends: bzip2
Description: bzip2 support in ffmpeg
Description: Bzip2 support
Feature: dav1d
Build-Depends: dav1d
Description: AV1 decoding via libdav1d
Feature: iconv
Build-Depends: libiconv
Description: iconv support in ffmpeg
Description: Iconv support
Feature: ilbc
Build-Depends: libilbc
Description: iLBC de/encoding via libilbc
Feature: fdk-aac
Build-Depends: fdk-aac, ffmpeg[core,nonfree]
Description: AAC de/encoding via libfdk-aac support in ffmpeg
Description: AAC de/encoding via libfdk-aac
Feature: fontconfig
Build-Depends: fontconfig
Description: Useful for drawtext filter
Feature: freetype
Build-Depends: freetype
Description: Needed for drawtext filter
Feature: fribidi
Build-Depends: fribidi
Description: Improves drawtext filter
Feature: lzma
Build-Depends: liblzma
Description: lzma support in ffmpeg
Description: lzma support
Feature: modplug
Build-Depends: libmodplug
Description: ModPlug via libmodplug
Feature: mp3lame
Build-Depends: mp3lame
Description: MP3 encoding via libmp3lame support in ffmpeg
Description: MP3 encoding via libmp3lame
Feature: nvcodec
Build-Depends: ffnvcodec
Description: Hardware accelerated codecs
Description: Nvidia video decoding/encoding acceleration
Feature: opencl
Build-Depends: opencl
Description: OpenCL processing support in ffmpeg
Description: OpenCL processing
Feature: opengl
Build-Depends: opengl, opengl-registry
Description: OpenGL rendering
Feature: openjpeg
Build-Depends: openjpeg
Description: JPEG 2000 de/encoding via OpenJPEG
Feature: openssl
Build-Depends: openssl, ffmpeg[core,nonfree]
Description: openssl support in ffmpeg
Description: Needed for https support if gnutls, libtls or mbedtls is not used
Feature: opus
Build-Depends: opus
Description: Opus de/encoding via libopus support in ffmpeg
Description: Opus de/encoding via libopus
Feature: sdl2
Build-Depends: sdl2
Description: sdl2 support in ffmpeg
Description: Sdl2 support
Feature: snappy
Build-Depends: snappy
Description: Snappy compression, needed for hap encoding support in ffmpeg
Description: Snappy compression, needed for hap encoding
Feature: soxr
Build-Depends: soxr
Description: libsoxr resampling support in ffmpeg
Description: Include libsoxr resampling
Feature: speex
Build-Depends: speex
Description: Speex de/encoding via libspeex support in ffmpeg
Description: Speex de/encoding via libspeex
Feature: ssh
Build-Depends: libssh
Description: SFTP protocol via libssh
Feature: tensorflow
Build-Depends: tensorflow
Description: TensorFlow as a DNN module backend for DNN based filters like sr
Feature: tesseract
Build-Depends: tesseract
Description: Tesseract, needed for ocr filter
Feature: theora
Build-Depends: libtheora
Description: Theora encoding via libtheora support in ffmpeg
Description: Theora encoding via libtheora
Feature: vorbis
Build-Depends: libvorbis
Description: Vorbis en/decoding via libvorbis support in ffmpeg
Description: Vorbis en/decoding via libvorbis, native implementation exists
Feature: vpx
Build-Depends: libvpx
Description: VP8 and VP9 de/encoding via libvpx support in ffmpeg
Description: VP8 and VP9 de/encoding via libvpx
Feature: wavpack
Build-Depends: wavpack
Description: wavpack encoding via libwavpack support in ffmpeg
Description: Wavpack encoding via libwavpack
Feature: webp
Build-Depends: libwebp
Description: WebP encoding via libwebp
Feature: x264
Build-Depends: x264, ffmpeg[core,gpl]
Description: H.264 encoding via x264 support in ffmpeg
Description: H.264 encoding via x264
Feature: x265
Build-Depends: x265, ffmpeg[core,gpl]
Description: HEVC encoding via x265 support in ffmpeg
Description: HEVC encoding via x265
Feature: xml2
Build-Depends: libxml2
Description: XML parsing using the C library libxml2, needed for dash demuxing support
Feature: zlib
Build-Depends: zlib
Description: zlib support in ffmpeg
Description: zlib support

View File

@ -31,12 +31,20 @@ include(CMakeFindDependencyMacro)
if(NOT FFMPEG_FOUND)
# Compute the installation path relative to this file.
get_filename_component(SEARCH_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(SEARCH_PATH "${SEARCH_PATH}" PATH)
get_filename_component(SEARCH_PATH "${SEARCH_PATH}" PATH)
if(SEARCH_PATH STREQUAL "/")
set(SEARCH_PATH "")
endif()
function(select_library_configurations_from_names)
cmake_parse_arguments(_slc "" "BASENAME" "NAMES;NAMES_RELEASE;NAMES_DEBUG" ${ARGN})
list(APPEND _slc_NAMES_RELEASE ${_slc_NAMES})
list(APPEND _slc_NAMES_DEBUG ${_slc_NAMES})
find_library(${_slc_BASENAME}_LIBRARY_RELEASE NAMES ${_slc_NAMES_RELEASE} PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
find_library(${_slc_BASENAME}_LIBRARY_DEBUG NAMES ${_slc_NAMES_DEBUG} PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
find_library(${_slc_BASENAME}_LIBRARY_RELEASE NAMES ${_slc_NAMES_RELEASE} PATHS ${SEARCH_PATH}/lib/ NO_DEFAULT_PATH)
find_library(${_slc_BASENAME}_LIBRARY_DEBUG NAMES ${_slc_NAMES_DEBUG} PATHS ${SEARCH_PATH}/debug/lib/ NO_DEFAULT_PATH)
select_library_configurations(${_slc_BASENAME})
set(${_slc_BASENAME}_LIBRARIES ${${_slc_BASENAME}_LIBRARIES} PARENT_SCOPE)
endfunction()
@ -53,12 +61,25 @@ function(select_library_configurations_from_targets)
if(TARGET ${_dep})
get_target_property(_dep_rel ${_dep} IMPORTED_LOCATION_RELEASE)
get_target_property(_dep_dbg ${_dep} IMPORTED_LOCATION_DEBUG)
if(_dep_rel MATCHES _dep_rel-NOTFOUND)
set(_dep_rel ${_dep_dbg})
elseif(_dep_dbg MATCHES _dep_dbg-NOTFOUND)
set(_dep_dbg ${_dep_rel})
endif()
list(APPEND ${_slc_BASENAME}_LIBRARY_RELEASE ${_dep_rel})
list(APPEND ${_slc_BASENAME}_LIBRARY_DEBUG ${_dep_dbg})
elseif(NOT ${_dep} MATCHES _deps-NOTFOUND)
if(${_dep} MATCHES ::)
#TODO Handle targets contained in cmake generator expressions
message(STATUS Unhandled dependency ${_slc_BASENAME}: ${_dep})
else()
list(APPEND ${_slc_BASENAME}_DEP_LIBRARIES ${_dep})
endif()
endif()
endforeach()
endforeach()
select_library_configurations(${_slc_BASENAME})
list(APPEND ${_slc_BASENAME}_LIBRARIES ${${_slc_BASENAME}_DEP_LIBRARIES})
set(${_slc_BASENAME}_LIBRARIES ${${_slc_BASENAME}_LIBRARIES} PARENT_SCOPE)
endfunction()
@ -72,14 +93,39 @@ function(find_platform_dependent_libraries)
set(FFMPEG_PLATFORM_DEPENDENT_LIBS ${FFMPEG_PLATFORM_DEPENDENT_LIBS} PARENT_SCOPE)
endfunction()
# for finding system libraries that may not always be available
function(find_platform_dependent_optional_libraries)
cmake_parse_arguments(_fpdo "" "" "NAMES" ${ARGN})
foreach(_name ${_fpdo_NAMES})
find_library(${_name}_LIBRARY ${_name})
if(NOT ${_name}_LIBRARY MATCHES ${_name}_LIBRARY-NOTFOUND)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${${_name}_LIBRARY})
endif()
endforeach()
set(FFMPEG_PLATFORM_DEPENDENT_LIBS ${FFMPEG_PLATFORM_DEPENDENT_LIBS} PARENT_SCOPE)
endfunction()
set(FFMPEG_VERSION "4.3.2")
find_dependency(Threads)
if(UNIX)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -pthread)
endif()
if(UNIX AND NOT APPLE)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -lX11)
if(@ENABLE_ASS@)
select_library_configurations_from_names(BASENAME ASS NAMES ass libass)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${ASS_LIBRARIES})
if(NOT @ENABLE_FREETYPE@)
find_dependency(Freetype)
select_library_configurations_from_targets(BASENAME freetype TARGETS Freetype::Freetype)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${freetype_LIBRARIES})
endif()
if(NOT @ENABLE_FRIBIDI@)
select_library_configurations_from_names(BASENAME FRIBIDI NAMES fribidi libfribidi)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${FRIBIDI_LIBRARIES})
endif()
select_library_configurations_from_names(BASENAME HARFBUZZ NAMES harfbuzz libharfbuzz)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${HARFBUZZ_LIBRARIES})
endif()
if(@ENABLE_BZIP2@)
@ -88,16 +134,46 @@ if(@ENABLE_BZIP2@)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${BZip2_LIBRARIES})
endif()
if(@ENABLE_DAV1D@)
select_library_configurations_from_names(BASENAME DAV1D NAMES dav1d libdav1d)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${DAV1D_LIBRARIES})
if(UNIX)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS dl)
endif()
endif()
if(@ENABLE_ICONV@)
find_dependency(Iconv)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${Iconv_LIBRARIES})
endif()
if(@ENABLE_ILBC@)
select_library_configurations_from_names(BASENAME ILBC NAMES ilbc libilbc)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${ILBC_LIBRARIES})
endif()
if(@ENABLE_FDKAAC@)
select_library_configurations_from_names(BASENAME FDK NAMES fdk-aac libfdk-aac)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${FDK_LIBRARIES})
endif()
if(@ENABLE_FONTCONFIG@)
find_dependency(Fontconfig)
select_library_configurations_from_targets(BASENAME fontconfig TARGETS Fontconfig::Fontconfig)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${fontconfig_LIBRARIES})
endif()
if(@ENABLE_FREETYPE@)
find_dependency(Freetype)
select_library_configurations_from_targets(BASENAME freetype TARGETS Freetype::Freetype)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${freetype_LIBRARIES})
endif()
if(@ENABLE_FRIBIDI@)
select_library_configurations_from_names(BASENAME FRIBIDI NAMES fribidi libfribidi)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${FRIBIDI_LIBRARIES})
endif()
if(@ENABLE_LZMA@)
find_dependency(LibLZMA)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${LibLZMA_LIBRARIES})
@ -109,6 +185,11 @@ if(@ENABLE_LAME@)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${mp3lame_LIBRARIES})
endif()
if(@ENABLE_MODPLUG@)
select_library_configurations_from_names(BASENAME MODPLUG NAMES modplug libmodplug)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${MODPLUG_LIBRARIES})
endif()
if(@ENABLE_NVCODEC@)
if(UNIX)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS dl)
@ -120,6 +201,20 @@ if(@ENABLE_OPENCL@)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${OpenCL_LIBRARIES})
endif()
if(@ENABLE_OPENGL@)
if(POLICY CMP0072)
cmake_policy (SET CMP0072 OLD)
endif(POLICY CMP0072)
find_dependency(OpenGL)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${OPENGL_LIBRARIES})
endif()
if(@ENABLE_OPENJPEG@)
find_dependency(OpenJPEG)
select_library_configurations_from_targets(BASENAME openjpeg TARGETS openjp2)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${openjpeg_LIBRARIES})
endif()
if(@ENABLE_OPENSSL@)
find_dependency(OpenSSL)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${OPENSSL_LIBRARIES})
@ -153,10 +248,20 @@ if(@ENABLE_SOXR@)
endif()
if(@ENABLE_SPEEX@)
select_library_configurations_from_names(BASENAME SPEEX NAMES_RELEASE libspeex NAMES_DEBUG libspeexd)
if(WIN32)
select_library_configurations_from_names(BASENAME SPEEX NAMES_RELEASE libspeex NAMES_DEBUG libspeexd)
else()
select_library_configurations_from_names(BASENAME SPEEX NAMES speex libspeex)
endif()
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${SPEEX_LIBRARIES})
endif()
if(@ENABLE_SSH@)
find_dependency(libssh)
select_library_configurations_from_targets(BASENAME libssh TARGETS ssh)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${libssh_LIBRARIES})
endif()
if(@ENABLE_THEORA@)
find_dependency(Ogg) # ensure Ogg::ogg is defined as a target
find_dependency(unofficial-theora)
@ -164,6 +269,12 @@ if(@ENABLE_THEORA@)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${THEORA_LIBRARIES})
endif()
if(@ENABLE_TESSERACT@)
find_dependency(Tesseract)
select_library_configurations_from_targets(BASENAME tesseract TARGETS libtesseract)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${tesseract_LIBRARIES})
endif()
if(@ENABLE_VORBIS@)
find_dependency(Vorbis)
select_library_configurations_from_targets(BASENAME vorbis TARGETS Vorbis::vorbis Vorbis::vorbisenc)
@ -182,6 +293,12 @@ if(@ENABLE_WAVPACK@)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${wavpack_LIBRARIES})
endif()
if(@ENABLE_WEBP@)
find_dependency(WebP)
select_library_configurations_from_targets(BASENAME webp TARGETS WebP::webp WebP::webpdemux WebP::libwebpmux WebP::webpdecoder)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${webp_LIBRARIES})
endif()
if(@ENABLE_X264@)
select_library_configurations_from_names(BASENAME X264 NAMES x264 libx264)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${X264_LIBRARIES})
@ -193,6 +310,16 @@ endif()
if(@ENABLE_X265@)
select_library_configurations_from_names(BASENAME X265 NAMES x265 x265-static)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${X265_LIBRARIES})
if(UNIX)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS dl)
find_platform_dependent_optional_libraries(NAMES numa)
endif()
endif()
if(@ENABLE_XML2@)
find_dependency(LibXml2)
select_library_configurations_from_targets(BASENAME libxml2 TARGETS LibXml2::LibXml2)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${libxml2_LIBRARIES})
endif()
if(@ENABLE_ZLIB@)
@ -201,6 +328,11 @@ if(@ENABLE_ZLIB@)
endif()
# Platform dependent libraries required by FFMPEG
if(UNIX AND NOT APPLE)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -lX11)
find_platform_dependent_optional_libraries(NAMES va-drm va vdpau)
endif()
if(WIN32)
if(NOT CYGWIN)
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS wsock32 ws2_32 secur32 bcrypt strmiids Vfw32 Shlwapi mfplat mfuuid)
@ -209,23 +341,13 @@ else()
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS m)
endif()
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
set(_IMPORT_PREFIX "")
endif()
set(_IMPORT_PREFIX)
macro(FFMPEG_FIND varname shortname headername)
if(NOT FFMPEG_${varname}_INCLUDE_DIRS)
find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATHS ${_IMPORT_PREFIX}/include NO_DEFAULT_PATH)
find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATHS ${SEARCH_PATH}/include NO_DEFAULT_PATH)
endif()
if(NOT FFMPEG_${varname}_LIBRARY)
find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATHS ${SEARCH_PATH}/lib/ NO_DEFAULT_PATH)
find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS ${SEARCH_PATH}/debug/lib/ NO_DEFAULT_PATH)
get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY)
get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY)
select_library_configurations(FFMPEG_${varname})

View File

@ -18,6 +18,7 @@ vcpkg_from_github(
0012-Fix-ssl-110-detection.patch
0013-define-WINVER.patch
0014-avfilter-dependency-fix.patch
0015-Fix-xml2-detection.patch
)
if (SOURCE_PATH MATCHES " ")
@ -181,17 +182,25 @@ if("avresample" IN_LIST FEATURES)
set(ENABLE_AVRESAMPLE ON)
endif()
set(STATIC_LINKAGE OFF)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(STATIC_LINKAGE ON)
endif()
set(ENABLE_ASS OFF)
if("ass" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libass")
set(ENABLE_ASS ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libass")
endif()
if("avisynthplus" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-avisynth")
else()
set(OPTIONS "${OPTIONS} --disable-avisynth")
endif()
set(STATIC_LINKAGE OFF)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
set(STATIC_LINKAGE ON)
endif()
set(ENABLE_BZIP2 OFF)
if("bzip2" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-bzlib")
@ -200,6 +209,14 @@ else()
set(OPTIONS "${OPTIONS} --disable-bzlib")
endif()
set(ENABLE_DAV1D OFF)
if("dav1d" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libdav1d")
set(ENABLE_DAV1D ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libdav1d")
endif()
set(ENABLE_ICONV OFF)
if("iconv" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-iconv")
@ -208,6 +225,14 @@ else()
set(OPTIONS "${OPTIONS} --disable-iconv")
endif()
set(ENABLE_ILBC OFF)
if("ilbc" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libilbc")
set(ENABLE_ILBC ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libilbc")
endif()
set(ENABLE_FDKAAC OFF)
if("fdk-aac" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libfdk-aac")
@ -216,6 +241,30 @@ else()
set(OPTIONS "${OPTIONS} --disable-libfdk-aac")
endif()
set(ENABLE_FONTCONFIG OFF)
if("fontconfig" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libfontconfig")
set(ENABLE_FONTCONFIG ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libfontconfig")
endif()
set(ENABLE_FREETYPE OFF)
if("freetype" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libfreetype")
set(ENABLE_FREETYPE ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libfreetype")
endif()
set(ENABLE_FRIBIDI OFF)
if("fribidi" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libfribidi")
set(ENABLE_FRIBIDI ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libfribidi")
endif()
set(ENABLE_LZMA OFF)
if("lzma" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-lzma")
@ -232,13 +281,21 @@ else()
set(OPTIONS "${OPTIONS} --disable-libmp3lame")
endif()
set(ENABLE_MODPLUG OFF)
if("modplug" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libmodplug")
set(ENABLE_MODPLUG ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libmodplug")
endif()
set(ENABLE_NVCODEC OFF)
if("nvcodec" IN_LIST FEATURES)
#Note: the --enable-cuda option does not actually require the cuda sdk or toolset port dependency as ffmpeg uses runtime detection and dynamic loading
set(ENABLE_NVCODEC ON)
set(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid")
set(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid --enable-ffnvcodec")
else()
set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-nvdec --disable-cuvid")
set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-nvdec --disable-cuvid --disable-ffnvcodec")
endif()
set(ENABLE_OPENCL OFF)
@ -249,6 +306,22 @@ else()
set(OPTIONS "${OPTIONS} --disable-opencl")
endif()
set(ENABLE_OPENGL OFF)
if("opengl" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-opengl")
set(ENABLE_OPENGL ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-opengl")
endif()
set(ENABLE_OPENJPEG OFF)
if("openjpeg" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libopenjpeg")
set(ENABLE_OPENJPEG ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libopenjpeg")
endif()
set(ENABLE_OPENSSL OFF)
if("openssl" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-openssl")
@ -297,6 +370,30 @@ else()
set(OPTIONS "${OPTIONS} --disable-libspeex")
endif()
set(ENABLE_SSH OFF)
if("ssh" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libssh")
set(ENABLE_SSH ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libssh")
endif()
set(ENABLE_TENSORFLOW OFF)
if("tensorflow" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libtensorflow")
set(ENABLE_TENSORFLOW ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libtensorflow")
endif()
set(ENABLE_TESSERACT OFF)
if("tesseract" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libtesseract")
set(ENABLE_TESSERACT ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libtesseract")
endif()
set(ENABLE_THEORA OFF)
if("theora" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libtheora")
@ -329,6 +426,14 @@ else()
set(OPTIONS "${OPTIONS} --disable-libwavpack")
endif()
set(ENABLE_WEBP OFF)
if("webp" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libwebp")
set(ENABLE_WEBP ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libwebp")
endif()
set(ENABLE_X264 OFF)
if("x264" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libx264")
@ -345,6 +450,14 @@ else()
set(OPTIONS "${OPTIONS} --disable-libx265")
endif()
set(ENABLE_XML2 OFF)
if("xml2" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libxml2")
set(ENABLE_XML2 ${STATIC_LINKAGE})
else()
set(OPTIONS "${OPTIONS} --disable-libxml2")
endif()
set(ENABLE_ZLIB OFF)
if("zlib" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-zlib")

View File

@ -1,5 +1,6 @@
Source: ffnvcodec
Version: 10.0.26.0
Port-Version: 1
Homepage: https://github.com/FFmpeg/nv-codec-headers
Description: FFmpeg version of Nvidia Codec SDK headers.
Supports: windows|linux
Supports: (windows|linux)&!uwp

View File

@ -1,6 +1,6 @@
Source: fontconfig
Version: 2.13.1
Port-Version: 4
Port-Version: 5
Homepage: https://www.freedesktop.org/software/fontconfig/front.html
Description: Library for configuring and customizing font access.
Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, dirent, libuuid (!windows&!osx), gettext
Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, libuuid (!windows&!osx), gettext

View File

@ -46,6 +46,13 @@ vcpkg_configure_make(
vcpkg_install_make(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
#Fix missing libintl static dependency
if(NOT VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_IS_WINDOWS)
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl")
endif()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl")
endif()
vcpkg_fixup_pkgconfig()
# Fix paths in debug pc file.

View File

@ -1,5 +1,6 @@
Source: fribidi
Version: 1.0.10
Port-Version: 1
Port-Version: 2
Description: GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi)
Build-Depends: tool-meson
Supports: !(uwp | arm)

View File

@ -0,0 +1,30 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 468f1a3..8e94458 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -142,6 +142,8 @@ if(HAVE_SINF)
endif(HAVE_SINF)
if (NOT WIN32)
+ set(UNIXLIBS "-lstdc++ -lm")
+endif (NOT WIN32)
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
set(libdir "${CMAKE_INSTALL_PREFIX}/lib")
@@ -152,4 +154,3 @@ if (NOT WIN32)
install(FILES "${PROJECT_BINARY_DIR}/libmodplug.pc"
DESTINATION lib/pkgconfig
)
-endif (NOT WIN32)
diff --git a/libmodplug.pc.in b/libmodplug.pc.in
index bbf05f9..1699d76 100644
--- a/libmodplug.pc.in
+++ b/libmodplug.pc.in
@@ -8,5 +8,5 @@ Description: The ModPlug mod file playing library.
Version: @VERSION@
Requires:
Libs: -L${libdir} -lmodplug
-Libs.private: -lstdc++ -lm
+Libs.private: @UNIXLIBS@
Cflags: -I${includedir}

View File

@ -1,5 +1,6 @@
Source: libmodplug
Version: 0.8.9.0
Port-Version: 6
Port-Version: 7
Homepage: https://github.com/Konstanty/libmodplug
Description: The ModPlug mod file playing library.
Supports: !uwp

View File

@ -1,28 +1,21 @@
set(MODPLUG_HASH 5a39f5913d07ba3e61d8d5afdba00b70165da81d)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
vcpkg_from_github(ARCHIVE
OUT_SOURCE_PATH SOURCE_PATH
REPO Konstanty/libmodplug
REF ${MODPLUG_HASH}
SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1
PATCHES
"001-automagically-define-modplug-static.patch"
"002-detect_sinf.patch"
"003-use-static-cast-for-ctype.patch"
)
else()
vcpkg_from_github(ARCHIVE
OUT_SOURCE_PATH SOURCE_PATH
REPO Konstanty/libmodplug
REF ${MODPLUG_HASH}
SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1
PATCHES
"002-detect_sinf.patch"
"003-use-static-cast-for-ctype.patch"
)
set(STATIC_PATCH "001-automagically-define-modplug-static.patch")
endif()
vcpkg_from_github(ARCHIVE
OUT_SOURCE_PATH SOURCE_PATH
REPO Konstanty/libmodplug
REF ${MODPLUG_HASH}
SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1
PATCHES
${STATIC_PATCH}
002-detect_sinf.patch
003-use-static-cast-for-ctype.patch
004-export-pkgconfig.patch
)
vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA)
vcpkg_install_cmake()
@ -42,5 +35,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic AND VCPKG_TARGET_IS_WINDOWS)
vcpkg_copy_pdbs()
endif()
vcpkg_fixup_pkgconfig()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmodplug)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmodplug/COPYING ${CURRENT_PACKAGES_DIR}/share/libmodplug/copyright)

View File

@ -0,0 +1,43 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1f5b0bf5..c51fb0d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,8 +111,28 @@ add_subdirectory(include)
add_subdirectory(src)
# pkg-config file
-if (UNIX)
configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "Requires:")
+ if (WITH_ZLIB)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " zlib")
+ endif ()
+ if (WITH_GCRYPT)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lgcrypt")
+ elseif (WITH_MBEDTLS)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lmbedcrypto -lpthread")
+ else ()
+ if (WIN32)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -llibcrypto -lUser32 -lCrypt32")
+ else ()
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " libcrypto\nLibs.private:")
+ endif ()
+ endif ()
+ if (CMAKE_USE_PTHREADS_INIT)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lpthread")
+ endif ()
+ if (WIN32)
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lws2_32 -lShell32 -lAdvapi32")
+ endif ()
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/libssh.pc
@@ -121,7 +141,6 @@ install(
COMPONENT
pkgconfig
)
-endif (UNIX)
# CMake config files
include(CMakePackageConfigHelpers)

View File

@ -1,11 +1,11 @@
Source: libssh
Version: 0.9.5
Port-Version: 1
Port-Version: 2
Homepage: https://www.libssh.org/
Build-Depends: libssh[core,mbedtls] (android)
Description: libssh is a multiplatform C library implementing the SSHv2 protocol on client and server side
Default-Features: crypto
Supports: !uwp
Supports: !(uwp | arm)
Feature: crypto
Build-Depends: libssh[mbedtls]

View File

@ -1,16 +1,12 @@
vcpkg_fail_port_install(ON_TARGET "UWP")
set(VERSION 0.9.5)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.libssh.org/files/0.9/libssh-${VERSION}.tar.xz"
FILENAME "libssh-${VERSION}.tar.xz"
SHA512 64e692a0bfa7f73585ea7b7b8b1d4c9a7f9be59565bfd4de32ca8cd9db121f87e7ad51f5c80269fbd99545af34dcf1894374ed8a6d6c1ac5f8601c026572ac18
)
vcpkg_extract_source_archive_ex(
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${VERSION}
URL https://git.libssh.org/projects/libssh.git
REF 9c4af47965d284b2de26407bcd80473aba4ee4c9 # REFERENCE VERSION 0.9.5
SHA512 64e692a0bfa7f73585ea7b7b8b1d4c9a7f9be59565bfd4de32ca8cd9db121f87e7ad51f5c80269fbd99545af34dcf1894374ed8a6d6c1ac5f8601c026572ac18
PATCHES
0001-export-pkgconfig-file.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
@ -40,6 +36,14 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
vcpkg_copy_pdbs()
#Fixup pthread naming
if(NOT VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_IS_WINDOWS)
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3d")
endif()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3")
endif()
vcpkg_fixup_pkgconfig()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)

View File

@ -1,6 +1,5 @@
Source: libvpx
Version: 1.9.0
Port-Version: 6
Port-Version: 7
Homepage: https://github.com/webmproject/libvpx
Description: The reference software implementation for the video coding formats VP8 and VP9.
Supports: !(uwp&arm)

View File

@ -1,6 +1,6 @@
Source: libwebp
Version: 1.1.0
Port-Version: 1
Port-Version: 2
Homepage: https://github.com/webmproject/libwebp
Description: WebP codec: library to encode and decode images in WebP format
Default-Features: simd, nearlossless

View File

@ -61,6 +61,12 @@ vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/WebP/cmake TARGET_PATH share/WebP) # find_package is called with WebP not libwebp
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebp.pc" "-lwebp" "-lwebpd")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpdecoder.pc" "-lwebpdecoder" "-lwebpdecoderd")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpdemux.pc" "-lwebpdemux" "-lwebpdemuxd")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpmux.pc" "-lwebpmux" "-lwebpmuxd")
vcpkg_fixup_pkgconfig()
set(BIN_NAMES get_disto gif2webp img2webp vwebp vwebp_sdl webpinfo webpmux webp_quality cwebp dwebp)
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/webp/")

View File

@ -30,6 +30,12 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
if(VCPKG_TARGET_IS_WINDOWS)
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libxml-2.0.pc" "-lxml2" "-llibxml2")
endif()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libxml-2.0.pc" "-lxml2" "-llibxml2")
endif ()
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()

View File

@ -1,7 +1,7 @@
{
"name": "libxml2",
"version-semver": "2.9.10",
"port-version": 3,
"port-version": 4,
"description": "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform).",
"homepage": "https://xmlsoft.org/",
"dependencies": [

View File

@ -1,5 +1,6 @@
Source: opencl
Version: 2.2
Port-Version: 6
Port-Version: 7
Homepage: https://github.com/KhronosGroup/OpenCL-Headers
Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL
Supports: !uwp

View File

@ -39,8 +39,16 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets()
if(VCPKG_TARGET_IS_WINDOWS)
# TODO: remove -lm from *.pc files
if(VCPKG_TARGET_IS_WINDOWS AND (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL MinGW))
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libopenjp2.pc" "-lm" "")
endif()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libopenjp2.pc" "-lm" "")
else()
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libopenjp2.pc" "-lm" "-lm -pthread")
endif()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libopenjp2.pc" "-lm" "-lm -pthread")
endif()
vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m)

View File

@ -1,7 +1,7 @@
{
"name": "openjpeg",
"version-semver": "2.3.1",
"port-version": 3,
"port-version": 4,
"description": "OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard from the Joint Photographic Experts Group (JPEG). Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.",
"homepage": "https://github.com/uclouvain/openjpeg",
"features": {

View File

@ -0,0 +1,11 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index dd08d31..7f364a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 3.8)
project("Pangolin")
set(PANGOLIN_VERSION_MAJOR 0)
set(PANGOLIN_VERSION_MINOR 5)
set(PANGOLIN_VERSION ${PANGOLIN_VERSION_MAJOR}.${PANGOLIN_VERSION_MINOR})

View File

@ -13,6 +13,7 @@ vcpkg_from_github(
fix-includepath-error.patch # include path has one more ../
fix-dependency-python.patch
add-definition.patch
fix-cmake-version.patch
)
file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake)

View File

@ -1,7 +1,7 @@
{
"name": "pangolin",
"version-string": "0.5",
"port-version": 13,
"port-version": 14,
"description": "Lightweight GUI Library",
"homepage": "https://github.com/stevenlovegrove/Pangolin",
"supports": "!uwp & !osx",

View File

@ -1,6 +1,6 @@
Source: tesseract
Version: 4.1.1
Port-Version: 6
Port-Version: 7
Homepage: https://github.com/tesseract-ocr/tesseract
Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
Build-Depends: leptonica, libarchive

View File

@ -47,6 +47,11 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake "${TESS
vcpkg_copy_tools(TOOL_NAMES tesseract AUTO_CLEAN)
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tesseract.pc" "-ltesseract41" "-ltesseract41d")
endif()
vcpkg_fixup_pkgconfig()
if("training-tools" IN_LIST FEATURES)
list(APPEND TRAINING_TOOLS
ambiguous_words classifier_tester combine_tessdata

View File

@ -1,5 +1,6 @@
Source: wavpack
Version: 5.3.0
Port-Version: 1
Homepage: https://github.com/dbry/WavPack
Description: WavPack encode/decode library, command-line programs, and several plugins
Supports: !(arm|arm64)

View File

@ -0,0 +1,22 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 70e1043f..d8cb8b10 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -328,7 +328,7 @@ foreach(EXPORT_SYMBOL ${WAVPACK_EXPORT_SYMBOLS})
list(APPEND FILE_CONTENTS "_${EXPORT_SYMBOL}\n")
endforeach()
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym ${FILE_CONTENTS})
- target_link_libraries(wavpack PRIVATE "-Wl,-exported_symbols_list,'${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym'")
+ set_target_properties(wavpack PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list,'${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym'")
else()
set(CONFTTEST_CONTENTS "VERS_1 {\n global: sym\;\n\n};\n\nVERS_2 {\n global: sym;\n} VERS_1\;")
file(WRITE ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map "${CONFTTEST_CONTENTS}")
@@ -340,7 +340,7 @@ list(APPEND FILE_CONTENTS "${EXPORT_SYMBOL}\;\n")
endforeach()
list(APPEND FILE_CONTENTS "local: *\; }\;")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map ${FILE_CONTENTS})
- target_link_libraries(wavpack PRIVATE "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map';-Wl,-no-undefined")
+ set_target_properties(wavpack PROPERTIES LINK_FLAGS "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map';-Wl,-no-undefined")
endif()
endif()

View File

@ -8,6 +8,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
OpenSSL.patch
fix-symbol-exports.patch
)
vcpkg_configure_cmake(

View File

@ -1,5 +1,6 @@
Source: x265
Version: 3.4
Port-Version: 2
Port-Version: 3
Homepage: https://github.com/videolan/x265
Description: x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream.
Supports: !(uwp | arm)

View File

@ -0,0 +1,5 @@
Source: vcpkg-ci-ffmpeg
Version: 1
Homepage: https://github.com/microsoft/vcpkg
Description: Port to force features of certain ports within CI
Build-Depends: ffmpeg[all-nonfree]

View File

@ -0,0 +1 @@
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)

View File

@ -1929,8 +1929,8 @@
"port-version": 0
},
"fdk-aac": {
"baseline": "2018-07-08-2",
"port-version": 0
"baseline": "2018-07-08",
"port-version": 3
},
"fdlibm": {
"baseline": "5.3-4",
@ -1938,11 +1938,11 @@
},
"ffmpeg": {
"baseline": "4.3.2",
"port-version": 1
"port-version": 2
},
"ffnvcodec": {
"baseline": "10.0.26.0",
"port-version": 0
"port-version": 1
},
"fftw3": {
"baseline": "3.3.8-7",
@ -2022,7 +2022,7 @@
},
"fontconfig": {
"baseline": "2.13.1",
"port-version": 4
"port-version": 5
},
"foonathan-memory": {
"baseline": "2019-07-21-1",
@ -2078,7 +2078,7 @@
},
"fribidi": {
"baseline": "1.0.10",
"port-version": 1
"port-version": 2
},
"frozen": {
"baseline": "1.0.0",
@ -3250,7 +3250,7 @@
},
"libmodplug": {
"baseline": "0.8.9.0",
"port-version": 6
"port-version": 7
},
"libmorton": {
"baseline": "0.2",
@ -3486,7 +3486,7 @@
},
"libssh": {
"baseline": "0.9.5",
"port-version": 1
"port-version": 2
},
"libssh2": {
"baseline": "1.9.0",
@ -3586,7 +3586,7 @@
},
"libvpx": {
"baseline": "1.9.0",
"port-version": 6
"port-version": 7
},
"libwandio": {
"baseline": "4.2.1",
@ -3598,7 +3598,7 @@
},
"libwebp": {
"baseline": "1.1.0",
"port-version": 1
"port-version": 2
},
"libwebsockets": {
"baseline": "4.1.6",
@ -3614,7 +3614,7 @@
},
"libxml2": {
"baseline": "2.9.10",
"port-version": 3
"port-version": 4
},
"libxmlmm": {
"baseline": "0.6.0",
@ -4398,7 +4398,7 @@
},
"opencl": {
"baseline": "2.2",
"port-version": 6
"port-version": 7
},
"opencolorio": {
"baseline": "1.1.1",
@ -4458,7 +4458,7 @@
},
"openjpeg": {
"baseline": "2.3.1",
"port-version": 3
"port-version": 4
},
"openmama": {
"baseline": "6.3.1",
@ -4606,7 +4606,7 @@
},
"pangolin": {
"baseline": "0.5",
"port-version": 13
"port-version": 14
},
"pangomm": {
"baseline": "2.40.1",
@ -5890,7 +5890,7 @@
},
"tesseract": {
"baseline": "4.1.1",
"port-version": 6
"port-version": 7
},
"tfhe": {
"baseline": "1.0.1-1",
@ -6338,7 +6338,7 @@
},
"wavpack": {
"baseline": "5.3.0",
"port-version": 0
"port-version": 1
},
"websocketpp": {
"baseline": "0.8.2",
@ -6426,7 +6426,7 @@
},
"x265": {
"baseline": "3.4",
"port-version": 2
"port-version": 3
},
"xalan-c": {
"baseline": "1.11-12",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "671b0954f5fe51fd11991f77f710901c26a8bd8b",
"version-string": "2018-07-08",
"port-version": 3
},
{
"git-tree": "4652092e7f7d8dc6578db286c7ce4ef7f5aebafd",
"version-string": "2018-07-08-2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "95a584d785f17bb9158d505bedfda26aa1c52db1",
"version-string": "4.3.2",
"port-version": 2
},
{
"git-tree": "8d581e93ca7ee374d63bae07dff49356c79dee8c",
"version-string": "4.3.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a8340b2c8379d1a6e0bbf5ae3ef2270074a2da2e",
"version-string": "10.0.26.0",
"port-version": 1
},
{
"git-tree": "85f47c87ba8461e3fddb5dfb28e4a89af683a989",
"version-string": "10.0.26.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "de83a21d912d9b87d8ad069d94dffcca201830a3",
"version-string": "2.13.1",
"port-version": 5
},
{
"git-tree": "2b49a3ee02b25efc3101d849a0df38280a1ca299",
"version-string": "2.13.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "197340b9f9db2c444b70c27b54cfbe0ce3601c0b",
"version-string": "1.0.10",
"port-version": 2
},
{
"git-tree": "cfd7b4f4b0342721b50ef5eab54510351797e343",
"version-string": "1.0.10",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "974a84bd910a82a86d2e27d2bb9416d0672390c4",
"version-string": "0.8.9.0",
"port-version": 7
},
{
"git-tree": "0a5fabb8c35482c3d20e2f207305fd233614c59f",
"version-string": "0.8.9.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a9b49412296a9eec38c564afa33555a92898a11f",
"version-string": "0.9.5",
"port-version": 2
},
{
"git-tree": "bf1fb5ae9324823a60784a5ed0ecbca8a3325214",
"version-string": "0.9.5",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "09c64743d3dc62d2fa0ef55ef52b7bdad45cea0c",
"version-string": "1.9.0",
"port-version": 7
},
{
"git-tree": "017466933d1b0a427b79b86b61129fb5cf12f05f",
"version-string": "1.9.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8e1a0ef8ea8d864f10f3ad1604f3d0e920534ecd",
"version-string": "1.1.0",
"port-version": 2
},
{
"git-tree": "de60c0060bd08d336b79bf5676c28394e81bf1b8",
"version-string": "1.1.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "98c48a2d0545e6d392084260abc6411eb44f0577",
"version-semver": "2.9.10",
"port-version": 4
},
{
"git-tree": "7aa5a9ea1742082d57eb67708f107ade65f94c12",
"version-semver": "2.9.10",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "9f93abeb8cc37eb7d67dc0c5f526ec264735de56",
"version-string": "2.2",
"port-version": 7
},
{
"git-tree": "c886ba756e6871aa46eeca3d34cb9ca852fcb3e9",
"version-string": "2.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a11a593758d57ee96493bd2cb667ac1aa88e972c",
"version-semver": "2.3.1",
"port-version": 4
},
{
"git-tree": "55220d839365c2134574acc4e9b43b8adc2e20ab",
"version-semver": "2.3.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b93d201ff49c7b409349f6322d8f23cb630da0e5",
"version-string": "0.5",
"port-version": 14
},
{
"git-tree": "e746f01a619539fbbb0aae9b0edb9df733e555d7",
"version-string": "0.5",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "486def9d5e02e287825fb8a27227f2b965a3e109",
"version-string": "4.1.1",
"port-version": 7
},
{
"git-tree": "46aa8d12c08674f4518e9b74b32826bbb380cac9",
"version-string": "4.1.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "73e8b55fed24b05b9c0b9f84d1bc85196c241ca3",
"version-string": "5.3.0",
"port-version": 1
},
{
"git-tree": "ab00fac3cf38ba1104e6365183fe6f7bef09f46d",
"version-string": "5.3.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "aa119fefeb5d57dd2b34ec63ea94942f868f1d94",
"version-string": "3.4",
"port-version": 3
},
{
"git-tree": "6323296cab664ff847a474065dd4ba983c742781",
"version-string": "3.4",