mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 10:21:07 +08:00
[ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. (#11277)
Co-authored-by: Phoebe <20694052+PhoebeHui@users.noreply.github.com>
This commit is contained in:
parent
bc88079632
commit
272269583c
@ -198,6 +198,6 @@ if(NOT DISABLE_INSTALL_HEADERS)
|
||||
libSYS/include/FDK_audio.h
|
||||
libSYS/include/genericStds.h
|
||||
libSYS/include/machine_type.h
|
||||
DESTINATION include
|
||||
DESTINATION include/fdk-aac
|
||||
)
|
||||
endif()
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: fdk-aac
|
||||
Version: 2018-07-08-1
|
||||
Version: 2018-07-08-2
|
||||
Homepage: https://github.com/mstorsjo/fdk-aac
|
||||
Description: A standalone library of the Fraunhofer FDK AAC code
|
||||
|
@ -12,7 +12,7 @@ index bd2de34..fba948a 100755
|
||||
*)
|
||||
optname="${opt%%=*}"
|
||||
optname="${optname#--}"
|
||||
@@ -6152,8 +6155,13 @@ fi
|
||||
@@ -6152,8 +6153,13 @@
|
||||
|
||||
enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion ||
|
||||
check_lib zlib zlib.h zlibVersion -lz; }
|
||||
@ -28,3 +28,16 @@ index bd2de34..fba948a 100755
|
||||
|
||||
# On some systems dynamic loading requires no extra linker flags
|
||||
check_lib libdl dlfcn.h "dlopen dlsym" || check_lib libdl dlfcn.h "dlopen dlsym" -ldl
|
||||
@@ -6350,7 +6350,11 @@ enabled librubberband && require_pkg_config librubberband "rubberband >= 1.8
|
||||
enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer
|
||||
enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init ||
|
||||
require libsmbclient libsmbclient.h smbc_init -lsmbclient; }
|
||||
-enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
+if enabled debug_configure; then
|
||||
+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappyd -lstdc++
|
||||
+else
|
||||
+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
+fi
|
||||
enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
|
||||
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
|
||||
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
|
||||
|
@ -2,15 +2,35 @@ diff --git a/configure b/configure
|
||||
index 3bdcfc6..00b2f13 100644
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6360,6 +6360,7 @@ enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal"
|
||||
@@ -6251,7 +6251,8 @@ if enabled libmfx; then
|
||||
enabled libmfx && { check_pkg_config libmfx libmfx "mfx/mfxvideo.h" MFXInit ||
|
||||
{ require libmfx "mfx/mfxvideo.h" MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
|
||||
enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load
|
||||
-enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs
|
||||
+enabled libmp3lame && { check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs ||
|
||||
+ require libmp3lame lame/lame.h lame_set_VBR_quality -llibmp3lame-static -llibmpghip-static $libm_extralibs; }
|
||||
enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_load ||
|
||||
require libmysofa mysofa.h mysofa_load -lmysofa $zlib_extralibs; }
|
||||
enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei ||
|
||||
@@ -6292,7 +6293,7 @@ if enabled debug_configure; then
|
||||
else
|
||||
enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
|
||||
fi
|
||||
-enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
|
||||
+enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr -lm
|
||||
enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
|
||||
enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
|
||||
enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket
|
||||
@@ -6360,6 +6361,8 @@ enabled openal && { { for al_extralibs in "${OPENAL_LIBS}" "-lopenal"
|
||||
enabled opencl && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel ||
|
||||
check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL ||
|
||||
check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL ||
|
||||
+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -lAdvapi32 -lOle32 -lCfgmgr32||
|
||||
+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -pthread -ldl ||
|
||||
die "ERROR: opencl not found"; } &&
|
||||
{ test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" ||
|
||||
test_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" ||
|
||||
@@ -6379,6 +6380,7 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP
|
||||
@@ -6379,6 +6382,7 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
|
||||
@ -18,3 +38,12 @@ index 3bdcfc6..00b2f13 100644
|
||||
die "ERROR: openssl not found"; }
|
||||
enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init
|
||||
enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create &&
|
||||
@@ -6707,7 +6711,7 @@ enabled amf &&
|
||||
if enabled libc_iconv; then
|
||||
check_func_headers iconv.h iconv
|
||||
elif enabled iconv; then
|
||||
- check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv
|
||||
+ check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv || check_lib iconv iconv.h iconv -liconv -llibcharset
|
||||
fi
|
||||
|
||||
enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"
|
||||
|
15
ports/ffmpeg/0007-fix-lib-naming.patch
Normal file
15
ports/ffmpeg/0007-fix-lib-naming.patch
Normal file
@ -0,0 +1,15 @@
|
||||
diff --git a/configure b/configure
|
||||
index d6c4388..75b96c3 100644
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4378,6 +4378,10 @@ msvc_common_flags(){
|
||||
-march=*) ;;
|
||||
-lz) echo zlib.lib ;;
|
||||
-lx264) echo libx264.lib ;;
|
||||
+ -lx265) echo libx265.lib ;;
|
||||
+ -lmp3lame) echo libmp3lame.lib ;;
|
||||
+ -liconv) echo libiconv.lib ;;
|
||||
+ -lm) ;;
|
||||
-lstdc++) ;;
|
||||
-l*) echo ${flag#-l}.lib ;;
|
||||
-LARGEADDRESSAWARE) echo $flag ;;
|
27
ports/ffmpeg/0008-Fix-wavpack-detection.patch
Normal file
27
ports/ffmpeg/0008-Fix-wavpack-detection.patch
Normal file
@ -0,0 +1,27 @@
|
||||
diff --git a/configure b/configure
|
||||
index e7162dbc56..0f04af2a81 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6391,7 +6391,7 @@ enabled libvpx && {
|
||||
fi
|
||||
}
|
||||
|
||||
-enabled libwavpack && require libwavpack wavpack/wavpack.h WavpackOpenFileOutput -lwavpack
|
||||
+enabled libwavpack && { check_pkg_config libwavpack wavpack wavpack.h WavpackOpenFileOutput || check_lib libwavpack wavpack.h WavpackOpenFileOutput -lwavpack || check_lib libwavpack wavpack.h WavpackOpenFileOutput -llibwavpack || require libwavpack wavpack.h WavpackOpenFileOutput -lwavpackdll; }
|
||||
enabled libwebp && {
|
||||
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
|
||||
enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; }
|
||||
diff --git a/libavcodec/libwavpackenc.c b/libavcodec/libwavpackenc.c
|
||||
index e84b074893..9adf39861b 100644
|
||||
--- a/libavcodec/libwavpackenc.c
|
||||
+++ b/libavcodec/libwavpackenc.c
|
||||
@@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
-#include <wavpack/wavpack.h>
|
||||
+#include <wavpack.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "libavutil/attributes.h"
|
||||
|
14
ports/ffmpeg/0009-Fix-fdk-detection.patch
Normal file
14
ports/ffmpeg/0009-Fix-fdk-detection.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/configure b/configure
|
||||
index b137669dd3..34c92230f4 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6331,7 +6331,7 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2.
|
||||
enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new
|
||||
enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion
|
||||
enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen ||
|
||||
- { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac &&
|
||||
+ { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac -lm -lstdc++ &&
|
||||
warn "using libfdk without pkg-config"; } }
|
||||
flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
|
||||
enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs
|
||||
|
14
ports/ffmpeg/0010-Fix-x264-detection.patch
Normal file
14
ports/ffmpeg/0010-Fix-x264-detection.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/configure b/configure
|
||||
index b137669dd3..34a2e644c4 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6443,7 +6443,7 @@ enabled libwebp && {
|
||||
enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
|
||||
enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; }
|
||||
enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode ||
|
||||
- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" &&
|
||||
+ { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs -ldl" &&
|
||||
warn "using libx264 without pkg-config"; } } &&
|
||||
require_cpp_condition libx264 x264.h "X264_BUILD >= 118" &&
|
||||
check_cpp_condition libx262 x264.h "X264_MPEG2"
|
||||
|
16
ports/ffmpeg/0011-Fix-x265-detection.patch
Normal file
16
ports/ffmpeg/0011-Fix-x265-detection.patch
Normal file
@ -0,0 +1,16 @@
|
||||
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
|
||||
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" &&
|
||||
+ warn "using libx265 without pkg-config"; } } &&
|
||||
require_cpp_condition libx265 x265.h "X265_BUILD >= 68"
|
||||
enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs"
|
||||
enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get
|
||||
|
13
ports/ffmpeg/0012-Fix-ssl-110-detection.patch
Normal file
13
ports/ffmpeg/0012-Fix-ssl-110-detection.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/configure b/configure
|
||||
index 2be953f7e7..e075949ffc 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6497,6 +6497,7 @@ enabled omx_rpi && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoR
|
||||
die "ERROR: OpenMAX IL headers not found"; } && enable omx
|
||||
enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl ||
|
||||
check_pkg_config openssl openssl openssl/ssl.h SSL_library_init ||
|
||||
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto $pthreads_extralibs -ldl ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
|
||||
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
|
||||
|
@ -1,11 +1,10 @@
|
||||
Source: ffmpeg
|
||||
Version: 4.2
|
||||
Port-Version: 18
|
||||
Build-Depends: zlib
|
||||
Port-Version: 20
|
||||
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.
|
||||
Default-Features: avresample, avcodec, avformat, avdevice, avfilter, swresample, swscale
|
||||
Default-Features: avresample, avcodec, avformat, avdevice, avfilter, postproc, swresample, swscale
|
||||
|
||||
Feature: ffmpeg
|
||||
Description: build the ffmpeg.exe application
|
||||
@ -14,47 +13,12 @@ Feature: ffserver
|
||||
Description: ffserver appplication support in ffmpeg
|
||||
|
||||
Feature: ffplay
|
||||
Build-Depends: ffmpeg[sdl2]
|
||||
Description: ffplay appplication support in ffmpeg
|
||||
|
||||
Feature: ffprobe
|
||||
Description: ffprobe appplication support in ffmpeg
|
||||
|
||||
Feature: openssl
|
||||
Build-Depends: openssl, ffmpeg[nonfree]
|
||||
Description: openssl support in ffmpeg
|
||||
|
||||
Feature: lzma
|
||||
Build-Depends: liblzma
|
||||
Description: lzma support in ffmpeg
|
||||
|
||||
Feature: bzip2
|
||||
Build-Depends: bzip2
|
||||
Description: bzip2 support in ffmpeg
|
||||
|
||||
Feature: vpx
|
||||
Build-Depends: libvpx
|
||||
Description: WebM VP8/VP9 support in ffmpeg
|
||||
|
||||
Feature: x264
|
||||
Build-Depends: x264, ffmpeg[gpl]
|
||||
Description: x264 support in ffmpeg
|
||||
|
||||
Feature: opencl
|
||||
Build-Depends: opencl
|
||||
Description: opencl support in ffmpeg
|
||||
|
||||
Feature: nonfree
|
||||
Description: allow nonfree and unredistributable libraries
|
||||
|
||||
Feature: gpl
|
||||
Description: allow GPL licensed libraries
|
||||
|
||||
Feature: version3
|
||||
Description: upgrade (L)GPL to version 3
|
||||
|
||||
Feature: avresample
|
||||
Description: Libav audio resampling library support in ffmpeg
|
||||
|
||||
Feature: avcodec
|
||||
Description: Codec support in ffmpeg
|
||||
|
||||
@ -67,16 +31,107 @@ Description: Device support in ffmpeg
|
||||
Feature: avfilter
|
||||
Description: Filter support in ffmpeg
|
||||
|
||||
Feature: postproc
|
||||
Description: Postproc support in ffmpeg
|
||||
|
||||
Feature: swresample
|
||||
Description: Swresample support in ffmpeg
|
||||
|
||||
Feature: swscale
|
||||
Description: Swscale support in ffmpeg
|
||||
|
||||
Feature: nvcodec
|
||||
Build-Depends: ffnvcodec, cuda
|
||||
Description: Hardware accelerated codecs
|
||||
Feature: avresample
|
||||
Description: Libav audio resampling library support in ffmpeg
|
||||
|
||||
Feature: nonfree
|
||||
Description: allow nonfree and unredistributable libraries
|
||||
|
||||
Feature: gpl
|
||||
Description: allow GPL licensed libraries
|
||||
|
||||
Feature: version3
|
||||
Description: upgrade (L)GPL to version 3
|
||||
|
||||
Feature: avisynthplus
|
||||
Build-Depends: avisynthplus, ffmpeg[gpl]
|
||||
Description: avisynthplus support in ffmpeg
|
||||
|
||||
Feature: bzip2
|
||||
Build-Depends: bzip2
|
||||
Description: bzip2 support in ffmpeg
|
||||
|
||||
Feature: iconv
|
||||
Build-Depends: libiconv
|
||||
Description: iconv support in ffmpeg
|
||||
|
||||
Feature: fdk-aac
|
||||
Build-Depends: fdk-aac, ffmpeg[nonfree]
|
||||
Description: AAC de/encoding via libfdk-aac support in ffmpeg
|
||||
|
||||
Feature: lzma
|
||||
Build-Depends: liblzma
|
||||
Description: lzma support in ffmpeg
|
||||
|
||||
Feature: mp3lame
|
||||
Build-Depends: mp3lame
|
||||
Description: MP3 encoding via libmp3lame support in ffmpeg
|
||||
|
||||
Feature: nvcodec
|
||||
Build-Depends: ffnvcodec
|
||||
Description: Hardware accelerated codecs
|
||||
|
||||
Feature: opencl
|
||||
Build-Depends: opencl
|
||||
Description: OpenCL processing support in ffmpeg
|
||||
|
||||
Feature: openssl
|
||||
Build-Depends: openssl, ffmpeg[nonfree]
|
||||
Description: openssl support in ffmpeg
|
||||
|
||||
Feature: opus
|
||||
Build-Depends: opus
|
||||
Description: Opus de/encoding via libopus support in ffmpeg
|
||||
|
||||
Feature: sdl2
|
||||
Build-Depends: sdl2
|
||||
Description: sdl2 support in ffmpeg
|
||||
|
||||
Feature: snappy
|
||||
Build-Depends: snappy
|
||||
Description: Snappy compression, needed for hap encoding support in ffmpeg
|
||||
|
||||
Feature: soxr
|
||||
Build-Depends: soxr
|
||||
Description: libsoxr resampling support in ffmpeg
|
||||
|
||||
Feature: speex
|
||||
Build-Depends: speex
|
||||
Description: Speex de/encoding via libspeex support in ffmpeg
|
||||
|
||||
Feature: theora
|
||||
Build-Depends: libtheora
|
||||
Description: Theora encoding via libtheora support in ffmpeg
|
||||
|
||||
Feature: vorbis
|
||||
Build-Depends: libvorbis
|
||||
Description: Vorbis en/decoding via libvorbis support in ffmpeg
|
||||
|
||||
Feature: vpx
|
||||
Build-Depends: libvpx
|
||||
Description: VP8 and VP9 de/encoding via libvpx support in ffmpeg
|
||||
|
||||
Feature: wavpack
|
||||
Build-Depends: wavpack
|
||||
Description: wavpack encoding via libwavpack support in ffmpeg
|
||||
|
||||
Feature: x264
|
||||
Build-Depends: x264, ffmpeg[gpl]
|
||||
Description: H.264 encoding via x264 support in ffmpeg
|
||||
|
||||
Feature: x265
|
||||
Build-Depends: x265, ffmpeg[gpl]
|
||||
Description: HEVC encoding via x265 support in ffmpeg
|
||||
|
||||
Feature: zlib
|
||||
Build-Depends: zlib
|
||||
Description: zlib support in ffmpeg
|
||||
|
@ -33,11 +33,7 @@ set(FFMPEG_VERSION "4.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)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -pthread -lX11)
|
||||
endif()
|
||||
|
||||
if(@ENABLE_BZIP2@)
|
||||
@ -47,61 +43,182 @@ if(@ENABLE_BZIP2@)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${BZip2_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${BZip2_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_ICONV@)
|
||||
find_dependency(unofficial-iconv)
|
||||
get_target_property(ICONV_LIBRARY_RELEASE unofficial::iconv::libiconv IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(ICONV_LIBRARY_DEBUG unofficial::iconv::libiconv IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${ICONV_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${ICONV_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_FDKAAC@)
|
||||
find_library(FDK_LIBRARY_RELEASE NAMES fdk-aac libfdk-aac PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(FDK_LIBRARY_DEBUG NAMES fdk-aac libfdk-aac PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
select_library_configurations(FDK)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${FDK_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${FDK_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_LZMA@)
|
||||
find_dependency(LibLZMA)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${LibLZMA_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${LibLZMA_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_LAME@)
|
||||
find_dependency(mp3lame)
|
||||
get_target_property(LAME_LIBRARY_RELEASE mp3lame::mp3lame IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(LAME_LIBRARY_DEBUG mp3lame::mp3lame IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${LAME_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${LAME_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_OPENCL@)
|
||||
find_dependency(OpenCL)
|
||||
get_target_property(OPENCL_LIBRARY_RELEASE OpenCL::OpenCL IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(OPENCL_LIBRARY_DEBUG OpenCL::OpenCL IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${OPENCL_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${OPENCL_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_OPENSSL@)
|
||||
find_dependency(OpenSSL)
|
||||
get_target_property(LIBSSL_LIBRARY_RELEASE OpenSSL::SSL IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(LIBSSL_LIBRARY_DEBUG OpenSSL::SSL IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${LIBSSL_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${LIBSSL_LIBRARY_RELEASE}>")
|
||||
get_target_property(LIBCRYPTO_LIBRARY_RELEASE OpenSSL::Crypto IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(LIBCRYPTO_LIBRARY_DEBUG OpenSSL::Crypto IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${LIBCRYPTO_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${LIBCRYPTO_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_OPUS@)
|
||||
find_dependency(Opus)
|
||||
get_target_property(OPUS_LIBRARY_RELEASE Opus::opus IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(OPUS_LIBRARY_DEBUG Opus::opus IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${OPUS_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${OPUS_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_SDL2@)
|
||||
find_dependency(SDL2)
|
||||
get_target_property(SDL2_LIBRARY_RELEASE SDL2::SDL2 IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(SDL2_LIBRARY_DEBUG SDL2::SDL2 IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${SDL2_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${SDL2_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_SNAPPY@)
|
||||
find_dependency(Snappy)
|
||||
get_target_property(SNAPPY_LIBRARY_RELEASE Snappy::snappy IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(SNAPPY_LIBRARY_DEBUG Snappy::snappy IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${SNAPPY_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${SNAPPY_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_SOXR@)
|
||||
find_library(SOXR_LIBRARY_RELEASE NAMES soxr PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(SOXR_LIBRARY_DEBUG NAMES soxr PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
select_library_configurations(SOXR)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${SOXR_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${SOXR_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_SPEEX@)
|
||||
find_library(SPEEX_LIBRARY_RELEASE NAMES speex libspeex PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(SPEEX_LIBRARY_DEBUG NAMES speex libspeex PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
select_library_configurations(SPEEX)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${SPEEX_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${SPEEX_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_THEORA@)
|
||||
find_library(THEORA_LIBRARY_RELEASE NAMES theora PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(THEORA_LIBRARY_DEBUG NAMES theora PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
select_library_configurations(SPEEX)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${THEORA_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${THEORA_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_VORBIS@)
|
||||
find_dependency(Vorbis)
|
||||
get_target_property(VORBIS_LIBRARY_RELEASE Vorbis::vorbis IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(VORBIS_LIBRARY_DEBUG Vorbis::vorbis IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${VORBIS_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${VORBIS_LIBRARY_RELEASE}>")
|
||||
get_target_property(VORBISENC_LIBRARY_RELEASE Vorbis::vorbisenc IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(VORBISENC_LIBRARY_DEBUG Vorbis::vorbisenc IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${VORBISENC_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${VORBISENC_LIBRARY_RELEASE}>")
|
||||
get_target_property(VORBIS_DEP_LIBRARIES Vorbis::vorbis INTERFACE_LINK_LIBRARIES)
|
||||
foreach(deps ${VORBIS_DEP_LIBRARIES})
|
||||
if(TARGET ${deps})
|
||||
get_target_property(VORBIS_DEP_LIBRARY_RELEASE ${deps} IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(VORBIS_DEP_LIBRARY_DEBUG ${deps} INTERFACE_LINK_LIBRARIES)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${VORBIS_DEP_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${VORBIS_DEP_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(@ENABLE_VPX@)
|
||||
find_dependency(unofficial-libvpx)
|
||||
get_target_property(VPX_LIBRARY_RELEASE unofficial::libvpx::libvpx IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(VPX_LIBRARY_DEBUG unofficial::libvpx::libvpx IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${VPX_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${VPX_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_WAVPACK@)
|
||||
find_dependency(wavpack)
|
||||
get_target_property(WAVPACK_LIBRARY_RELEASE WavPack::wavpack IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(WAVPACK_LIBRARY_DEBUG WavPack::wavpack IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${WAVPACK_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${WAVPACK_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_X264@)
|
||||
find_library(X264_LIBRARY_RELEASE NAMES x264 libx264 PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(X264_LIBRARY_DEBUG NAMES x264 libx264 PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
select_library_configurations(X264)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${X264_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${X264_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_X265@)
|
||||
find_library(X265_LIBRARY_RELEASE NAMES x265 x265-static PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(X265_LIBRARY_DEBUG NAMES x265 x265-static PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
select_library_configurations(X265)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${X265_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${X265_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
if(@ENABLE_ZLIB@)
|
||||
find_dependency(ZLIB)
|
||||
get_target_property(ZLIB_LIBRARY_RELEASE ZLIB::ZLIB IMPORTED_LOCATION_RELEASE)
|
||||
get_target_property(ZLIB_LIBRARY_DEBUG ZLIB::ZLIB IMPORTED_LOCATION_DEBUG)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$<CONFIG:Debug>:${ZLIB_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${ZLIB_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
|
||||
# Platform dependent libraries required by FFMPEG
|
||||
if(WIN32)
|
||||
if(NOT CYGWIN)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS wsock32 ws2_32 secur32 bcrypt)
|
||||
list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS wsock32 ws2_32 secur32 bcrypt strmiids Vfw32 Shlwapi)
|
||||
endif()
|
||||
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} PATH_SUFFIXES ffmpeg)
|
||||
find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATHS ${_IMPORT_PREFIX}/include NO_DEFAULT_PATH)
|
||||
endif()
|
||||
if(NOT FFMPEG_${varname}_LIBRARY)
|
||||
find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATH_SUFFIXES ffmpeg ffmpeg/lib)
|
||||
find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH)
|
||||
find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname} PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH)
|
||||
get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY)
|
||||
find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS debug PATH_SUFFIXES ffmpeg ffmpeg/lib ffmpeg/debug/lib debug/ffmpeg/lib)
|
||||
get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY)
|
||||
select_library_configurations(FFMPEG_${varname})
|
||||
endif()
|
||||
if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS)
|
||||
set(FFMPEG_${varname}_FOUND 1)
|
||||
set(FFMPEG_${varname}_FOUND TRUE BOOL)
|
||||
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIRS})
|
||||
list(APPEND FFMPEG_LIBRARIES ${FFMPEG_${varname}_LIBRARY})
|
||||
list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR})
|
||||
endif()
|
||||
endmacro(FFMPEG_FIND)
|
||||
|
||||
macro(FFMPEG_FIND_GENEX varname shortname headername)
|
||||
if(NOT FFMPEG_${varname}_INCLUDE_DIRS)
|
||||
find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATH_SUFFIXES ffmpeg)
|
||||
endif()
|
||||
if(NOT FFMPEG_${varname}_LIBRARY)
|
||||
find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATH_SUFFIXES ffmpeg ffmpeg/lib)
|
||||
get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY)
|
||||
find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS debug PATH_SUFFIXES ffmpeg ffmpeg/lib ffmpeg/debug/lib debug/ffmpeg/lib)
|
||||
get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY)
|
||||
set(FFMPEG_${varname}_LIBRARY "$<$<CONFIG:Debug>:${FFMPEG_${varname}_LIBRARY_DEBUG}>$<$<CONFIG:Release>:${FFMPEG_${varname}_LIBRARY_RELEASE}>" CACHE STRING "")
|
||||
set(FFMPEG_${varname}_LIBRARIES ${FFMPEG_${varname}_LIBRARY} CACHE STRING "")
|
||||
endif()
|
||||
if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS)
|
||||
set(FFMPEG_${varname}_FOUND 1)
|
||||
list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR})
|
||||
endif()
|
||||
endmacro(FFMPEG_FIND_GENEX)
|
||||
|
||||
if(WIN32)
|
||||
FFMPEG_FIND_GENEX(libzlib zlib zlib.h)
|
||||
else()
|
||||
FFMPEG_FIND_GENEX(libzlib z zlib.h)
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
find_library(VT_UNIT VideoToolbox)
|
||||
if (NOT VT_UNIT)
|
||||
@ -146,68 +263,28 @@ endif()
|
||||
if(@ENABLE_AVRESAMPLE@)
|
||||
FFMPEG_FIND(libavresample avresample avresample.h)
|
||||
endif()
|
||||
FFMPEG_FIND(libavutil avutil avutil.h)
|
||||
FFMPEG_FIND(libavutil avutil avutil.h)
|
||||
if(@ENABLE_POSTPROC@)
|
||||
FFMPEG_FIND(libpostproc postproc postprocess.h)
|
||||
endif()
|
||||
if(@ENABLE_SWRESAMPLE@)
|
||||
FFMPEG_FIND(libswresample swresample swresample.h)
|
||||
endif()
|
||||
if(@ENABLE_SWSCALE@)
|
||||
FFMPEG_FIND(libswscale swscale swscale.h)
|
||||
endif(@ENABLE_SWSCALE@)
|
||||
endif()
|
||||
|
||||
if (FFMPEG_libavutil_FOUND AND FFMPEG_libzlib_FOUND)
|
||||
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libavutil_INCLUDE_DIRS})
|
||||
if(FFMPEG_libavcodec_FOUND)
|
||||
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libavcodec_INCLUDE_DIRS})
|
||||
endif()
|
||||
if(FFMPEG_libavdevice_FOUND)
|
||||
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libavdevice_INCLUDE_DIRS})
|
||||
endif()
|
||||
if(FFMPEG_libavformat_FOUND)
|
||||
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libavformat_INCLUDE_DIRS})
|
||||
endif()
|
||||
if(FFMPEG_libswscale_FOUND)
|
||||
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libswscale_INCLUDE_DIRS})
|
||||
endif()
|
||||
if (FFMPEG_libavutil_FOUND)
|
||||
list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS)
|
||||
list(REMOVE_DUPLICATES FFMPEG_LIBRARY_DIRS)
|
||||
|
||||
if(FFMPEG_libavcodec_FOUND)
|
||||
set(FFMPEG_libavcodec_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
if(FFMPEG_libavdevice_FOUND)
|
||||
set(FFMPEG_libavdevice_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
if(FFMPEG_libavfilter_FOUND)
|
||||
set(FFMPEG_libavfilter_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
if(FFMPEG_libavformat_FOUND)
|
||||
set(FFMPEG_libavformat_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
if(FFMPEG_libavresample_FOUND)
|
||||
set(FFMPEG_libavresample_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
set(FFMPEG_libavutil_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
if(FFMPEG_libswresample_FOUND)
|
||||
set(FFMPEG_libswresample_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
if(FFMPEG_libswscale_FOUND)
|
||||
set(FFMPEG_libswscale_VERSION "${FFMPEG_VERSION}" CACHE STRING "")
|
||||
endif()
|
||||
|
||||
list(APPEND FFMPEG_LIBRARIES
|
||||
${FFMPEG_libavdevice_LIBRARY}
|
||||
${FFMPEG_libavfilter_LIBRARY}
|
||||
${FFMPEG_libavformat_LIBRARY}
|
||||
${FFMPEG_libswscale_LIBRARY}
|
||||
${FFMPEG_libavcodec_LIBRARY}
|
||||
${FFMPEG_libswresample_LIBRARY}
|
||||
${FFMPEG_libavresample_LIBRARY}
|
||||
${FFMPEG_libavutil_LIBRARY}
|
||||
${FFMPEG_libzlib_LIBRARY}
|
||||
${FFMPEG_PLATFORM_DEPENDENT_LIBS}
|
||||
)
|
||||
|
||||
set(FFMPEG_LIBRARY ${FFMPEG_LIBRARIES})
|
||||
|
||||
set(FFMPEG_FOUND TRUE CACHE BOOL "")
|
||||
set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE STRING "")
|
||||
set(FFMPEG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS} CACHE STRING "")
|
||||
set(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBRARY_DIRS} CACHE STRING "")
|
||||
|
@ -10,6 +10,12 @@ vcpkg_from_github(
|
||||
0004-fix-debug-build.patch
|
||||
0005-fix-libvpx-linking.patch
|
||||
0006-fix-StaticFeatures.patch
|
||||
0007-fix-lib-naming.patch
|
||||
0008-Fix-wavpack-detection.patch
|
||||
0009-Fix-fdk-detection.patch
|
||||
0010-Fix-x264-detection.patch
|
||||
0011-Fix-x265-detection.patch
|
||||
0012-Fix-ssl-110-detection.patch
|
||||
)
|
||||
|
||||
if (${SOURCE_PATH} MATCHES " ")
|
||||
@ -36,9 +42,9 @@ if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh)
|
||||
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make)
|
||||
vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make pkg-config)
|
||||
else()
|
||||
vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make)
|
||||
vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make pkg-config)
|
||||
endif()
|
||||
|
||||
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
|
||||
@ -69,12 +75,6 @@ if("version3" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-version3")
|
||||
endif()
|
||||
|
||||
if("openssl" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-openssl")
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-openssl")
|
||||
endif()
|
||||
|
||||
if("ffmpeg" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-ffmpeg")
|
||||
else()
|
||||
@ -93,46 +93,6 @@ else()
|
||||
set(OPTIONS "${OPTIONS} --disable-ffprobe")
|
||||
endif()
|
||||
|
||||
if("vpx" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libvpx")
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libvpx")
|
||||
endif()
|
||||
|
||||
if("x264" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libx264")
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libx264")
|
||||
endif()
|
||||
|
||||
if("opencl" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-opencl")
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-opencl")
|
||||
endif()
|
||||
|
||||
set (ENABLE_LZMA OFF)
|
||||
if("lzma" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-lzma")
|
||||
set (ENABLE_LZMA ON) #necessary for configuring FFMPEG CMake Module
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-lzma")
|
||||
endif()
|
||||
|
||||
set (ENABLE_BZIP2 OFF)
|
||||
if("bzip2" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-bzlib")
|
||||
set (ENABLE_BZIP2 ON) #necessary for configuring FFMPEG CMake Module
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-bzlib")
|
||||
endif()
|
||||
|
||||
set(ENABLE_AVRESAMPLE OFF)
|
||||
if("avresample" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-avresample")
|
||||
set(ENABLE_AVRESAMPLE ON) #necessary for configuring FFMPEG CMake Module
|
||||
endif()
|
||||
|
||||
if("avcodec" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-avcodec")
|
||||
set(ENABLE_AVCODEC ON)
|
||||
@ -165,6 +125,14 @@ else()
|
||||
set(ENABLE_AVFILTER OFF)
|
||||
endif()
|
||||
|
||||
if("postproc" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-postproc")
|
||||
set(ENABLE_POSTPROC ON)
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-postproc")
|
||||
set(ENABLE_POSTPROC OFF)
|
||||
endif()
|
||||
|
||||
if("swresample" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-swresample")
|
||||
set(ENABLE_SWRESAMPLE ON)
|
||||
@ -181,14 +149,10 @@ else()
|
||||
set(ENABLE_SWSCALE OFF)
|
||||
endif()
|
||||
|
||||
if (VCPKG_TARGET_IS_OSX)
|
||||
set(OPTIONS "${OPTIONS} --disable-vdpau") # disable vdpau in OSX
|
||||
endif()
|
||||
|
||||
if("nvcodec" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-cuvid --disable-libnpp")
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-cuvid --disable-libnpp")
|
||||
set(ENABLE_AVRESAMPLE OFF)
|
||||
if("avresample" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-avresample")
|
||||
set(ENABLE_AVRESAMPLE ON)
|
||||
endif()
|
||||
|
||||
if("avisynthplus" IN_LIST FEATURES)
|
||||
@ -197,6 +161,174 @@ 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")
|
||||
set(ENABLE_BZIP2 ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-bzlib")
|
||||
endif()
|
||||
|
||||
set(ENABLE_ICONV OFF)
|
||||
if("iconv" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-iconv")
|
||||
set(ENABLE_ICONV ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-iconv")
|
||||
endif()
|
||||
|
||||
set(ENABLE_FDKAAC OFF)
|
||||
if("fdk-aac" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libfdk-aac")
|
||||
set(ENABLE_FDKAAC ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libfdk-aac")
|
||||
endif()
|
||||
|
||||
set(ENABLE_LZMA OFF)
|
||||
if("lzma" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-lzma")
|
||||
set(ENABLE_LZMA ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-lzma")
|
||||
endif()
|
||||
|
||||
set(ENABLE_LAME OFF)
|
||||
if("mp3lame" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libmp3lame")
|
||||
set(ENABLE_LAME ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libmp3lame")
|
||||
endif()
|
||||
|
||||
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(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid")
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-nvdec --disable-cuvid")
|
||||
endif()
|
||||
|
||||
set(ENABLE_OPENCL OFF)
|
||||
if("opencl" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-opencl")
|
||||
set(ENABLE_OPENCL ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-opencl")
|
||||
endif()
|
||||
|
||||
set(ENABLE_OPENSSL OFF)
|
||||
if("openssl" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-openssl")
|
||||
set(ENABLE_OPENSSL ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-openssl")
|
||||
endif()
|
||||
|
||||
set(ENABLE_OPUS OFF)
|
||||
if("opus" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libopus")
|
||||
set(ENABLE_OPUS ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libopus")
|
||||
endif()
|
||||
|
||||
set(ENABLE_SDL2 OFF)
|
||||
if("sdl2" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-sdl2")
|
||||
set(ENABLE_SDL2 ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-sdl2")
|
||||
endif()
|
||||
|
||||
set(ENABLE_SNAPPY OFF)
|
||||
if("snappy" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libsnappy")
|
||||
set(ENABLE_SNAPPY ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libsnappy")
|
||||
endif()
|
||||
|
||||
set(ENABLE_SOXR OFF)
|
||||
if("soxr" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libsoxr")
|
||||
set(ENABLE_SOXR ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libsoxr")
|
||||
endif()
|
||||
|
||||
set(ENABLE_SPEEX OFF)
|
||||
if("speex" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libspeex")
|
||||
set(ENABLE_SPEEX ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libspeex")
|
||||
endif()
|
||||
|
||||
set(ENABLE_THEORA OFF)
|
||||
if("theora" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libtheora")
|
||||
set(ENABLE_THEORA ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libtheora")
|
||||
endif()
|
||||
|
||||
set(ENABLE_VORBIS OFF)
|
||||
if("vorbis" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libvorbis")
|
||||
set(ENABLE_VORBIS ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libvorbis")
|
||||
endif()
|
||||
|
||||
set(ENABLE_VPX OFF)
|
||||
if("vpx" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libvpx")
|
||||
set(ENABLE_VPX ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libvpx")
|
||||
endif()
|
||||
|
||||
set(ENABLE_WAVPACK OFF)
|
||||
if("wavpack" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libwavpack")
|
||||
set(ENABLE_WAVPACK ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libwavpack")
|
||||
endif()
|
||||
|
||||
set(ENABLE_X264 OFF)
|
||||
if("x264" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libx264")
|
||||
set(ENABLE_X264 ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libx264")
|
||||
endif()
|
||||
|
||||
set(ENABLE_X265 OFF)
|
||||
if("x265" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-libx265")
|
||||
set(ENABLE_X265 ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-libx265")
|
||||
endif()
|
||||
|
||||
set(ENABLE_ZLIB OFF)
|
||||
if("zlib" IN_LIST FEATURES)
|
||||
set(OPTIONS "${OPTIONS} --enable-zlib")
|
||||
set(ENABLE_ZLIB ${STATIC_LINKAGE})
|
||||
else()
|
||||
set(OPTIONS "${OPTIONS} --disable-zlib")
|
||||
endif()
|
||||
|
||||
if (VCPKG_TARGET_IS_OSX)
|
||||
set(OPTIONS "${OPTIONS} --disable-vdpau") # disable vdpau in OSX
|
||||
endif()
|
||||
|
||||
set(OPTIONS_CROSS "")
|
||||
|
||||
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
@ -242,8 +374,11 @@ if(VCPKG_TARGET_IS_WINDOWS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(OPTIONS "${OPTIONS} --pkg-config-flags=--static")
|
||||
endif()
|
||||
|
||||
set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}")
|
||||
set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig")
|
||||
|
||||
message(STATUS "Building Options: ${OPTIONS}")
|
||||
|
||||
@ -253,6 +388,7 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release)
|
||||
set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${SEP}${ENV_LIB_PATH}")
|
||||
set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}")
|
||||
set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}")
|
||||
set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig")
|
||||
message(STATUS "Building ${_csc_PROJECT_PATH} for Release")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
||||
vcpkg_execute_required_process(
|
||||
@ -272,6 +408,7 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
|
||||
set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${SEP}${ENV_LIB_PATH}")
|
||||
set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}")
|
||||
set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}")
|
||||
set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig")
|
||||
message(STATUS "Building ${_csc_PROJECT_PATH} for Debug")
|
||||
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
|
||||
vcpkg_execute_required_process(
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: ffnvcodec
|
||||
Version: 9.1.23.1-1
|
||||
Version: 9.1.23.1
|
||||
Port-Version: 3
|
||||
Homepage: https://github.com/FFmpeg/nv-codec-headers
|
||||
Description: FFmpeg version of Nvidia Codec SDK headers.
|
||||
|
@ -29,6 +29,8 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore
|
||||
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}
|
||||
LOGNAME build-${TARGET_TRIPLET}
|
||||
)
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/ffnvcodec.pc DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
|
||||
|
||||
# Linux, etc.
|
||||
else()
|
||||
@ -46,8 +48,11 @@ else()
|
||||
# FFmpeg uses pkgconfig to find ffnvcodec.pc, so install it where
|
||||
# FFMpeg's call to pkgconfig expects to find it.
|
||||
file(INSTALL ${SOURCE_PATH}/ffnvcodec.pc DESTINATION ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
|
||||
file(INSTALL ${SOURCE_PATH}/ffnvcodec.pc DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig)
|
||||
endif()
|
||||
|
||||
# Install the files to their default vcpkg locations
|
||||
file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR})
|
||||
file(INSTALL ${CURRENT_PORT_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: libogg
|
||||
Version: 1.3.4
|
||||
Port-Version: 2
|
||||
Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.
|
||||
Homepage: https://github.com/xiph/ogg
|
||||
|
@ -11,7 +11,7 @@ vcpkg_from_github(
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS -DINSTALL_DOCS=0 -DINSTALL_PKG_CONFIG_MODULE=0
|
||||
OPTIONS -DINSTALL_DOCS=0 -DINSTALL_PKG_CONFIG_MODULE=1
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
@ -21,6 +21,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Ogg TARGET_PATH share/ogg)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
Source: libvorbis
|
||||
Version: 1.3.6-4d963fe
|
||||
Port-Version: 2
|
||||
Homepage: https://github.com/xiph/vorbis
|
||||
Description: Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format.
|
||||
Build-Depends: libogg
|
||||
|
@ -24,4 +24,10 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
# Handle copyright
|
||||
configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if(WIN32 AND (NOT MINGW))
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/vorbis.pc" "-lm" "")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/vorbis.pc" "-lm" "")
|
||||
endif()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
@ -1,5 +1,6 @@
|
||||
Source: opus
|
||||
Version: 1.3.1-3
|
||||
Version: 1.3.1
|
||||
Port-Version: 4
|
||||
Homepage: https://github.com/xiph/opus
|
||||
Description: Totally open, royalty-free, highly versatile audio codec
|
||||
|
||||
|
@ -21,6 +21,7 @@ vcpkg_configure_cmake(
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Opus)
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(INSTALL
|
||||
${SOURCE_PATH}/COPYING
|
||||
|
@ -0,0 +1,33 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 7dfd35389..7944f401b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1916,9 +1916,10 @@ listtostr(EXTRA_CFLAGS _EXTRA_CFLAGS)
|
||||
set(EXTRA_CFLAGS ${_EXTRA_CFLAGS})
|
||||
|
||||
# Compat helpers for the configuration files
|
||||
-if(NOT WINDOWS OR CYGWIN)
|
||||
# TODO: we need a Windows script, too
|
||||
+ if(NOT WINDOWS OR CYGWIN)
|
||||
execute_process(COMMAND sh ${SDL2_SOURCE_DIR}/build-scripts/updaterev.sh)
|
||||
+ endif()
|
||||
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
set(exec_prefix "\${prefix}")
|
||||
@@ -1960,7 +1961,6 @@ if(NOT WINDOWS OR CYGWIN)
|
||||
"${SDL2_BINARY_DIR}/sdl2-config" @ONLY)
|
||||
configure_file("${SDL2_SOURCE_DIR}/SDL2.spec.in"
|
||||
"${SDL2_BINARY_DIR}/SDL2.spec" @ONLY)
|
||||
-endif()
|
||||
|
||||
##### Info output #####
|
||||
message(STATUS "")
|
||||
@@ -2198,6 +2198,7 @@ if(NOT (WINDOWS OR CYGWIN))
|
||||
# TODO: what about the .spec file? Is it only needed for RPM creation?
|
||||
install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/aclocal")
|
||||
endif()
|
||||
+install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "lib${LIB_SUFFIX}/pkgconfig")
|
||||
|
||||
##### Uninstall target #####
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
Source: sdl2
|
||||
Version: 2.0.12-1
|
||||
Version: 2.0.12
|
||||
Port-Version: 3
|
||||
Homepage: https://www.libsdl.org/download-2.0.php
|
||||
Description: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
|
||||
|
||||
|
@ -15,6 +15,7 @@ vcpkg_extract_source_archive_ex(
|
||||
fix-space-in-path.patch
|
||||
disable-wcslcpy-and-wcslcat-for-windows.patch
|
||||
fix-EventToken-header-reference.patch
|
||||
0006-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC)
|
||||
@ -83,3 +84,14 @@ endif()
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
set(DYLIB_COMPATIBILITY_VERSION_REGEX "set\\(DYLIB_COMPATIBILITY_VERSION (.+)\\)")
|
||||
set(DYLIB_CURRENT_VERSION_REGEX "set\\(DYLIB_CURRENT_VERSION (.+)\\)")
|
||||
file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_COMPATIBILITY_VERSION REGEX ${DYLIB_COMPATIBILITY_VERSION_REGEX})
|
||||
file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_CURRENT_VERSION REGEX ${DYLIB_CURRENT_VERSION_REGEX})
|
||||
string(REGEX REPLACE ${DYLIB_COMPATIBILITY_VERSION_REGEX} "\\1" DYLIB_COMPATIBILITY_VERSION "${DYLIB_COMPATIBILITY_VERSION}")
|
||||
string(REGEX REPLACE ${DYLIB_CURRENT_VERSION_REGEX} "\\1" DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION}")
|
||||
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2" "-lSDL2d")
|
||||
|
||||
vcpkg_fixup_pkgconfig(IGNORE_FLAGS "-Wl,-rpath,${CURRENT_PACKAGES_DIR}/lib/pkgconfig/../../lib" "-Wl,-rpath,${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/../../lib" "-Wl,--enable-new-dtags" "-Wl,--no-undefined" "-Wl,-undefined,error" "-Wl,-compatibility_version,${DYLIB_COMPATIBILITY_VERSION}" "-Wl,-current_version,${DYLIB_CURRENT_VERSION}" "-Wl,-weak_framework,Metal" "-Wl,-weak_framework,QuartzCore")
|
||||
|
13
ports/speex/0001-make-pkg-config-lib-name-configurable.patch
Normal file
13
ports/speex/0001-make-pkg-config-lib-name-configurable.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/speex.pc.in b/speex.pc.in
|
||||
index 97bba4f..52a1d3c 100644
|
||||
--- a/speex.pc.in
|
||||
+++ b/speex.pc.in
|
||||
@@ -10,6 +10,6 @@ Description: Speex is an audio codec tuned for speech
|
||||
Version: @SPEEX_VERSION@
|
||||
Requires:
|
||||
Conflicts:
|
||||
-Libs: -L${libdir} -lspeex
|
||||
+Libs: -L${libdir} -l@SPEEXLIB@
|
||||
Libs.private: @LIBM@
|
||||
Cflags: -I${includedir}
|
||||
|
@ -1,6 +1,9 @@
|
||||
cmake_minimum_required (VERSION 3.8.0)
|
||||
project (libspeex C)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CheckLibraryExists)
|
||||
|
||||
option(USE_SSE "USE_SSE used Note: USE_SSE and FIXED_POINT are mutually exclusive." ON)
|
||||
if(MSVC)
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
@ -28,6 +31,15 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libspeex.def"
|
||||
"speex_header_free\n"
|
||||
)
|
||||
|
||||
file(STRINGS "configure.ac"
|
||||
_speex_version_defines REGEX "SPEEX_(MAJOR|MINOR|MICRO)_VERSION=([0-9]+)$")
|
||||
foreach(ver ${_speex_version_defines})
|
||||
if(ver MATCHES "SPEEX_(MAJOR|MINOR|MICRO)_VERSION=([0-9]+)$")
|
||||
set(SPEEX_${CMAKE_MATCH_1}_VERSION "${CMAKE_MATCH_2}" CACHE INTERNAL "")
|
||||
endif()
|
||||
endforeach()
|
||||
set(SPEEX_VERSION ${SPEEX_MAJOR_VERSION}.${SPEEX_MINOR_VERSION}.${SPEEX_MICRO_VERSION})
|
||||
|
||||
set(SRC
|
||||
"libspeex/bits.c"
|
||||
"libspeex/cb_search.c"
|
||||
@ -78,3 +90,22 @@ install(
|
||||
if(NOT DISABLE_INSTALL_HEADERS)
|
||||
install(DIRECTORY include/ DESTINATION include FILES_MATCHING PATTERN "*.h")
|
||||
endif()
|
||||
|
||||
# pkgconfig file
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
|
||||
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
||||
set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
|
||||
set(LIBM )
|
||||
check_library_exists(m ceil "" LIBMEXIST)
|
||||
if(LIBMEXIST)
|
||||
list(APPEND LIBM -lm)
|
||||
endif()
|
||||
set(SPEEXLIB "${CMAKE_PROJECT_NAME}")
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(SPEEXLIB "${CMAKE_PROJECT_NAME}d")
|
||||
endif()
|
||||
configure_file(speex.pc.in speex.pc @ONLY)
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/speex.pc
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: speex
|
||||
Version: 1.2.0-4
|
||||
Version: 1.2.0
|
||||
Port-Version: 6
|
||||
Homepage: https://github.com/xiph/speex
|
||||
Description: Speex is an Open Source/Free Software patent-free audio compression format designed for speech.
|
||||
|
@ -6,6 +6,8 @@ vcpkg_from_github(
|
||||
REF Speex-1.2.0
|
||||
SHA512 612dfd67a9089f929b7f2a613ed3a1d2fda3d3ec0a4adafe27e2c1f4542de1870b42b8042f0dcb16d52e08313d686cc35b76940776419c775417f5bad18b448f
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
0001-make-pkg-config-lib-name-configurable.patch
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
@ -24,4 +26,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/include/speex/speex.h" "${_contents}")
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/speex RENAME copyright)
|
||||
|
@ -1,6 +1,6 @@
|
||||
Source: wavpack
|
||||
Version: 5.2.0
|
||||
Port-Version: 1
|
||||
Port-Version: 3
|
||||
Homepage: https://github.com/dbry/WavPack
|
||||
Description: WavPack encode/decode library, command-line programs, and several plugins
|
||||
Supports: !(arm|arm64)
|
@ -3,7 +3,7 @@ vcpkg_fail_port_install(ON_ARCH "arm" "arm64")
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO dbry/WavPack
|
||||
REF e158df5353b57ac7002d5cac4b3a040eba4c0c9f # 5.2.0
|
||||
REF e158df5353b57ac7002d5cac4b3a040eba4c0c9f # 5.2.0
|
||||
SHA512 a144c6a05ddef0c6f4c436b5e45fe1d56893587d983eda49067fbe93059ed7d910d98b82ee5fc8e4a935904bc2ff5596cbee59ed6a5fe81be4717e53cdfc44c0
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
@ -35,3 +35,15 @@ vcpkg_copy_pdbs()
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
||||
if(WIN32 AND (NOT MINGW))
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/wavpack.pc" "-lwavpack" "-lwavpackdll")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/wavpack.pc" "-lwavpack" "-lwavpackdll")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
# Post-build test for cmake libraries
|
||||
# vcpkg_test_cmake(PACKAGE_NAME wavpack)
|
||||
|
@ -1,4 +1,5 @@
|
||||
Source: x265
|
||||
Version: 3.2-4
|
||||
Version: 3.2
|
||||
Port-Version: 5
|
||||
Homepage: https://bitbucket.org/multicoreware/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.
|
||||
|
@ -50,6 +50,18 @@ endif()
|
||||
|
||||
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/x265)
|
||||
|
||||
if(WIN32 AND (NOT MINGW))
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x265.pc" "-lx265" "-lx265-static")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x265.pc" "-lx265" "-lx265-static")
|
||||
endif()
|
||||
endif()
|
||||
if(UNIX)
|
||||
vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES numa)
|
||||
else()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
endif()
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/x265)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/x265/COPYING ${CURRENT_PACKAGES_DIR}/share/x265/copyright)
|
||||
|
@ -0,0 +1,53 @@
|
||||
diff --git a/zconf.h.cmakein b/zconf.h.cmakein
|
||||
index a7f24cc..a1b359b 100644
|
||||
--- a/zconf.h.cmakein
|
||||
+++ b/zconf.h.cmakein
|
||||
@@ -434,11 +434,19 @@ typedef uLong FAR uLongf;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_UNISTD_H
|
||||
+# if ~(~HAVE_UNISTD_H + 0) == 0 && ~(~HAVE_UNISTD_H + 1) == 1
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# elif HAVE_UNISTD_H != 0
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_STDARG_H
|
||||
+# if ~(~HAVE_STDARG_H + 0) == 0 && ~(~HAVE_STDARG_H + 1) == 1
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# elif HAVE_STDARG_H != 0
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef STDC
|
||||
diff --git a/zconf.h.in b/zconf.h.in
|
||||
index 5e1d68a..32f53c8 100644
|
||||
--- a/zconf.h.in
|
||||
+++ b/zconf.h.in
|
||||
@@ -432,11 +432,19 @@ typedef uLong FAR uLongf;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_UNISTD_H
|
||||
+# if ~(~HAVE_UNISTD_H + 0) == 0 && ~(~HAVE_UNISTD_H + 1) == 1
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# elif HAVE_UNISTD_H != 0
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_STDARG_H
|
||||
+# if ~(~HAVE_STDARG_H + 0) == 0 && ~(~HAVE_STDARG_H + 1) == 1
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# elif HAVE_STDARG_H != 0
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef STDC
|
||||
|
@ -1,5 +1,5 @@
|
||||
Source: zlib
|
||||
Version: 1.2.11
|
||||
Port-Version: 8
|
||||
Port-Version: 9
|
||||
Homepage: https://www.zlib.net/
|
||||
Description: A compression library
|
||||
|
@ -12,6 +12,7 @@ vcpkg_extract_source_archive_ex(
|
||||
REF ${VERSION}
|
||||
PATCHES
|
||||
"cmake_dont_build_more_than_needed.patch"
|
||||
"0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch"
|
||||
"add_debug_postfix_on_mingw.patch"
|
||||
)
|
||||
|
||||
|
@ -124,12 +124,61 @@ if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_OSX)
|
||||
endif()
|
||||
|
||||
# Platforms with libm
|
||||
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_FREEBSD)
|
||||
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_OSX)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES m)
|
||||
endif()
|
||||
|
||||
# Platforms with pthread
|
||||
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_MINGW)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES pthread)
|
||||
endif()
|
||||
|
||||
# Platforms with libstdc++
|
||||
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_MINGW)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES [=[stdc\+\+]=])
|
||||
endif()
|
||||
|
||||
# Platforms with libc++
|
||||
if(VCPKG_TARGET_IS_OSX)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES [=[c\+\+]=])
|
||||
endif()
|
||||
|
||||
# Platforms with librt
|
||||
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_MINGW)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES rt)
|
||||
endif()
|
||||
|
||||
# Platforms with GCC libs
|
||||
if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_MINGW)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES gcc)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES gcc_s)
|
||||
endif()
|
||||
|
||||
# Platforms with system iconv
|
||||
if(VCPKG_TARGET_IS_OSX)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES iconv)
|
||||
endif()
|
||||
|
||||
# Windows system libs
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES advapi32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES bcrypt)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES dinput8)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES gdi32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES imm32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES oleaut32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES ole32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES psapi)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES secur32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES setupapi)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES shell32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES shlwapi)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES strmiids)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES user32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES uuid)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES version)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES vfw32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES winmm)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES wsock32)
|
||||
list(APPEND VCPKG_SYSTEM_LIBRARIES Ws2_32)
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user