vcpkg/ports/pangolin/fix-dependencies.patch
Jack·Boos·Yu e8e660a36c
[vcpkg baseline][pangolin] Add features, fix dependency pybind11 (#20006)
* [vcpkg baseline][pangolin] Add features, fix dependency pybind11

* Fix dependency name realsense2

* Remove default-feature gles

* Re-generated patch, add MAYBE_UNUSED_VARIABLES, fix build with core

* version

* Fix desc, add more MAYBE_UNUSED_VARIABLES

* version

* more MAYBE_UNUSED_VARIABLES

* version

* Remove some CMAKE_DISABLE_FIND_PACKAGE_*

* version

* Remove more CMAKE_DISABLE_FIND_* since they are disabled

* Remove BUILD_FOR_GLES_2

* version

* Restore BUILD_FOR_GLES_2

* version

* Fix more dependencies

* [libuvc]Fix build type, fix usage

* version

* Re-make patch

* version

* Use libjpeg macros instead of target name to avoid use `find_dependency`

* version

* Fix usage on non-Windows

* version

* commit suggestions

* version

* Apply suggestion

* version

* Re-fix JPEG

* version

* typo

* format

* version

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2021-09-10 13:41:46 -07:00

98 lines
3.3 KiB
Diff

diff --git a/include/pangolin/gl/colour.h b/include/pangolin/gl/colour.h
index 92bedf4..8c3e542 100644
--- a/include/pangolin/gl/colour.h
+++ b/include/pangolin/gl/colour.h
@@ -28,6 +28,7 @@
#pragma once
#include <cmath>
+#include <limits>
#include <stdexcept>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ddeb144..ee27d57 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -299,7 +299,9 @@ if(BUILD_PANGOLIN_PYTHON AND BUILD_PANGOLIN_GUI AND BUILD_PANGOLIN_VARS AND NOT
if(pybind11_FOUND)
set(HAVE_PYTHON 1)
-
+ if (UNIX)
+ set(PYTHON_LIBRARY ${PYTHON_LIBRARY} dl util)
+ endif()
file(GLOB pypangolin_SRC "python/pypangolin/*.cpp" )
file(GLOB pypangolin_HDR "python/pypangolin/*.hpp" )
list(APPEND HEADERS
@@ -382,6 +384,7 @@ endif()
option(BUILD_PANGOLIN_FFMPEG "Build support for ffmpeg video input" ON)
if(BUILD_PANGOLIN_FFMPEG AND BUILD_PANGOLIN_VIDEO)
+ add_definitions(-DHAVE_FFMPEG_AVPIXELFORMAT)
find_package(FFMPEG QUIET)
if(FFMPEG_FOUND)
set(HAVE_FFMPEG 1)
@@ -464,11 +467,14 @@ endif()
option(BUILD_PANGOLIN_LIBUVC "Build support for libuvc video input" ON)
if(BUILD_PANGOLIN_LIBUVC AND BUILD_PANGOLIN_VIDEO)
- find_package(uvc QUIET)
- if(uvc_FOUND)
+ find_package(libuvc CONFIG QUIET)
+ if(libuvc_FOUND)
set(HAVE_UVC 1)
- list(APPEND INTERNAL_INC ${uvc_INCLUDE_DIRS} )
- list(APPEND LINK_LIBS ${uvc_LIBRARIES} )
+ if (TARGET LibUVC::UVCShared)
+ list(APPEND LINK_LIBS LibUVC::UVCShared )
+ else()
+ list(APPEND LINK_LIBS LibUVC::UVCStatic )
+ endif()
list(APPEND HEADERS ${INCDIR}/video/drivers/uvc.h )
list(APPEND SOURCES video/drivers/uvc.cpp)
list(APPEND VIDEO_FACTORY_REG RegisterUvcVideoFactory )
@@ -584,11 +590,10 @@ endif()
option(BUILD_PANGOLIN_LIBOPENEXR "Build support for libopenexr image input" ON)
if(BUILD_PANGOLIN_LIBOPENEXR)
- find_package(OpenEXR QUIET)
+ find_package(OpenEXR CONFIG QUIET)
if(OpenEXR_FOUND)
set(HAVE_OPENEXR 1)
- list(APPEND INTERNAL_INC ${OpenEXR_INCLUDE_DIR} )
- list(APPEND LINK_LIBS ${OpenEXR_LIBRARY} )
+ list(APPEND LINK_LIBS OpenEXR::IlmImf OpenEXR::IlmImfUtil OpenEXR::IlmImfConfig )
message(STATUS "libopenexr Found and Enabled")
endif()
endif()
@@ -630,6 +635,13 @@ endif()
set(INSTALL_INCLUDE_DIR "include")
+# Required by geometry
+if(NOT BUILD_EXTERN_GLEW)
+ find_package(GLEW REQUIRED)
+endif()
+list(APPEND USER_INC ${GLEW_INCLUDE_DIR})
+list(APPEND LINK_LIBS ${GLEW_LIBRARY})
+
add_library(${LIBRARY_NAME} ${SOURCES} ${HEADERS})
# 'System' includes shield us from warnings in those includes.
target_include_directories(${LIBRARY_NAME} SYSTEM PUBLIC ${USER_INC} PRIVATE ${INTERNAL_INC})
@@ -692,7 +704,13 @@ CreateMethodCallFile(
option(BUILD_PYPANGOLIN_MODULE "Python wrapper for Pangolin" ON)
if(BUILD_PYPANGOLIN_MODULE AND HAVE_PYTHON )
file(GLOB pypangolin_SRC "python/pypangolin/*.hpp" "python/pypangolin/*.cpp" "python/pypangolin_module.cpp")
- pybind11_add_module(pypangolin ${pypangolin_SRC})
+ if (BUILD_SHARED_LIBS)
+ set(PYBIND11_MODULE_TYPE SHARED)
+ else()
+ set(PYBIND11_MODULE_TYPE STATIC)
+ endif()
+
+ pybind11_add_module(pypangolin ${PYBIND11_MODULE_TYPE} ${pypangolin_SRC})
target_link_libraries(pypangolin PRIVATE ${LIBRARY_NAME})
target_include_directories(pypangolin PRIVATE "${USER_INC}")
endif()