vcpkg/ports/libvpx/portfile.cmake

315 lines
13 KiB
CMake
Raw Normal View History

vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
2020-09-01 00:34:35 +08:00
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
2020-09-01 00:34:35 +08:00
REPO webmproject/libvpx
REF "v${VERSION}"
SHA512 49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897
2020-09-01 00:34:35 +08:00
HEAD_REF master
PATCHES
0002-Fix-nasm-debug-format-flag.patch
[libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 (#24470) * [libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 These results are from the most recent CI run: https://dev.azure.com/vcpkg/public/_build/results?buildId=71465 PASSING, REMOVE FROM FAIL LIST: aubio:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also did some investigation as to why aubio:arm-uwp didn't pass. Turns out, it's because aubio depends on ffmpeg, which failed to build because it depends on libvpx, which we never fixed for UWP following the VS2022 update. See also https://developercommunity.visualstudio.com/t/MicrosoftVisualStudioComponentVCTool/10002207?space=62&scope=follow&sort=newest PASSING, REMOVE FROM FAIL LIST: freetype-gl:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked freetype-gl:arm-uwp, but it's blocked by glew which is blocked by opengl which appears to not be a thing on arm. PASSING, REMOVE FROM FAIL LIST: intelrdfpmathlib:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). The arm-uwp version of this emits errors that look like source issues; I blocked arm&windows with a supports expression: D:\buildtrees\intelrdfpmathlib\src\athLib20U2-d2a8954428.clean\LIBRARY\src\bid_functions.h(3113): error C2719: 'x': formal parameter with requested alignment of 16 won't be aligned PASSING, REMOVE FROM FAIL LIST: libbson:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libbson:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: lmdb:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). arm-uwp failed with again what looks like a source issue: mdb.c.obj : error LNK2001: unresolved external symbol __tls_used mdb.c.obj : error LNK2001: unresolved external symbol _mdb_tls_cbp PASSING, REMOVE FROM FAIL LIST: metis:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: metis:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked Linux and it says Could NOT find ibverbs (missing: IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES) which may be vcpkg's fault so I left that ci.baseline.txt skip alone. REGRESSION: jansson:arm-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:arm-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. REGRESSION: jansson:x64-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:x64-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. Already fixed by https://github.com/microsoft/vcpkg/pull/24466 * dos2unix the patch * :dos2unix the other patches too
2022-04-30 12:27:24 +08:00
0003-add-uwp-v142-and-v143-support.patch
0004-remove-library-suffixes.patch
0005-fix-arm64-build.patch # Upstream commit: https://github.com/webmproject/libvpx/commit/858a8c611f4c965078485860a6820e2135e6611b
)
2017-03-16 03:07:16 +08:00
if(CMAKE_HOST_WIN32)
vcpkg_acquire_msys(MSYS_ROOT PACKAGES make perl)
set(ENV{PATH} "${MSYS_ROOT}/usr/bin;$ENV{PATH}")
else()
vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
[libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 (#24470) * [libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 These results are from the most recent CI run: https://dev.azure.com/vcpkg/public/_build/results?buildId=71465 PASSING, REMOVE FROM FAIL LIST: aubio:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also did some investigation as to why aubio:arm-uwp didn't pass. Turns out, it's because aubio depends on ffmpeg, which failed to build because it depends on libvpx, which we never fixed for UWP following the VS2022 update. See also https://developercommunity.visualstudio.com/t/MicrosoftVisualStudioComponentVCTool/10002207?space=62&scope=follow&sort=newest PASSING, REMOVE FROM FAIL LIST: freetype-gl:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked freetype-gl:arm-uwp, but it's blocked by glew which is blocked by opengl which appears to not be a thing on arm. PASSING, REMOVE FROM FAIL LIST: intelrdfpmathlib:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). The arm-uwp version of this emits errors that look like source issues; I blocked arm&windows with a supports expression: D:\buildtrees\intelrdfpmathlib\src\athLib20U2-d2a8954428.clean\LIBRARY\src\bid_functions.h(3113): error C2719: 'x': formal parameter with requested alignment of 16 won't be aligned PASSING, REMOVE FROM FAIL LIST: libbson:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libbson:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: lmdb:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). arm-uwp failed with again what looks like a source issue: mdb.c.obj : error LNK2001: unresolved external symbol __tls_used mdb.c.obj : error LNK2001: unresolved external symbol _mdb_tls_cbp PASSING, REMOVE FROM FAIL LIST: metis:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: metis:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked Linux and it says Could NOT find ibverbs (missing: IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES) which may be vcpkg's fault so I left that ci.baseline.txt skip alone. REGRESSION: jansson:arm-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:arm-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. REGRESSION: jansson:x64-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:x64-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. Already fixed by https://github.com/microsoft/vcpkg/pull/24466 * dos2unix the patch * :dos2unix the other patches too
2022-04-30 12:27:24 +08:00
set(ENV{PATH} "${MSYS_ROOT}/usr/bin:$ENV{PATH}:${PERL_EXE_PATH}")
endif()
find_program(BASH NAME bash HINTS ${MSYS_ROOT}/usr/bin REQUIRED NO_CACHE)
2017-03-16 03:07:16 +08:00
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
vcpkg_find_acquire_program(NASM)
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
vcpkg_add_to_path(${NASM_EXE_PATH})
endif()
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
2017-03-16 03:07:16 +08:00
file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp")
2017-03-16 03:07:16 +08:00
if(VCPKG_CRT_LINKAGE STREQUAL static)
set(LIBVPX_CRT_LINKAGE --enable-static-msvcrt)
set(LIBVPX_CRT_SUFFIX mt)
else()
set(LIBVPX_CRT_SUFFIX md)
endif()
[libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 (#24470) * [libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 These results are from the most recent CI run: https://dev.azure.com/vcpkg/public/_build/results?buildId=71465 PASSING, REMOVE FROM FAIL LIST: aubio:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also did some investigation as to why aubio:arm-uwp didn't pass. Turns out, it's because aubio depends on ffmpeg, which failed to build because it depends on libvpx, which we never fixed for UWP following the VS2022 update. See also https://developercommunity.visualstudio.com/t/MicrosoftVisualStudioComponentVCTool/10002207?space=62&scope=follow&sort=newest PASSING, REMOVE FROM FAIL LIST: freetype-gl:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked freetype-gl:arm-uwp, but it's blocked by glew which is blocked by opengl which appears to not be a thing on arm. PASSING, REMOVE FROM FAIL LIST: intelrdfpmathlib:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). The arm-uwp version of this emits errors that look like source issues; I blocked arm&windows with a supports expression: D:\buildtrees\intelrdfpmathlib\src\athLib20U2-d2a8954428.clean\LIBRARY\src\bid_functions.h(3113): error C2719: 'x': formal parameter with requested alignment of 16 won't be aligned PASSING, REMOVE FROM FAIL LIST: libbson:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libbson:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: lmdb:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). arm-uwp failed with again what looks like a source issue: mdb.c.obj : error LNK2001: unresolved external symbol __tls_used mdb.c.obj : error LNK2001: unresolved external symbol _mdb_tls_cbp PASSING, REMOVE FROM FAIL LIST: metis:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: metis:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked Linux and it says Could NOT find ibverbs (missing: IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES) which may be vcpkg's fault so I left that ci.baseline.txt skip alone. REGRESSION: jansson:arm-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:arm-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. REGRESSION: jansson:x64-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:x64-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. Already fixed by https://github.com/microsoft/vcpkg/pull/24466 * dos2unix the patch * :dos2unix the other patches too
2022-04-30 12:27:24 +08:00
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore AND (VCPKG_PLATFORM_TOOLSET STREQUAL v142 OR VCPKG_PLATFORM_TOOLSET STREQUAL v143))
set(LIBVPX_TARGET_OS "uwp")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(LIBVPX_TARGET_OS "win32")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
set(LIBVPX_TARGET_OS "win64")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
set(LIBVPX_TARGET_ARCH "x86-${LIBVPX_TARGET_OS}")
set(LIBVPX_ARCH_DIR "Win32")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(LIBVPX_TARGET_ARCH "x86_64-${LIBVPX_TARGET_OS}")
set(LIBVPX_ARCH_DIR "x64")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
set(LIBVPX_TARGET_ARCH "arm64-${LIBVPX_TARGET_OS}")
set(LIBVPX_ARCH_DIR "ARM64")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(LIBVPX_TARGET_ARCH "armv7-${LIBVPX_TARGET_OS}")
set(LIBVPX_ARCH_DIR "ARM")
endif()
[libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 (#24470) * [libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 These results are from the most recent CI run: https://dev.azure.com/vcpkg/public/_build/results?buildId=71465 PASSING, REMOVE FROM FAIL LIST: aubio:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also did some investigation as to why aubio:arm-uwp didn't pass. Turns out, it's because aubio depends on ffmpeg, which failed to build because it depends on libvpx, which we never fixed for UWP following the VS2022 update. See also https://developercommunity.visualstudio.com/t/MicrosoftVisualStudioComponentVCTool/10002207?space=62&scope=follow&sort=newest PASSING, REMOVE FROM FAIL LIST: freetype-gl:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked freetype-gl:arm-uwp, but it's blocked by glew which is blocked by opengl which appears to not be a thing on arm. PASSING, REMOVE FROM FAIL LIST: intelrdfpmathlib:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). The arm-uwp version of this emits errors that look like source issues; I blocked arm&windows with a supports expression: D:\buildtrees\intelrdfpmathlib\src\athLib20U2-d2a8954428.clean\LIBRARY\src\bid_functions.h(3113): error C2719: 'x': formal parameter with requested alignment of 16 won't be aligned PASSING, REMOVE FROM FAIL LIST: libbson:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libbson:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: lmdb:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). arm-uwp failed with again what looks like a source issue: mdb.c.obj : error LNK2001: unresolved external symbol __tls_used mdb.c.obj : error LNK2001: unresolved external symbol _mdb_tls_cbp PASSING, REMOVE FROM FAIL LIST: metis:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: metis:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked Linux and it says Could NOT find ibverbs (missing: IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES) which may be vcpkg's fault so I left that ci.baseline.txt skip alone. REGRESSION: jansson:arm-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:arm-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. REGRESSION: jansson:x64-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:x64-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. Already fixed by https://github.com/microsoft/vcpkg/pull/24466 * dos2unix the patch * :dos2unix the other patches too
2022-04-30 12:27:24 +08:00
if(VCPKG_PLATFORM_TOOLSET STREQUAL v143)
set(LIBVPX_TARGET_VS "vs17")
elseif(VCPKG_PLATFORM_TOOLSET STREQUAL v142)
set(LIBVPX_TARGET_VS "vs16")
else()
set(LIBVPX_TARGET_VS "vs15")
endif()
set(OPTIONS "--disable-examples --disable-tools --disable-docs --enable-pic")
if("realtime" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-realtime-only")
endif()
if("highbitdepth" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-vp9-highbitdepth")
endif()
message(STATUS "Generating makefile")
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc
"${SOURCE_PATH}/configure"
--target=${LIBVPX_TARGET_ARCH}-${LIBVPX_TARGET_VS}
${LIBVPX_CRT_LINKAGE}
${OPTIONS}
--as=nasm
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp"
LOGNAME configure-${TARGET_TRIPLET})
message(STATUS "Generating MSBuild projects")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc -c "make dist"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp"
LOGNAME generate-${TARGET_TRIPLET})
vcpkg_msbuild_install(
SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp"
PROJECT_SUBPATH vpx.vcxproj
)
if (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nopost-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${VERSION}/include/vpx")
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nopost-nomt-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${VERSION}/include/vpx")
else()
set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vpx-vp8-vp9-nodocs-${LIBVPX_TARGET_ARCH}${LIBVPX_CRT_SUFFIX}-${LIBVPX_TARGET_VS}-v${VERSION}/include/vpx")
endif()
file(
INSTALL
"${LIBVPX_INCLUDE_DIR}"
DESTINATION
"${CURRENT_PACKAGES_DIR}/include"
RENAME
"vpx")
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
set(LIBVPX_PREFIX "${CURRENT_INSTALLED_DIR}")
configure_file("${CMAKE_CURRENT_LIST_DIR}/vpx.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/vpx.pc" @ONLY)
endif()
[libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 (#24470) * [libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 These results are from the most recent CI run: https://dev.azure.com/vcpkg/public/_build/results?buildId=71465 PASSING, REMOVE FROM FAIL LIST: aubio:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also did some investigation as to why aubio:arm-uwp didn't pass. Turns out, it's because aubio depends on ffmpeg, which failed to build because it depends on libvpx, which we never fixed for UWP following the VS2022 update. See also https://developercommunity.visualstudio.com/t/MicrosoftVisualStudioComponentVCTool/10002207?space=62&scope=follow&sort=newest PASSING, REMOVE FROM FAIL LIST: freetype-gl:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked freetype-gl:arm-uwp, but it's blocked by glew which is blocked by opengl which appears to not be a thing on arm. PASSING, REMOVE FROM FAIL LIST: intelrdfpmathlib:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). The arm-uwp version of this emits errors that look like source issues; I blocked arm&windows with a supports expression: D:\buildtrees\intelrdfpmathlib\src\athLib20U2-d2a8954428.clean\LIBRARY\src\bid_functions.h(3113): error C2719: 'x': formal parameter with requested alignment of 16 won't be aligned PASSING, REMOVE FROM FAIL LIST: libbson:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libbson:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: lmdb:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). arm-uwp failed with again what looks like a source issue: mdb.c.obj : error LNK2001: unresolved external symbol __tls_used mdb.c.obj : error LNK2001: unresolved external symbol _mdb_tls_cbp PASSING, REMOVE FROM FAIL LIST: metis:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: metis:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked Linux and it says Could NOT find ibverbs (missing: IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES) which may be vcpkg's fault so I left that ci.baseline.txt skip alone. REGRESSION: jansson:arm-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:arm-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. REGRESSION: jansson:x64-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:x64-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. Already fixed by https://github.com/microsoft/vcpkg/pull/24466 * dos2unix the patch * :dos2unix the other patches too
2022-04-30 12:27:24 +08:00
if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
set(LIBVPX_PREFIX "${CURRENT_INSTALLED_DIR}/debug")
[libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 (#24470) * [libvpx,lmdb,aubio,freetype-gl,intelrdfpmathlib,libbson,libtcod,metis,pqp,smpeg2] Build fixes 2022-04-28 These results are from the most recent CI run: https://dev.azure.com/vcpkg/public/_build/results?buildId=71465 PASSING, REMOVE FROM FAIL LIST: aubio:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also did some investigation as to why aubio:arm-uwp didn't pass. Turns out, it's because aubio depends on ffmpeg, which failed to build because it depends on libvpx, which we never fixed for UWP following the VS2022 update. See also https://developercommunity.visualstudio.com/t/MicrosoftVisualStudioComponentVCTool/10002207?space=62&scope=follow&sort=newest PASSING, REMOVE FROM FAIL LIST: freetype-gl:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked freetype-gl:arm-uwp, but it's blocked by glew which is blocked by opengl which appears to not be a thing on arm. PASSING, REMOVE FROM FAIL LIST: intelrdfpmathlib:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). The arm-uwp version of this emits errors that look like source issues; I blocked arm&windows with a supports expression: D:\buildtrees\intelrdfpmathlib\src\athLib20U2-d2a8954428.clean\LIBRARY\src\bid_functions.h(3113): error C2719: 'x': formal parameter with requested alignment of 16 won't be aligned PASSING, REMOVE FROM FAIL LIST: libbson:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libbson:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: libtcod:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: lmdb:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). arm-uwp failed with again what looks like a source issue: mdb.c.obj : error LNK2001: unresolved external symbol __tls_used mdb.c.obj : error LNK2001: unresolved external symbol _mdb_tls_cbp PASSING, REMOVE FROM FAIL LIST: metis:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: metis:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: pqp:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:arm-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). PASSING, REMOVE FROM FAIL LIST: smpeg2:x64-uwp (C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt). I also checked Linux and it says Could NOT find ibverbs (missing: IBVERBS_INCLUDE_DIRS IBVERBS_LIBRARIES) which may be vcpkg's fault so I left that ci.baseline.txt skip alone. REGRESSION: jansson:arm-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:arm-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. REGRESSION: jansson:x64-uwp failed with POST_BUILD_CHECKS_FAILED. If expected, add jansson:x64-uwp=fail to C:\a\1\s\scripts\azure-pipelines/../ci.baseline.txt. Already fixed by https://github.com/microsoft/vcpkg/pull/24466 * dos2unix the patch * :dos2unix the other patches too
2022-04-30 12:27:24 +08:00
configure_file("${CMAKE_CURRENT_LIST_DIR}/vpx.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/vpx.pc" @ONLY)
endif()
2017-03-16 03:07:16 +08:00
else()
set(OPTIONS "--disable-examples --disable-tools --disable-docs --disable-unit-tests --enable-pic")
set(OPTIONS_DEBUG "--enable-debug-libs --enable-debug --prefix=${CURRENT_PACKAGES_DIR}/debug")
set(OPTIONS_RELEASE "--prefix=${CURRENT_PACKAGES_DIR}")
set(AS_NASM "--as=nasm")
Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (#17331) * Update to CUDA 11.3 on Windows. * Update PowerShell to 7.1.3. * Update CUDA to 11.3 on Linux. * "Explode" VM provisioning scripts for more consistent feedback during deploy. This resolves the deployment script often hanging with no feedback as to why. * [libdatachannel] Fix use of deprecated result_type typedef. Submitted upstream as https://github.com/paullouisageneau/libdatachannel/pull/413 * [libvpx] Get the libvpx outputs from the correct place. (Perhaps VS2019 version 16.10 moved where these are placed? I've been defensive and left an attempt to find from the old location in place.) * [chromaprint] Support implementations where lrintf is an intrinsic. * Add provision-entire-image script. * [cudnn] Disable download-on-the-fly due to licensing concerns. * Add libnccl to Linux VMs. * [wangle] Disable x64-windows due to an ICE. * [cmake] Update cmake to 3.20.1 to avoid https://gitlab.kitware.com/cmake/cmake/-/issues/21571 race * [libudis86] Fix passing a bogus working directory which fails on CMake 3.20.x * [dartsim] Disable unit tests, examples, and tutorials, some of which have CMake authoring errors rejected by 3.20.1. * Add thrust to the cuda installees. * [tensorflow] Put .bzl in CURRENT_BUILDTREES_DIR to avoid running out of disk space in CI and to respect --clean-after-build. * [dimcli] Skip port broken by changes in VS2019 project system. * [upb] Disable an additional warning. * [libhv] Fix typo DISABLE_PARALLEL => DISABLE_PARALLEL_CONFIGURE * Update pools
2021-04-27 01:27:45 +08:00
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
else()
set(OPTIONS "${OPTIONS} --enable-static --disable-shared")
endif()
Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (#17331) * Update to CUDA 11.3 on Windows. * Update PowerShell to 7.1.3. * Update CUDA to 11.3 on Linux. * "Explode" VM provisioning scripts for more consistent feedback during deploy. This resolves the deployment script often hanging with no feedback as to why. * [libdatachannel] Fix use of deprecated result_type typedef. Submitted upstream as https://github.com/paullouisageneau/libdatachannel/pull/413 * [libvpx] Get the libvpx outputs from the correct place. (Perhaps VS2019 version 16.10 moved where these are placed? I've been defensive and left an attempt to find from the old location in place.) * [chromaprint] Support implementations where lrintf is an intrinsic. * Add provision-entire-image script. * [cudnn] Disable download-on-the-fly due to licensing concerns. * Add libnccl to Linux VMs. * [wangle] Disable x64-windows due to an ICE. * [cmake] Update cmake to 3.20.1 to avoid https://gitlab.kitware.com/cmake/cmake/-/issues/21571 race * [libudis86] Fix passing a bogus working directory which fails on CMake 3.20.x * [dartsim] Disable unit tests, examples, and tutorials, some of which have CMake authoring errors rejected by 3.20.1. * Add thrust to the cuda installees. * [tensorflow] Put .bzl in CURRENT_BUILDTREES_DIR to avoid running out of disk space in CI and to respect --clean-after-build. * [dimcli] Skip port broken by changes in VS2019 project system. * [upb] Disable an additional warning. * [libhv] Fix typo DISABLE_PARALLEL => DISABLE_PARALLEL_CONFIGURE * Update pools
2021-04-27 01:27:45 +08:00
if("realtime" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-realtime-only")
endif()
if("highbitdepth" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-vp9-highbitdepth")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
set(LIBVPX_TARGET_ARCH "x86")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(LIBVPX_TARGET_ARCH "x86_64")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(LIBVPX_TARGET_ARCH "armv7")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
set(LIBVPX_TARGET_ARCH "arm64")
else()
message(FATAL_ERROR "libvpx does not support architecture ${VCPKG_TARGET_ARCHITECTURE}")
endif()
vcpkg_cmake_get_vars(cmake_vars_file)
include("${cmake_vars_file}")
# Set environment variables for configure
if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*-)gcc$")
message(STATUS "Cross-building for ${TARGET_TRIPLET} with ${CMAKE_MATCH_1}")
set(ENV{CROSS} ${CMAKE_MATCH_1})
unset(AS_NASM)
else()
set(ENV{CC} ${VCPKG_DETECTED_CMAKE_C_COMPILER})
set(ENV{CXX} ${VCPKG_DETECTED_CMAKE_CXX_COMPILER})
set(ENV{AR} ${VCPKG_DETECTED_CMAKE_AR})
set(ENV{LD} ${VCPKG_DETECTED_CMAKE_LINKER})
set(ENV{RANLIB} ${VCPKG_DETECTED_CMAKE_RANLIB})
set(ENV{STRIP} ${VCPKG_DETECTED_CMAKE_STRIP})
endif()
if(VCPKG_TARGET_IS_MINGW)
if(LIBVPX_TARGET_ARCH STREQUAL "x86")
set(LIBVPX_TARGET "x86-win32-gcc")
else()
set(LIBVPX_TARGET "x86_64-win64-gcc")
endif()
elseif(VCPKG_TARGET_IS_LINUX)
set(LIBVPX_TARGET "${LIBVPX_TARGET_ARCH}-linux-gcc")
elseif(VCPKG_TARGET_IS_ANDROID)
set(LIBVPX_TARGET "generic-gnu")
# Settings
if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
set(OPTIONS "${OPTIONS} --disable-sse4_1 --disable-avx --disable-avx2 --disable-avx512")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
set(OPTIONS "${OPTIONS} --disable-avx --disable-avx2 --disable-avx512")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(OPTIONS "${OPTIONS} --enable-thumb --disable-neon")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
set(OPTIONS "${OPTIONS} --enable-thumb")
endif()
# Set environment variables for configure
set(ENV{AS} ${VCPKG_DETECTED_CMAKE_C_COMPILER})
set(ENV{LDFLAGS} "${LDFLAGS} --target=${VCPKG_DETECTED_CMAKE_C_COMPILER_TARGET}")
# Set clang target
set(OPTIONS "${OPTIONS} --extra-cflags=--target=${VCPKG_DETECTED_CMAKE_C_COMPILER_TARGET} --extra-cxxflags=--target=${VCPKG_DETECTED_CMAKE_CXX_COMPILER_TARGET}")
# Unset nasm and let AS do its job
unset(AS_NASM)
elseif(VCPKG_TARGET_IS_OSX)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(LIBVPX_TARGET "arm64-darwin20-gcc")
if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
set(MAC_OSX_MIN_VERSION_CFLAGS --extra-cflags=-mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET} --extra-cxxflags=-mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET})
endif()
else()
set(LIBVPX_TARGET "${LIBVPX_TARGET_ARCH}-darwin17-gcc") # enable latest CPU instructions for best performance and less CPU usage on MacOS
endif()
elseif(VCPKG_TARGET_IS_IOS)
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm)
set(LIBVPX_TARGET "armv7-darwin-gcc")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
set(LIBVPX_TARGET "arm64-darwin-gcc")
else()
message(FATAL_ERROR "libvpx does not support architecture ${VCPKG_TARGET_ARCHITECTURE} on iOS")
endif()
else()
set(LIBVPX_TARGET "generic-gnu") # use default target
endif()
message(STATUS "Build info. Target: ${LIBVPX_TARGET}; Options: ${OPTIONS}")
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
message(STATUS "Configuring libvpx for Release")
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc
"${SOURCE_PATH}/configure"
--target=${LIBVPX_TARGET}
${OPTIONS}
${OPTIONS_RELEASE}
${MAC_OSX_MIN_VERSION_CFLAGS}
${AS_NASM}
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
LOGNAME configure-${TARGET_TRIPLET}-rel)
message(STATUS "Building libvpx for Release")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc -c "make -j${VCPKG_CONCURRENCY}"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
LOGNAME build-${TARGET_TRIPLET}-rel
)
message(STATUS "Installing libvpx for Release")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc -c "make install"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
LOGNAME install-${TARGET_TRIPLET}-rel
)
endif()
# --- --- ---
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
message(STATUS "Configuring libvpx for Debug")
file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc
"${SOURCE_PATH}/configure"
--target=${LIBVPX_TARGET}
${OPTIONS}
${OPTIONS_DEBUG}
${MAC_OSX_MIN_VERSION_CFLAGS}
${AS_NASM}
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
LOGNAME configure-${TARGET_TRIPLET}-dbg)
message(STATUS "Building libvpx for Debug")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc -c "make -j${VCPKG_CONCURRENCY}"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
LOGNAME build-${TARGET_TRIPLET}-dbg
)
message(STATUS "Installing libvpx for Debug")
vcpkg_execute_required_process(
COMMAND
${BASH} --noprofile --norc -c "make install"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
LOGNAME install-${TARGET_TRIPLET}-dbg
)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libvpx_g.a")
endif()
2017-03-16 03:07:16 +08:00
endif()
vcpkg_fixup_pkgconfig()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
set(LIBVPX_CONFIG_DEBUG ON)
else()
set(LIBVPX_CONFIG_DEBUG OFF)
endif()
configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-libvpx-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-libvpx/unofficial-libvpx-config.cmake" @ONLY)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")