mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 08:37:49 +08:00
30f7421602
* 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 079ef9785a
.
* Added glibmm and giomm.
* Added atkmm.
* Added pangomm.
* Added gtkmm
* Use unicode
* [glibmm] Add missing dependency: libsigcpp
152 lines
6.6 KiB
CMake
152 lines
6.6 KiB
CMake
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
|
message(STATUS "Building as static libraries not currently supported. Building as DLLs instead.")
|
|
set(VCPKG_LIBRARY_LINKAGE "dynamic")
|
|
endif()
|
|
|
|
include(vcpkg_common_functions)
|
|
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ffmpeg-3.3.3)
|
|
vcpkg_download_distfile(ARCHIVE
|
|
URLS "http://ffmpeg.org/releases/ffmpeg-3.3.3.tar.bz2"
|
|
FILENAME "ffmpeg-3.3.3.tar.bz2"
|
|
SHA512 1cc63bf73356f4e618c0d3572a216bdf5689f10deff56b4262f6d740b0bee5a4b3eac234f45fca3d4d2da77903a507b4fba725b76d2d2070f31b6dae9e7a2dab
|
|
)
|
|
vcpkg_extract_source_archive(${ARCHIVE})
|
|
vcpkg_apply_patches(
|
|
SOURCE_PATH ${SOURCE_PATH}
|
|
PATCHES ${CMAKE_CURRENT_LIST_DIR}/detect-openssl.patch
|
|
)
|
|
|
|
vcpkg_find_acquire_program(YASM)
|
|
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
|
|
set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
|
|
|
|
vcpkg_acquire_msys(MSYS_ROOT)
|
|
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
|
|
set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
|
|
set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;$ENV{LIB}")
|
|
|
|
set(_csc_PROJECT_PATH ffmpeg)
|
|
|
|
file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)
|
|
|
|
set(OPTIONS "--disable-ffmpeg --disable-ffprobe --disable-doc --enable-debug")
|
|
set(OPTIONS "${OPTIONS} --enable-runtime-cpudetect")
|
|
if("openssl" IN_LIST FEATURES)
|
|
set(OPTIONS "${OPTIONS} --enable-openssl")
|
|
else()
|
|
set(OPTIONS "${OPTIONS} --disable-openssl")
|
|
endif()
|
|
|
|
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
|
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 --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
|
|
set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00")
|
|
|
|
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
|
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)
|
|
|
|
## Get Perl and GCC for MSYS2
|
|
vcpkg_execute_required_process(
|
|
COMMAND ${BASH} --noprofile --norc -c 'PATH=/usr/bin:\$PATH;pacman -Sy --noconfirm --needed perl gcc'
|
|
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}
|
|
LOGNAME msys-${TARGET_TRIPLET}
|
|
)
|
|
|
|
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
|
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
|
else()
|
|
message(FATAL_ERROR "Unsupported architecture")
|
|
endif()
|
|
endif()
|
|
|
|
set(OPTIONS_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} --extra-cflags=-DHAVE_UNISTD_H=0")
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
|
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
|
|
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
|
set(OPTIONS "${OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib")
|
|
endif()
|
|
endif()
|
|
|
|
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()
|
|
|
|
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 "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
|
|
"${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
|
|
)
|
|
|
|
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 "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
|
|
"${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
|
|
)
|
|
|
|
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 "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" ".lib" 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()
|
|
|
|
file(GLOB EXP_FILES ${CURRENT_PACKAGES_DIR}/lib/*.exp ${CURRENT_PACKAGES_DIR}/debug/lib/*.exp)
|
|
file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib)
|
|
file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
|
|
set(FILES_TO_REMOVE ${EXP_FILES} ${LIB_FILES} ${DEF_FILES} ${EXE_FILES})
|
|
list(LENGTH FILES_TO_REMOVE FILES_TO_REMOVE_LEN)
|
|
if(FILES_TO_REMOVE_LEN GREATER 0)
|
|
file(REMOVE ${FILES_TO_REMOVE})
|
|
endif()
|
|
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
|
|
|
|
vcpkg_copy_pdbs()
|
|
|
|
# Handle copyright
|
|
# TODO: Examine build log and confirm that this license matches the build output
|
|
file(COPY ${SOURCE_PATH}/COPYING.LGPLv2.1 DESTINATION ${CURRENT_PACKAGES_DIR}/share/ffmpeg)
|
|
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ffmpeg/COPYING.LGPLv2.1 ${CURRENT_PACKAGES_DIR}/share/ffmpeg/copyright)
|