vcpkg/ports/ffmpeg/portfile.cmake

307 lines
12 KiB
CMake
Raw Normal View History

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ffmpeg/ffmpeg
REF n4.2
SHA512 9fa56364696f91e2bf4287954d26f0c35b3f8aad241df3fbd3c9fc617235d8c83b28ddcac88436383b2eb273f690322e6f349e2f9c64d02f0058a4b76fa55035
HEAD_REF master
PATCHES
0001-create-lib-libraries.patch
0002-detect-openssl.patch
0003-fix-windowsinclude.patch
0004-fix-debug-build.patch
0005-fix-libvpx-linking.patch
)
if (${SOURCE_PATH} MATCHES " ")
message(FATAL_ERROR "Error: ffmpeg will not build with spaces in the path. Please use a directory with no spaces")
endif()
vcpkg_find_acquire_program(YASM)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
if(VCPKG_TARGET_IS_WINDOWS)
set(SEP ";")
#We're assuming that if we're building for Windows we're using MSVC
set(INCLUDE_VAR "INCLUDE")
set(LIB_PATH_VAR "LIB")
else()
set(SEP ":")
set(INCLUDE_VAR "CPATH")
set(LIB_PATH_VAR "LIBRARY_PATH")
endif()
if(VCPKG_TARGET_IS_WINDOWS)
set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
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)
else()
vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make)
endif()
[openexr,openimageio,suitesparse,theia] updates for non-win32 (#6371) * [openexr,openimageio,suitesparse,theia] updates for non-win32 * [theia] use only valid cmake symbols * [suitesparse] Fix build * [lapack] still not properly integrating with other ports * [lapack] intercept cmake module calls and substitute them with our defs * [suitesparse,clapack] fixes for proper integration * [ceres,clapack] bump CONTROL * [suitesparse] remove unnecessary defs * [clapack] improve wrapper logic * [WIN32] remove wrong symbol * [clapack] fix wrapper integration * [Accelerate] use best framework when available * [clapack] separate config from wrapper * [clapack] fix paths and filenames * [mlpack,armadillo,clapack] improve library handling * [mlpack] remove unnecessary cmake option * [clp,coinutils,osi,liblemon] dependencies of openmvg, improve compatibility with non-win32 * [openmvg] fix for case-sensitive filesystems * [clp,coinutils,osi] simplify CMakeLists removing many unnecessary steps * [sophus] Force rebuild * [theia] fixes for linux, part1 * [io2d] remove broken sintax * [fontconfig] bump version to remove CI cached failure * [theia] fixes for linux, part2 * [theia] remove unnecessary empty folders and comments from portfile * [theia] use correct build type removing forced vars in cmakelists.txt * [openmvg] add missing suitesparse target detection * [sophus] fix Suitesparse dependency * [sophus,openmvg] use suitesparse lowercase for module compatibility on case-sensitive filesystems * [suitesparse] fixes for case-sensitive filesystems * [openmvg] use correct Eigen3 name for case-sensitive filesystems * [sophus] trigger rebuild * [shogun] use modern vcpkg style * [shogun] add missing cmake system processor symbol
2019-06-01 06:48:17 +08:00
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
else()
set(ENV{PATH} "$ENV{PATH}:${YASM_EXE_PATH}")
set(BASH /bin/bash)
set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/build_linux.sh)
endif()
set(ENV{${INCLUDE_VAR}} "${CURRENT_INSTALLED_DIR}/include${SEP}$ENV{${INCLUDE_VAR}}")
set(_csc_PROJECT_PATH ffmpeg)
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
set(OPTIONS "--enable-asm --enable-yasm --disable-doc --enable-debug")
set(OPTIONS "${OPTIONS} --enable-runtime-cpudetect")
2018-03-12 21:13:14 +08:00
if("nonfree" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-nonfree")
endif()
if("gpl" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-gpl")
endif()
if("version3" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-version3")
endif()
Adding OpenSSL support to FFMPEG, fixed Assmimp UWP build (#2018) * Enable ffmpeg to build using openssl for HTTPS/TLS support * [ffmpeg] Add contract versions to libpath * Updated FFMPEG to 3.3.3; Fixed unistd.h issue in ffmpeg build * merge fix * merge fix * fix merge * removed extra files * Assimp UWP build fix * [assimp] Bump version * [ffmpeg] Implement openssl support through features. * [opencv] remove ffmpeg depenency OpenCV has own prebuilt ffmpeg library * Fix version, package name is not a part of it * Add support build option to PCL port Add support build options (pcap, qt) to PCL port. * Update VTK to 8.0.1 Update VTK to 8.0.1. * [vcpkg] Enable pkg[*] as alias for all features. * Using CP_UTF8 macro instead of magic numbers. * [vcpkg] Add optional Abi field to BinaryParagraph for future use. * [double-conversion] Fix --head builds * [vcpkg] --head should only apply to USER_REQUESTED packages. * [vcpkg] Fix bug where packages with uninstalled features appear to be uninstalled. * Update Catch to 1.11.0 * Fix proxy usage in Win7 (powershell 2.0) * [findVSInstances] Data lines are now placed within <sol><eol> tags. Text outside these tags is ignored This means we can print text in powershell now and it won't break vcpkg. * [fetchDependency] Now also returns output in the form <sol>data<eol> * [git] Update to 2.15.0 (was 2.14.3) * [bootstrap-vcpkg] Added better diagnostics in case of MSBuild failure. * [poco] build with MySQL support (#2088) * [poco] build with MySQL support Set proper variables to enable MySQL support if libmysql port is installed * [poco] Move Mysql support to a feature. Enable CMake config files. * help assimp find vcpkg's copy of zlib so it does not build its own * [assimp] Bump revision * [assimp] Fix assimp overwriting CMAKE_PREFIX_PATH. * [boost] Handle spaces in vcpkg path. * [vcpkg] Fix use of features in undocumented build command * Update to v1.2.0. Remove man pages * [opencv] Remove ffmpeg from dependencies -- it is not currently possible to use an external ffmpeg with opencv. Add features for cuda and vtk. * Enable OpenGL support for GUI Enable OpenGL support for GUI. * [protobuf] Add feature packages for zlib ZLib based features like Gzip streams. * [llvm] Require Python3 * [blaze] Fix remaining stray _INVALID_ROOT_ * Add option to enable Qt GUI support Add option to enable Qt GUI support. * Sorting CMake options for maintainability Sorting CMake options based on grouped of CMake-GUI for maintainability. * VTK: implement features (#2071) * [vtk/portfile] add OpenVR option * [vtk/control] add OpenVR feature * [vtk/portfile] Add OpenVR feature to portfile * [vtk/CONTROL] add features * [vtk/portfile] implement features * [vtk/CONTROL] fix syntax * [vtk/CONTROL] fix case * [vtk/portfile] fix case * [vtk/CONTROL] fix syntax * [vtk/CONTROL] fix syntax * [vtk/portfile] fix module name * [vtk] Bump version * [uwebsockets] Remove boost from dependency list to follow upstream's official README * [libharu] Fix DLLIMPORT macro replacement * Update CHANGELOG and bump version to v0.0.95 * Fix date in CHANGELOG.md * [apr] Update to 1.6.3 * Enable C++11 features Enable C++11 features. * Enable Microsoft Media Foundation support for Video I/O Enable Microsoft Media Foundation support for Video I/O. * [double-conversion] Fix regression introduced in vcpkg_fixup_cmake_targets. * [vcpkg] Refactor argument parsing to use common code paths. * [vcpkg] Improve `vcpkg help` -- now has per-command help! * [vcpkg-help-export-ifw] Add settings description * [opencv] Disable MSMF in UWP due to an upstream bug * [vcpkg_download_distfile] Now downloads in a temp dir and rename to the target location * [vcpkg_find_acquire_program] Use vcpkg_download_distfile() * Remove vcpkg_acquire_depot_tools * [downloads] Don't show progress by default * [vcpkg_acquire_msys] Use vcpkg_download_distfile() * vcpkg_from_github] Use vcpkg_download_distfile() * [vcpkg_from_bitbucket] Use vcpkg_download_distfile() * [ports.cmake] Use vcpkg_download_distfile() * [antlr] upgrade to antlr4.7 * [antlr4] bump version to 4.7 * Use download-at-temp-and-rename pattern in powershell too * Print error message when there is a syntax error in triplet file As it is now vcpkg fails silently (actually, it outputs two empty lines). * [fdk-aac] init * [fetchDependendy.ps1] Remove obsolete comment * [fetchDependency.ps1] Improve error message on hash mismatch * [vswhere] Update to 2.2.11 (was 2.2.7) * libaiff * Append W * [libaiff] fix uninitialized buffer * Add the flint2 library (#1988) * Add the "flint2" library. * FIX: update library name * FIX: only set MSVC version to VC14 * FIX: use static linkage * DOC: display notification to the user * [flint/CONTROL] add gettimeofday dependency * [flint/portfile] move up linkage * [flint/portfile] attempt to override the CRT linkage * Add arblib (#1991) * Fix rename libraries of FLANN Fix rename libraries of FLANN. * Fix line endings * [cmake] Update to 3.9.5 (was 3.9.4) * Porting ITK * Sourcing from GitHub, using a master version with vcpkg patch * Update CHANGELOG and bump version to v0.0.96 * [fftw] update to 3.3.7 * [dlib] update to 19.7 and use vcpkg_from_github * fix issue 2111 * Revert "Updated libsigcpp to version 2.99.9" This reverts commit 079ef9785ad539e1484f876577913a7269021288. * Added glibmm and giomm. * Added atkmm. * Added pangomm. * Added gtkmm * Use unicode * [glibmm] Add missing dependency: libsigcpp
2017-11-05 05:54:12 +08:00
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()
set(OPTIONS "${OPTIONS} --disable-ffmpeg")
endif()
2018-03-12 21:13:14 +08:00
if("ffplay" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-ffplay")
else()
set(OPTIONS "${OPTIONS} --disable-ffplay")
endif()
if("ffprobe" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-ffprobe")
else()
set(OPTIONS "${OPTIONS} --disable-ffprobe")
endif()
2019-06-11 00:07:18 +08:00
if("vpx" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-libvpx")
else()
set(OPTIONS "${OPTIONS} --disable-libvpx")
endif()
2018-03-12 21:13:14 +08:00
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)
2018-03-12 21:13:14 +08:00
if("lzma" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-lzma")
set (ENABLE_LZMA ON) #necessary for configuring FFMPEG CMake Module
2018-03-12 21:13:14 +08:00
else()
set(OPTIONS "${OPTIONS} --disable-lzma")
endif()
set (ENABLE_BZIP2 OFF)
2019-05-23 19:42:10 +08:00
if("bzip2" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-bzlib")
set (ENABLE_BZIP2 ON) #necessary for configuring FFMPEG CMake Module
2019-05-23 19:42:10 +08:00
else()
set(OPTIONS "${OPTIONS} --disable-bzlib")
endif()
2018-03-12 21:13:14 +08:00
2019-08-09 13:37:53 +08:00
if("avresample" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-avresample")
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")
endif()
set(OPTIONS_CROSS "")
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
vcpkg_find_acquire_program(GASPREPROCESSOR)
foreach(GAS_PATH ${GASPREPROCESSOR})
get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}")
endforeach(GAS_PATH)
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
else()
message(FATAL_ERROR "Unsupported architecture")
endif()
if(VCPKG_TARGET_IS_UWP)
Adding OpenSSL support to FFMPEG, fixed Assmimp UWP build (#2018) * Enable ffmpeg to build using openssl for HTTPS/TLS support * [ffmpeg] Add contract versions to libpath * Updated FFMPEG to 3.3.3; Fixed unistd.h issue in ffmpeg build * merge fix * merge fix * fix merge * removed extra files * Assimp UWP build fix * [assimp] Bump version * [ffmpeg] Implement openssl support through features. * [opencv] remove ffmpeg depenency OpenCV has own prebuilt ffmpeg library * Fix version, package name is not a part of it * Add support build option to PCL port Add support build options (pcap, qt) to PCL port. * Update VTK to 8.0.1 Update VTK to 8.0.1. * [vcpkg] Enable pkg[*] as alias for all features. * Using CP_UTF8 macro instead of magic numbers. * [vcpkg] Add optional Abi field to BinaryParagraph for future use. * [double-conversion] Fix --head builds * [vcpkg] --head should only apply to USER_REQUESTED packages. * [vcpkg] Fix bug where packages with uninstalled features appear to be uninstalled. * Update Catch to 1.11.0 * Fix proxy usage in Win7 (powershell 2.0) * [findVSInstances] Data lines are now placed within <sol><eol> tags. Text outside these tags is ignored This means we can print text in powershell now and it won't break vcpkg. * [fetchDependency] Now also returns output in the form <sol>data<eol> * [git] Update to 2.15.0 (was 2.14.3) * [bootstrap-vcpkg] Added better diagnostics in case of MSBuild failure. * [poco] build with MySQL support (#2088) * [poco] build with MySQL support Set proper variables to enable MySQL support if libmysql port is installed * [poco] Move Mysql support to a feature. Enable CMake config files. * help assimp find vcpkg's copy of zlib so it does not build its own * [assimp] Bump revision * [assimp] Fix assimp overwriting CMAKE_PREFIX_PATH. * [boost] Handle spaces in vcpkg path. * [vcpkg] Fix use of features in undocumented build command * Update to v1.2.0. Remove man pages * [opencv] Remove ffmpeg from dependencies -- it is not currently possible to use an external ffmpeg with opencv. Add features for cuda and vtk. * Enable OpenGL support for GUI Enable OpenGL support for GUI. * [protobuf] Add feature packages for zlib ZLib based features like Gzip streams. * [llvm] Require Python3 * [blaze] Fix remaining stray _INVALID_ROOT_ * Add option to enable Qt GUI support Add option to enable Qt GUI support. * Sorting CMake options for maintainability Sorting CMake options based on grouped of CMake-GUI for maintainability. * VTK: implement features (#2071) * [vtk/portfile] add OpenVR option * [vtk/control] add OpenVR feature * [vtk/portfile] Add OpenVR feature to portfile * [vtk/CONTROL] add features * [vtk/portfile] implement features * [vtk/CONTROL] fix syntax * [vtk/CONTROL] fix case * [vtk/portfile] fix case * [vtk/CONTROL] fix syntax * [vtk/CONTROL] fix syntax * [vtk/portfile] fix module name * [vtk] Bump version * [uwebsockets] Remove boost from dependency list to follow upstream's official README * [libharu] Fix DLLIMPORT macro replacement * Update CHANGELOG and bump version to v0.0.95 * Fix date in CHANGELOG.md * [apr] Update to 1.6.3 * Enable C++11 features Enable C++11 features. * Enable Microsoft Media Foundation support for Video I/O Enable Microsoft Media Foundation support for Video I/O. * [double-conversion] Fix regression introduced in vcpkg_fixup_cmake_targets. * [vcpkg] Refactor argument parsing to use common code paths. * [vcpkg] Improve `vcpkg help` -- now has per-command help! * [vcpkg-help-export-ifw] Add settings description * [opencv] Disable MSMF in UWP due to an upstream bug * [vcpkg_download_distfile] Now downloads in a temp dir and rename to the target location * [vcpkg_find_acquire_program] Use vcpkg_download_distfile() * Remove vcpkg_acquire_depot_tools * [downloads] Don't show progress by default * [vcpkg_acquire_msys] Use vcpkg_download_distfile() * vcpkg_from_github] Use vcpkg_download_distfile() * [vcpkg_from_bitbucket] Use vcpkg_download_distfile() * [ports.cmake] Use vcpkg_download_distfile() * [antlr] upgrade to antlr4.7 * [antlr4] bump version to 4.7 * Use download-at-temp-and-rename pattern in powershell too * Print error message when there is a syntax error in triplet file As it is now vcpkg fails silently (actually, it outputs two empty lines). * [fdk-aac] init * [fetchDependendy.ps1] Remove obsolete comment * [fetchDependency.ps1] Improve error message on hash mismatch * [vswhere] Update to 2.2.11 (was 2.2.7) * libaiff * Append W * [libaiff] fix uninitialized buffer * Add the flint2 library (#1988) * Add the "flint2" library. * FIX: update library name * FIX: only set MSVC version to VC14 * FIX: use static linkage * DOC: display notification to the user * [flint/CONTROL] add gettimeofday dependency * [flint/portfile] move up linkage * [flint/portfile] attempt to override the CRT linkage * Add arblib (#1991) * Fix rename libraries of FLANN Fix rename libraries of FLANN. * Fix line endings * [cmake] Update to 3.9.5 (was 3.9.4) * Porting ITK * Sourcing from GitHub, using a master version with vcpkg patch * Update CHANGELOG and bump version to v0.0.96 * [fftw] update to 3.3.7 * [dlib] update to 19.7 and use vcpkg_from_github * fix issue 2111 * Revert "Updated libsigcpp to version 2.99.9" This reverts commit 079ef9785ad539e1484f876577913a7269021288. * Added glibmm and giomm. * Added atkmm. * Added pangomm. * Added gtkmm * Use unicode * [glibmm] Add missing dependency: libsigcpp
2017-11-05 05:54:12 +08:00
set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\")
set(OPTIONS "${OPTIONS} --disable-programs")
set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00")
set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
endif()
set(OPTIONS_DEBUG "--debug") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html
set(OPTIONS_RELEASE "")
set(OPTIONS "${OPTIONS} ${OPTIONS_CROSS}")
Adding OpenSSL support to FFMPEG, fixed Assmimp UWP build (#2018) * Enable ffmpeg to build using openssl for HTTPS/TLS support * [ffmpeg] Add contract versions to libpath * Updated FFMPEG to 3.3.3; Fixed unistd.h issue in ffmpeg build * merge fix * merge fix * fix merge * removed extra files * Assimp UWP build fix * [assimp] Bump version * [ffmpeg] Implement openssl support through features. * [opencv] remove ffmpeg depenency OpenCV has own prebuilt ffmpeg library * Fix version, package name is not a part of it * Add support build option to PCL port Add support build options (pcap, qt) to PCL port. * Update VTK to 8.0.1 Update VTK to 8.0.1. * [vcpkg] Enable pkg[*] as alias for all features. * Using CP_UTF8 macro instead of magic numbers. * [vcpkg] Add optional Abi field to BinaryParagraph for future use. * [double-conversion] Fix --head builds * [vcpkg] --head should only apply to USER_REQUESTED packages. * [vcpkg] Fix bug where packages with uninstalled features appear to be uninstalled. * Update Catch to 1.11.0 * Fix proxy usage in Win7 (powershell 2.0) * [findVSInstances] Data lines are now placed within <sol><eol> tags. Text outside these tags is ignored This means we can print text in powershell now and it won't break vcpkg. * [fetchDependency] Now also returns output in the form <sol>data<eol> * [git] Update to 2.15.0 (was 2.14.3) * [bootstrap-vcpkg] Added better diagnostics in case of MSBuild failure. * [poco] build with MySQL support (#2088) * [poco] build with MySQL support Set proper variables to enable MySQL support if libmysql port is installed * [poco] Move Mysql support to a feature. Enable CMake config files. * help assimp find vcpkg's copy of zlib so it does not build its own * [assimp] Bump revision * [assimp] Fix assimp overwriting CMAKE_PREFIX_PATH. * [boost] Handle spaces in vcpkg path. * [vcpkg] Fix use of features in undocumented build command * Update to v1.2.0. Remove man pages * [opencv] Remove ffmpeg from dependencies -- it is not currently possible to use an external ffmpeg with opencv. Add features for cuda and vtk. * Enable OpenGL support for GUI Enable OpenGL support for GUI. * [protobuf] Add feature packages for zlib ZLib based features like Gzip streams. * [llvm] Require Python3 * [blaze] Fix remaining stray _INVALID_ROOT_ * Add option to enable Qt GUI support Add option to enable Qt GUI support. * Sorting CMake options for maintainability Sorting CMake options based on grouped of CMake-GUI for maintainability. * VTK: implement features (#2071) * [vtk/portfile] add OpenVR option * [vtk/control] add OpenVR feature * [vtk/portfile] Add OpenVR feature to portfile * [vtk/CONTROL] add features * [vtk/portfile] implement features * [vtk/CONTROL] fix syntax * [vtk/CONTROL] fix case * [vtk/portfile] fix case * [vtk/CONTROL] fix syntax * [vtk/CONTROL] fix syntax * [vtk/portfile] fix module name * [vtk] Bump version * [uwebsockets] Remove boost from dependency list to follow upstream's official README * [libharu] Fix DLLIMPORT macro replacement * Update CHANGELOG and bump version to v0.0.95 * Fix date in CHANGELOG.md * [apr] Update to 1.6.3 * Enable C++11 features Enable C++11 features. * Enable Microsoft Media Foundation support for Video I/O Enable Microsoft Media Foundation support for Video I/O. * [double-conversion] Fix regression introduced in vcpkg_fixup_cmake_targets. * [vcpkg] Refactor argument parsing to use common code paths. * [vcpkg] Improve `vcpkg help` -- now has per-command help! * [vcpkg-help-export-ifw] Add settings description * [opencv] Disable MSMF in UWP due to an upstream bug * [vcpkg_download_distfile] Now downloads in a temp dir and rename to the target location * [vcpkg_find_acquire_program] Use vcpkg_download_distfile() * Remove vcpkg_acquire_depot_tools * [downloads] Don't show progress by default * [vcpkg_acquire_msys] Use vcpkg_download_distfile() * vcpkg_from_github] Use vcpkg_download_distfile() * [vcpkg_from_bitbucket] Use vcpkg_download_distfile() * [ports.cmake] Use vcpkg_download_distfile() * [antlr] upgrade to antlr4.7 * [antlr4] bump version to 4.7 * Use download-at-temp-and-rename pattern in powershell too * Print error message when there is a syntax error in triplet file As it is now vcpkg fails silently (actually, it outputs two empty lines). * [fdk-aac] init * [fetchDependendy.ps1] Remove obsolete comment * [fetchDependency.ps1] Improve error message on hash mismatch * [vswhere] Update to 2.2.11 (was 2.2.7) * libaiff * Append W * [libaiff] fix uninitialized buffer * Add the flint2 library (#1988) * Add the "flint2" library. * FIX: update library name * FIX: only set MSVC version to VC14 * FIX: use static linkage * DOC: display notification to the user * [flint/CONTROL] add gettimeofday dependency * [flint/portfile] move up linkage * [flint/portfile] attempt to override the CRT linkage * Add arblib (#1991) * Fix rename libraries of FLANN Fix rename libraries of FLANN. * Fix line endings * [cmake] Update to 3.9.5 (was 3.9.4) * Porting ITK * Sourcing from GitHub, using a master version with vcpkg patch * Update CHANGELOG and bump version to v0.0.96 * [fftw] update to 3.3.7 * [dlib] update to 19.7 and use vcpkg_from_github * fix issue 2111 * Revert "Updated libsigcpp to version 2.99.9" This reverts commit 079ef9785ad539e1484f876577913a7269021288. * Added glibmm and giomm. * Added atkmm. * Added pangomm. * Added gtkmm * Use unicode * [glibmm] Add missing dependency: libsigcpp
2017-11-05 05:54:12 +08:00
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
if (VCPKG_TARGET_IS_UWP)
set(OPTIONS "${OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib")
endif()
endif()
if(VCPKG_TARGET_IS_WINDOWS)
set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0")
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd")
set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD")
else()
set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MTd --extra-cxxflags=-MTd")
set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MT --extra-cxxflags=-MT")
endif()
endif()
set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}")
set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig")
message(STATUS "Building Options: ${OPTIONS}")
# Release build
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release)
message(STATUS "Building Release Options: ${OPTIONS_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}")
message(STATUS "Building ${_csc_PROJECT_PATH} for Release")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
vcpkg_execute_required_process(
COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}"
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR
"${SOURCE_PATH}" # SOURCE DIR
"${CURRENT_PACKAGES_DIR}" # PACKAGE DIR
"${OPTIONS} ${OPTIONS_RELEASE}"
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME build-${TARGET_TRIPLET}-rel
)
endif()
# Debug build
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
message(STATUS "Building Debug Options: ${OPTIONS_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}")
message(STATUS "Building ${_csc_PROJECT_PATH} for Debug")
file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg)
vcpkg_execute_required_process(
COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}"
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" # BUILD DIR
"${SOURCE_PATH}" # SOURCE DIR
"${CURRENT_PACKAGES_DIR}/debug" # PACKAGE DIR
"${OPTIONS} ${OPTIONS_DEBUG}"
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg
LOGNAME build-${TARGET_TRIPLET}-dbg
)
endif()
file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(LIB_MACHINE_ARG /machine:ARM)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(LIB_MACHINE_ARG /machine:ARM64)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(LIB_MACHINE_ARG /machine:x86)
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(LIB_MACHINE_ARG /machine:x64)
else()
message(FATAL_ERROR "Unsupported target architecture")
endif()
foreach(DEF_FILE ${DEF_FILES})
get_filename_component(DEF_FILE_DIR "${DEF_FILE}" DIRECTORY)
get_filename_component(DEF_FILE_NAME "${DEF_FILE}" NAME)
string(REGEX REPLACE "-[0-9]*\\.def" "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" OUT_FILE_NAME "${DEF_FILE_NAME}")
file(TO_NATIVE_PATH "${DEF_FILE}" DEF_FILE_NATIVE)
file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE)
message(STATUS "Generating ${OUT_FILE_NATIVE}")
vcpkg_execute_required_process(
COMMAND lib.exe /def:${DEF_FILE_NATIVE} /out:${OUT_FILE_NATIVE} ${LIB_MACHINE_ARG}
WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}
LOGNAME libconvert-${TARGET_TRIPLET}
)
endforeach()
# Handle tools
if (VCPKG_TARGET_IS_WINDOWS)
file(GLOB EXP_FILES ${CURRENT_PACKAGES_DIR}/lib/*.exp ${CURRENT_PACKAGES_DIR}/debug/lib/*.exp)
file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
file(GLOB EXE_FILES_REL ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX})
file(GLOB EXE_FILES_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX})
set(FILES_TO_REMOVE ${EXP_FILES} ${LIB_FILES} ${DEF_FILES} ${EXE_FILES_REL} ${EXE_FILES_DBG})
if(FILES_TO_REMOVE)
if (EXE_FILES_REL)
file(INSTALL ${EXE_FILES_REL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
endif()
if (EXE_FILES_DBG)
file(INSTALL ${EXE_FILES_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools)
endif()
file(REMOVE ${FILES_TO_REMOVE})
endif()
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
endif()
vcpkg_copy_pdbs()
# Handle copyright
file(STRINGS ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-out.log LICENSE_STRING REGEX "License: .*" LIMIT_COUNT 1)
if(${LICENSE_STRING} STREQUAL "License: LGPL version 2.1 or later")
set(LICENSE_FILE "COPYING.LGPLv2.1")
elseif(${LICENSE_STRING} STREQUAL "License: LGPL version 3 or later")
set(LICENSE_FILE "COPYING.LGPLv3")
elseif(${LICENSE_STRING} STREQUAL "License: GPL version 2 or later")
set(LICENSE_FILE "COPYING.GPLv2")
elseif(${LICENSE_STRING} STREQUAL "License: GPL version 3 or later")
set(LICENSE_FILE "COPYING.GPLv3")
elseif(${LICENSE_STRING} STREQUAL "License: nonfree and unredistributable")
set(LICENSE_FILE "COPYING.NONFREE")
file(WRITE ${SOURCE_PATH}/${LICENSE_FILE} ${LICENSE_STRING})
else()
message(FATAL_ERROR "Failed to identify license (${LICENSE_STRING})")
endif()
2018-02-22 08:39:48 +08:00
configure_file(${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake.in ${CURRENT_PACKAGES_DIR}/share/${PORT}/FindFFMPEG.cmake @ONLY)
[many ports] improvements for linux/wsl (#6730) * [many ports] improve compatibility with WSL and mixed case filesystems * [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there * [libharu] add compatibility with non-win32 platforms * [geogram] fix openblas on linux [clapack] better integration with linux environment [visit-struct] put cmake config file in the expected folder [geogram] remove trailing underscore to enable compatibility with OpenBLAS * [openblas] playing with underscore, without success * [openblas/lapack] fix library integration * [clapack] improve target handling in cmake module * [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs * [clapack,openblas] improve libraries integration * [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags * [suitesparse] improve integration with new lapack/openblas mechanism * [suitesparse] add no underscore postfix also for linux * [ceres] fix integration with newer openblas/lapack configs * [aws-c-event-stream] fix regression * [systemc] fix regression * [libwebp,geogram] trigger rebuild * [libwebp,pthread4w] fix regressions * [glbinding] fix cmake module installation * [globjects] disentangle unnecessary dependency from qt5 * [jasper] remove broken and unnecessary patches * [libwebp] fix regression * [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files * [clapack] correctly find dlls * [clapack] use a generic blas as dependency * [fizz,g2o] restore expected version * fix mistake * [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports * [libressl,openssl] do not try to build one if the other is already installed * [itk] update ref and patch to avoid regression * [libressl,openssl] implement full strategy to fix CI * [libwebp] disable components that are broken on macOS * [ogre] enable macOS build * [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169 * [ogre] add missing install command * [ffmpeg] enable wrapper for cmake module * [ffmpeg] add avresample module finder * [ffmpeg] improve module detection and exported symbols * [ffmpeg] add variables to cache * [thrift] remove unnecessary build option * [allegro5] fix shared/static inversion * [protobuf] cleanup * [libressl] cleanup * [moos-core] cleanup * commented features must not be separated from other features, otherwise vcpkg complains * [itk] fix regression * [shogun,itk] fix regressions * [ogre] fix regression * [opusfile] add compatibility with non-win32 * [itk] fix regression * [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile * add missing dependencies * [ismrmrd] fix regression * [ffmpeg] trigger rebuild * [clapack,openblas,libogg] fix regressions on macOS * [libtins] fix regression * force rebuild windows regressions, unable to reproduce locally * [mosquitto] enable non-win32 builds * [json-dto] force rebuild, unable to reproduce regression locally * [many ports] uniform naming and path length requests * fix regression * fix regression * [ffmpeg] fixes for downstream projects * clean up - thanks to reviewers * trigger rebuild of regressions on macOS * trigger rebuild of regressions on macOS - part2 * Add core back * Use VCPKG_CONCURRENCY * Add core back to suitesparse * Add core back to curl * Add core back to magnum * Add core back to magnum * Add core back to magnum * Add core back to cgal
2019-06-21 10:11:54 +08:00
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(INSTALL ${SOURCE_PATH}/${LICENSE_FILE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)