[pangolin] Fix static build error (#15593)

* [pangolin] Fix static build error

* Update versions

* Update dependency for pangolin

* Update pangolin.json
This commit is contained in:
NancyLi1013 2021-03-12 04:14:34 +08:00 committed by GitHub
parent f2ae282c8d
commit 2543be2edf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 32 additions and 56 deletions

View File

@ -1,6 +1,6 @@
Source: ffmpeg
Version: 4.3.1
Port-Version: 11
Port-Version: 12
Homepage: https://ffmpeg.org
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.

View File

@ -1,6 +1,8 @@
set(FFMPEG_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
cmake_policy(SET CMP0012 NEW)
_find_package(${ARGS})
set(CMAKE_MODULE_PATH ${FFMPEG_PREV_MODULE_PATH})

View File

@ -1,7 +1,7 @@
Source: pangolin
Version: 0.5
Port-Version: 11
Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg
Port-Version: 12
Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg[avformat]
Homepage: https://github.com/stevenlovegrove/Pangolin
Description: Lightweight GUI Library
Supports: !uwp & !osx

View File

@ -0,0 +1,13 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9e0baac..bb3ef76 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -287,6 +287,8 @@ if(BUILD_PANGOLIN_VIDEO AND _LINUX_)
message(STATUS "V4L Found and Enabled")
endif()
+add_definitions(-DHAVE_FFMPEG_AVPIXELFORMAT)
+
find_package(FFMPEG QUIET)
if(BUILD_PANGOLIN_VIDEO AND FFMPEG_FOUND)
set(HAVE_FFMPEG 1)

View File

@ -1,50 +0,0 @@
diff --git a/CMakeModules/FindFFMPEG.cmake b/CMakeModules/FindFFMPEG.cmake
index 4f77e5a..151762f 100644
--- a/CMakeModules/FindFFMPEG.cmake
+++ b/CMakeModules/FindFFMPEG.cmake
@@ -21,6 +21,14 @@ FIND_PATH(
SWSCALE_INCLUDE_DIR libswscale/swscale.h
/usr/include /usr/local/include /opt/local/include
)
+FIND_PATH(
+ AVDEVICE_INCLUDE_DIR libavdevice/avdevice.h
+ /usr/include /usr/local/include /opt/local/include
+)
+FIND_PATH(
+ SWRESAMPLE_INCLUDE_DIR libswresample/swresample.h
+ /usr/include /usr/local/include /opt/local/include
+)
# Find Library files
FIND_LIBRARY(
@@ -43,15 +51,28 @@ FIND_LIBRARY(
NAMES swscale
PATH /usr/lib /usr/local/lib /opt/local/lib
)
+FIND_LIBRARY(
+ AVDEVICE_LIBRARY
+ NAMES avdevice
+ PATH /usr/lib /usr/local/lib /opt/local/lib
+)
+FIND_LIBRARY(
+ SWRESAMPLE_LIBRARY
+ NAMES swresample
+ PATH /usr/lib /usr/local/lib /opt/local/lib
+)
IF( EXISTS "${AVUTIL_INCLUDE_DIR}/libavutil/pixdesc.h" )
SET( AVUTIL_HAVE_PIXDESC TRUE)
endif()
IF(AVCODEC_INCLUDE_DIR AND AVFORMAT_INCLUDE_DIR AND AVUTIL_INCLUDE_DIR AND SWSCALE_INCLUDE_DIR AND AVCODEC_LIBRARY AND AVFORMAT_LIBRARY AND AVUTIL_LIBRARY AND SWSCALE_LIBRARY AND AVUTIL_HAVE_PIXDESC)
+ IF (WIN32)
+ SET(AVFORMAT_LIBRARY ${AVFORMAT_LIBRARY} Ws2_32 Secur32 Bcrypt strmiids mfplat mfuuid)
+ ENDIF()
SET(FFMPEG_FOUND TRUE)
- SET(FFMPEG_LIBRARIES ${AVCODEC_LIBRARY} ${AVFORMAT_LIBRARY} ${AVUTIL_LIBRARY} ${SWSCALE_LIBRARY})
- SET(FFMPEG_INCLUDE_DIRS ${AVCODEC_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${SWSCALE_INCLUDE_DIR})
+ SET(FFMPEG_LIBRARIES ${AVFORMAT_LIBRARY} ${AVDEVICE_LIBRARY} ${AVCODEC_LIBRARY} ${AVUTIL_LIBRARY} ${SWSCALE_LIBRARY} ${SWRESAMPLE_LIBRARY})
+ SET(FFMPEG_INCLUDE_DIRS ${AVCODEC_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR} ${SWSCALE_INCLUDE_DIR} ${AVDEVICE_INCLUDE_DIR} ${SWRESAMPLE_INCLUDE_DIR})
include(CheckCXXSourceCompiles)

View File

@ -11,11 +11,12 @@ vcpkg_from_github(
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-dependeny-ffmpeg.patch
fix-dependency-python.patch
add-definition.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)

View File

@ -1922,7 +1922,7 @@
},
"ffmpeg": {
"baseline": "4.3.1",
"port-version": 11
"port-version": 12
},
"ffnvcodec": {
"baseline": "10.0.26.0",
@ -4498,7 +4498,7 @@
},
"pangolin": {
"baseline": "0.5",
"port-version": 11
"port-version": 12
},
"pangomm": {
"baseline": "2.40.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "15e92ca783e70105ccbf4fda0225a2587a760fe9",
"version-string": "4.3.1",
"port-version": 12
},
{
"git-tree": "985bdde5191e69e38ecda3472663614fcd491052",
"version-string": "4.3.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a27ee268db34edfd09ce5d0b51e574c7e6719931",
"version-string": "0.5",
"port-version": 12
},
{
"git-tree": "4632fbe85a4a6afb145b500f689fe47b99b45c71",
"version-string": "0.5",