vcpkg/ports/x264/portfile.cmake

97 lines
3.0 KiB
CMake
Raw Normal View History

set(X264_VERSION 164)
vcpkg_fail_port_install(ON_ARCH "arm")
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mirror/x264
REF 5db6aa6cab1b146e07b60cc1736a01f21da01154
SHA512 d2cdd40d195fd6507abacc8b8810107567dff2c0a93424ba1eb00b544cb78a5430f00f9bcf8f19bd663ae77849225577da05bfcdb57948a8af9dc32a7c8b9ffd
HEAD_REF stable
[x64-windows-release] add a single config community triplet based on x64-windows and make it work on some ports (#15983) * add a single config community triplet based on x64-windows * add a failed port, otherwise mechanism does not support empty list * add failures to baseline * remove duplicate entry * second round of failures added to baseline * third round of regressions added to CI * [ade] fix single-config builds * [ade] update refs * remove duplicate entries * [unix2dos] restore eol in script file * add even more ports now failing in singleConfig... * [libjpeg-turbo] remove unnecessary check * [libjpeg-turbo] fix references * [baseline] restore check for ports that were added recently * [libmodplug] enable single config triplets * [tensorflow-common] enable single config triplets * update baseline * fix references * remove wrong check for single config triplets * fix references * [ogre] fix single config builds * [ogre] fix references * [untested] force x64-windows-release as host triplet when testing x64-windows-release in CI * fix * [x264] fix for single config * [x264] update refs * [libffi] enable single config builds * [libffi] update refs * remove cli broken arguments * [calceph] enable single-config builds * [calceph] fix references * [kf5config] enable single-config builds * [kf5config] fix references * [detours] enable single-config builds * [detours] fix references * [kf5*] enable single-config builds * [kf5*] fix references * fix * kf5config fix reference * trying again to force host triplet in CI * [boost] fix for single-config builds * [boost] update references * fix * [boost] update refs * disable host triplet in ci because it's not necessary * retrigger a build for ports previously failing * remove host triplet in ci, not necessary anymore? * make PR dry * [tensorflow-common] bump version * [tensorflow-common] fix references * Fix version database for boost-modular-build-helper. * fix references * restore CRLF on some ports * bump versions * fix references * bump port versions * fix references * boost-modular-build-helper: Reverted due to no changes. detours, kf5config, kf5holidays, libbacktrace: Reverted due to only whitespace changes. libffi: bumped port-version libmodplug: reverted due to no functional changes ogre, ogre-next: reverted due to incorrect case of "Debug" vs. "Release" already fixed in master. And rebuilt version database. Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2021-12-20 23:50:45 +08:00
PATCHES
"uwp-cflags.patch"
)
vcpkg_find_acquire_program(NASM)
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
vcpkg_add_to_path(${NASM_EXE_PATH})
if(VCPKG_TARGET_IS_WINDOWS)
z_vcpkg_determine_autotools_host_cpu(BUILD_ARCH)
z_vcpkg_determine_autotools_target_cpu(HOST_ARCH)
list(APPEND OPTIONS --build=${BUILD_ARCH}-pc-mingw32)
list(APPEND OPTIONS --host=${HOST_ARCH}-pc-mingw32)
[vcpkg/scripts] Add a way to get cmake compiler settings/flags (#12936) * add function get_cmake_vars * fine tuning. * apply to make based ports. * add log suffix on not windows platforms * fix c&p error * add previous LINK env * setup env on windows and extract cpp flags correctly. * Apply suggestions from code review * commit changes from fontconfig PR * Apply suggestions from code review Co-authored-by: nicole mazzuca <mazzucan@outlook.com> * cleanup docs * add conversion from somelib.lib to -lsomelib * add missing ar-lib wrapper * small but important regex correction * add latest changes from update_fontconfig PR * Apply suggestions from code review first set which don't need special attention Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Apply suggestions from code review one more simple change Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * [x264] set env AS * fix bugs due to refactor * use subpath everywhere * apply changes from CR * remove unnecessary lines 41 & 44 * remove flag transformation * reintroduce the flag / to - transformation for MSVC * Apply suggestions from code review Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * rename the function * rename function/variables * transform flags list * Apply suggestions from code review * fix vcpkg_build_make due to the variable name change * fix another case of function renaming regressions * only rename config.log if it exists * actually add the script after vcpkg_common_functions was deleted. * remove setting of ldflags if path contains spaces Co-authored-by: nicole mazzuca <mazzucan@outlook.com> Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
2020-11-11 01:52:02 +08:00
set(ENV{AS} "${NASM}")
endif()
if(VCPKG_TARGET_IS_UWP)
list(APPEND OPTIONS --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00)
list(APPEND OPTIONS --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib)
list(APPEND OPTIONS --disable-asm)
endif()
if(VCPKG_TARGET_IS_LINUX)
list(APPEND OPTIONS --enable-pic)
endif()
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
NO_ADDITIONAL_PATHS
OPTIONS
${OPTIONS}
--enable-strip
--disable-lavf
--disable-swscale
--disable-avs
--disable-ffms
--disable-gpac
--disable-lsmash
--enable-debug
)
vcpkg_install_make()
if(NOT VCPKG_TARGET_IS_UWP)
vcpkg_copy_tools(TOOL_NAMES x264 AUTO_CLEAN)
endif()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if(VCPKG_TARGET_IS_WINDOWS)
set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x264.pc")
if(EXISTS "${pcfile}")
[x64-windows-release] add a single config community triplet based on x64-windows and make it work on some ports (#15983) * add a single config community triplet based on x64-windows * add a failed port, otherwise mechanism does not support empty list * add failures to baseline * remove duplicate entry * second round of failures added to baseline * third round of regressions added to CI * [ade] fix single-config builds * [ade] update refs * remove duplicate entries * [unix2dos] restore eol in script file * add even more ports now failing in singleConfig... * [libjpeg-turbo] remove unnecessary check * [libjpeg-turbo] fix references * [baseline] restore check for ports that were added recently * [libmodplug] enable single config triplets * [tensorflow-common] enable single config triplets * update baseline * fix references * remove wrong check for single config triplets * fix references * [ogre] fix single config builds * [ogre] fix references * [untested] force x64-windows-release as host triplet when testing x64-windows-release in CI * fix * [x264] fix for single config * [x264] update refs * [libffi] enable single config builds * [libffi] update refs * remove cli broken arguments * [calceph] enable single-config builds * [calceph] fix references * [kf5config] enable single-config builds * [kf5config] fix references * [detours] enable single-config builds * [detours] fix references * [kf5*] enable single-config builds * [kf5*] fix references * fix * kf5config fix reference * trying again to force host triplet in CI * [boost] fix for single-config builds * [boost] update references * fix * [boost] update refs * disable host triplet in ci because it's not necessary * retrigger a build for ports previously failing * remove host triplet in ci, not necessary anymore? * make PR dry * [tensorflow-common] bump version * [tensorflow-common] fix references * Fix version database for boost-modular-build-helper. * fix references * restore CRLF on some ports * bump versions * fix references * bump port versions * fix references * boost-modular-build-helper: Reverted due to no changes. detours, kf5config, kf5holidays, libbacktrace: Reverted due to only whitespace changes. libffi: bumped port-version libmodplug: reverted due to no functional changes ogre, ogre-next: reverted due to incorrect case of "Debug" vs. "Release" already fixed in master. And rebuilt version database. Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2021-12-20 23:50:45 +08:00
vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264")
endif()
[x64-windows-release] add a single config community triplet based on x64-windows and make it work on some ports (#15983) * add a single config community triplet based on x64-windows * add a failed port, otherwise mechanism does not support empty list * add failures to baseline * remove duplicate entry * second round of failures added to baseline * third round of regressions added to CI * [ade] fix single-config builds * [ade] update refs * remove duplicate entries * [unix2dos] restore eol in script file * add even more ports now failing in singleConfig... * [libjpeg-turbo] remove unnecessary check * [libjpeg-turbo] fix references * [baseline] restore check for ports that were added recently * [libmodplug] enable single config triplets * [tensorflow-common] enable single config triplets * update baseline * fix references * remove wrong check for single config triplets * fix references * [ogre] fix single config builds * [ogre] fix references * [untested] force x64-windows-release as host triplet when testing x64-windows-release in CI * fix * [x264] fix for single config * [x264] update refs * [libffi] enable single config builds * [libffi] update refs * remove cli broken arguments * [calceph] enable single-config builds * [calceph] fix references * [kf5config] enable single-config builds * [kf5config] fix references * [detours] enable single-config builds * [detours] fix references * [kf5*] enable single-config builds * [kf5*] fix references * fix * kf5config fix reference * trying again to force host triplet in CI * [boost] fix for single-config builds * [boost] update references * fix * [boost] update refs * disable host triplet in ci because it's not necessary * retrigger a build for ports previously failing * remove host triplet in ci, not necessary anymore? * make PR dry * [tensorflow-common] bump version * [tensorflow-common] fix references * Fix version database for boost-modular-build-helper. * fix references * restore CRLF on some ports * bump versions * fix references * bump port versions * fix references * boost-modular-build-helper: Reverted due to no changes. detours, kf5config, kf5holidays, libbacktrace: Reverted due to only whitespace changes. libffi: bumped port-version libmodplug: reverted due to no functional changes ogre, ogre-next: reverted due to incorrect case of "Debug" vs. "Release" already fixed in master. And rebuilt version database. Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2021-12-20 23:50:45 +08:00
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x264.pc")
if(EXISTS "${pcfile}")
vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264")
[x64-windows-release] add a single config community triplet based on x64-windows and make it work on some ports (#15983) * add a single config community triplet based on x64-windows * add a failed port, otherwise mechanism does not support empty list * add failures to baseline * remove duplicate entry * second round of failures added to baseline * third round of regressions added to CI * [ade] fix single-config builds * [ade] update refs * remove duplicate entries * [unix2dos] restore eol in script file * add even more ports now failing in singleConfig... * [libjpeg-turbo] remove unnecessary check * [libjpeg-turbo] fix references * [baseline] restore check for ports that were added recently * [libmodplug] enable single config triplets * [tensorflow-common] enable single config triplets * update baseline * fix references * remove wrong check for single config triplets * fix references * [ogre] fix single config builds * [ogre] fix references * [untested] force x64-windows-release as host triplet when testing x64-windows-release in CI * fix * [x264] fix for single config * [x264] update refs * [libffi] enable single config builds * [libffi] update refs * remove cli broken arguments * [calceph] enable single-config builds * [calceph] fix references * [kf5config] enable single-config builds * [kf5config] fix references * [detours] enable single-config builds * [detours] fix references * [kf5*] enable single-config builds * [kf5*] fix references * fix * kf5config fix reference * trying again to force host triplet in CI * [boost] fix for single-config builds * [boost] update references * fix * [boost] update refs * disable host triplet in ci because it's not necessary * retrigger a build for ports previously failing * remove host triplet in ci, not necessary anymore? * make PR dry * [tensorflow-common] bump version * [tensorflow-common] fix references * Fix version database for boost-modular-build-helper. * fix references * restore CRLF on some ports * bump versions * fix references * bump port versions * fix references * boost-modular-build-helper: Reverted due to no changes. detours, kf5config, kf5holidays, libbacktrace: Reverted due to only whitespace changes. libffi: bumped port-version libmodplug: reverted due to no functional changes ogre, ogre-next: reverted due to incorrect case of "Debug" vs. "Release" already fixed in master. And rebuilt version database. Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2021-12-20 23:50:45 +08:00
endif()
endif()
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libx264.dll.lib ${CURRENT_PACKAGES_DIR}/lib/libx264.lib)
if (NOT VCPKG_BUILD_TYPE)
file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libx264.dll.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libx264.lib)
endif()
elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
# force U_STATIC_IMPLEMENTATION macro
file(READ ${CURRENT_PACKAGES_DIR}/include/x264.h HEADER_CONTENTS)
string(REPLACE "defined(U_STATIC_IMPLEMENTATION)" "1" HEADER_CONTENTS "${HEADER_CONTENTS}")
file(WRITE ${CURRENT_PACKAGES_DIR}/include/x264.h "${HEADER_CONTENTS}")
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/bin
${CURRENT_PACKAGES_DIR}/debug/bin
)
endif()
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
[vcpkg] Improve make builds (#10402) * update all 16 configure_make ports * add make wrappers for msvc * improve make builds * fix relativ path errors on linux (and osx?) * revisit all 16 portfiles again * remove trace from install * fix relative build path issues. * bump control of the 16 configure ports * never forget .... real linux is case sensitive .... * Revert "bump control of the 16 configure ports" This reverts commit 40d6d81c01d2709c4acbdbec503b4787c3fd8282. * Revert "Revert "bump control of the 16 configure ports"" This reverts commit 9c9851ddfcd01bfad604ab9c9aed7379238d619a. * bump control again for real ci rebuild * add copy_source * remove message * pass parameters to vcpkg_build_make * fix healpix build. * fix libmagic regression * fix libwandio regression * pfring changes regression fix? (cannot test in wsl) * ws change to retrigger CI * fix libpq regression * fix libudns regression * add share/pkgconfig to PKG_CONFIG_PATH * cleanup of deprecated options * cleanup docs * Revert "bump control again for real ci rebuild" This reverts commit b4bc18edc2376eba6c3aa3dda52bd82286f23616. * shared binaries on linux should stay in lib. Only dlls are mvoed to bin * move pkgconfig check and add message about missing system packages * added autopoint as a build requirement * fix prerun shell working dir. * a few fixes from the x windows pr - add libpath setting - fixed pkgconfig search on windows platforms - fixed autopoint msys package on windows * fix release prefix * minimal cleanup and ws changes to trigger true CI rebuild * fix tcl by upgrading * remove unnecessary rename * fix pfring? can't test in WSL. Linux kernel headers required. * fix lowercase in patch * fix libwandio * remove x264 from fail list * replace wrappers with wrappers from automake * update make ports * remove unnecessary message * refactor vcpkg_configure_make * [tcl] remove stray ? * [farmhash] fix build * [freexl] ws change to retrigger ci build * [x264] add pthread as a dependency * [vcpkg/scripts] add ignore flag correctly * [sdl] fix vcpkg_fixup_pkgconfig call * [farmhash/freexl] delete configure and recreate it. * [libudns] remove trailing ? * [freexl] use empty build target * [freexl] add system library; remove previous change * Update ports/x264/portfile.cmake Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * [libwandio] remove unncessary comment Co-authored-by: dan-shaw <51385773+dan-shaw@users.noreply.github.com> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
2020-05-22 01:46:07 +08:00
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)