vcpkg/ports/pangolin/portfile.cmake
Matthew Oliver 85a48c1ed5
[ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (#15787)
* [tesseract] Use vcpkg_fixup_pkgconfig.

* [libxml2] Correct pkgconfig lib name.

* [libwebp] Use vcpkg_fixup_pkgconfig.

* [libssh] Export pkgconfig on windows.

Also move to using git to get source.

* [modplug] Export pkgconfig on windows.

* [ffmpeg] Add support for fontconfig,freetype,fribidi,modplug,openjpeg,libssh,tesseract,libxml2 dependencies.

* [openjpeg] Correct required static link libs in pkgconfig.

* [modplug] Combine vcpkg_from_github using variable.

* Update ports/libssh/CONTROL

* Improve portfile.cmake

* update version records.

* [openjpeg] Update libs in pkgcfg.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* update version records

* [libssh] Add pthread to pkgconfig when using mbedtls.

* [libssh] Correct pthread naming on windows.

* [fontconfig] Add libintl to pkgconfig on windows.

* update version records

* [ffmpeg] Fixup FindFFmpeg.

* [ffmpeg] speex now supports non-windows.

* [ffmpeg] Add feature libass.

* [ffmpeg] Add dav1d feature.

* [ffmpeg] Add feature ilbc.

* [ffmpeg] Add tensorflow feature.

* [ffmpeg] update version record.

* [ffmpeg] Add CI feature test.

* [ffmpeg] Limit features based on CI failures.

* [ffmpeg] Update version record.

* [ffmpeg] limit features based on ci.baseline.

* [various ports] Update supports field.

* [ffmpeg] Limit features more based on CI.

* update version records.

* [ffmpeg] Add detection of additional non target deps..

select_library_configurations_from_names currently detects the debug libs even for release builds as  _IMPORT_PREFIX was not being set.

* [aubio] Silence warning about FindFFMPEG.

* [pangolin] Use vcpkg supplied FindFFMPEG.

* update version files.

* [ffnvcodec] Set as not supporting uwp.

ffnvcodec will build under uwp as its a header only lib, but it can not be used as it requires dynamic dll loading.

* [ffmpeg] Update feature all.

* update version records

* [tesseract] Wrap debug pkgcfg update.

* [libssh,libxml2,openjpeg,fontconfig] Fix pkg-config for release only triplets.

* [libssh] Correct port version after merge.

* [ffmpeg] Fixup after merge.

* Update version files.

* [ffmpeg] Add opengl support.

* [ffmpeg] Update package version.

* [ffmpeg] Fix ffnvcodec support.

* [ffmpeg] Fix x265 detection on osx.

* [libvpx] Enable arm-uwp build.

* [ffmpeg] Fixup x265 patch.

* trigger sdl rebuild

* [ffmpeg] Disable opengl on osx.

* Revert "trigger sdl rebuild"

This reverts commit 94065bfe84.

* [ffmpeg] Disable failing features on osx.

* Update ports/ffmpeg/FindFFMPEG.cmake.in

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>

* [ffmpeg] Add ass dependencies to FindFFmpeg.

* Update ports/ffmpeg/FindFFMPEG.cmake.in

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>

* update version

* [fontconfig] disable pthread/json as they are not needed for lib builds.

Only used for tests.

* [ffmpeg] Enable fontconfig on static+windows.

* update versions

* update versions.

* Fix incorrectly included commits

* revert pangolin commit

Reverts most of 2543be2edf

* update versions

* Correct port version after merge.

* update versions.

* [ffmpeg] Fix cmake dependency detection on non-windows.

* Revert "revert pangolin commit"

This reverts commit f59bc5a53e.

* [ffmpeg] Fix dependency loading that does not define separate debug/release libs.

* update versions.

* [ffmpeg] set CMP0072 policy.

* [wavpack] Fix cmake config export.

* [ffmpeg] Add optional system dependent libraries.

* update versions after merge.

* update versions.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>
2021-04-07 10:06:55 -07:00

79 lines
2.9 KiB
CMake

vcpkg_fail_port_install(ON_TARGET "OSX" "UWP")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO stevenlovegrove/Pangolin
REF v0.5
SHA512 7ebeec108f33f1aa8b1ad08e3ca128a837b22d33e3fc580021f981784043b023a1bf563bbfa8b51d46863db770b336d24fc84ee3d836b85e0da1848281b2a5b2
HEAD_REF master
PATCHES
deprecated_constants.patch # Change from upstream pangolin to address build failures from latest ffmpeg library
fix-includepath-error.patch # include path has one more ../
fix-dependency-python.patch
add-definition.patch
fix-cmake-version.patch
)
file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake)
file(REMOVE ${SOURCE_PATH}/CMakeModules/FindFFMPEG.cmake)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" MSVC_USE_STATIC_CRT)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DBUILD_EXTERN_GLEW=OFF
-DBUILD_EXTERN_LIBPNG=OFF
-DBUILD_EXTERN_LIBJPEG=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_PythonLibs=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_TooN=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_DC1394=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_LibRealSense=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_OpenNI=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_OpenNI2=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_uvc=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_DepthSense=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_TeliCam=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Pleora=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_TIFF=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_OpenEXR=OFF
-DMSVC_USE_STATIC_CRT=${MSVC_USE_STATIC_CRT}
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Pangolin)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(GLOB EXE ${CURRENT_PACKAGES_DIR}/lib/*.dll)
file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(REMOVE ${EXE})
file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll)
file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(REMOVE ${DEBUG_EXE})
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-debug.cmake
"lib/pangolin.dll" "bin/pangolin.dll"
)
vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinTargets-release.cmake
"lib/pangolin.dll" "bin/pangolin.dll"
)
endif()
if(VCPKG_TARGET_IS_WINDOWS)
# Copy missing header file
file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/include/pangolin/pangolin_export.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/pangolin)
endif()
# Put the license file where vcpkg expects it
file(COPY ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/)
file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)