aboutsummaryrefslogtreecommitdiff
path: root/ports/openvdb
diff options
context:
space:
mode:
Diffstat (limited to 'ports/openvdb')
-rw-r--r--ports/openvdb/0001-fix-cmake-modules.patch198
-rw-r--r--ports/openvdb/0002-add-custom-options.patch14
-rw-r--r--ports/openvdb/0003-build-only-necessary-targets.patch (renamed from ports/openvdb/AddLinkageAndToolsChoice.patch)143
-rw-r--r--ports/openvdb/CONTROL6
-rw-r--r--ports/openvdb/UseGLEWOnWindowsForViewer.patch60
-rw-r--r--ports/openvdb/portfile.cmake89
6 files changed, 307 insertions, 203 deletions
diff --git a/ports/openvdb/0001-fix-cmake-modules.patch b/ports/openvdb/0001-fix-cmake-modules.patch
new file mode 100644
index 000000000..1e613e602
--- /dev/null
+++ b/ports/openvdb/0001-fix-cmake-modules.patch
@@ -0,0 +1,198 @@
+diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake
+index 2d9d9d3..e9b4abc 100644
+--- a/cmake/FindBlosc.cmake
++++ b/cmake/FindBlosc.cmake
+@@ -37,11 +37,7 @@
+
+ FIND_PACKAGE ( PackageHandleStandardArgs )
+
+-FIND_PATH( BLOSC_LOCATION include/blosc.h
+- "$ENV{BLOSC_ROOT}"
+- NO_DEFAULT_PATH
+- NO_SYSTEM_ENVIRONMENT_PATH
+- )
++FIND_PATH( BLOSC_LOCATION include/blosc.h)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc
+ REQUIRED_VARS BLOSC_LOCATION
+@@ -53,7 +49,7 @@ IF ( BLOSC_FOUND )
+ CACHE STRING "Blosc library directories")
+
+ SET ( _blosc_library_name "blosc" )
+-
++
+ # Static library setup
+ IF (Blosc_USE_STATIC_LIBS)
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES})
+@@ -69,7 +65,7 @@ IF ( BLOSC_FOUND )
+ NO_DEFAULT_PATH
+ NO_SYSTEM_ENVIRONMENT_PATH
+ )
+-
++
+ # Static library tear down
+ IF (Blosc_USE_STATIC_LIBS)
+ SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} )
+diff --git a/cmake/FindGLEW.cmake b/cmake/FindGLEW.cmake
+index 0b72457..75951a6 100644
+--- a/cmake/FindGLEW.cmake
++++ b/cmake/FindGLEW.cmake
+@@ -39,11 +39,7 @@
+
+ FIND_PACKAGE ( PackageHandleStandardArgs )
+
+-FIND_PATH( GLEW_LOCATION include/GL/glew.h
+- "$ENV{GLEW_ROOT}"
+- NO_DEFAULT_PATH
+- NO_SYSTEM_ENVIRONMENT_PATH
+- )
++FIND_PATH( GLEW_LOCATION include/GL/glew.h)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLEW
+ REQUIRED_VARS GLEW_LOCATION
+diff --git a/cmake/FindGLFW3.cmake b/cmake/FindGLFW3.cmake
+index cea0b86..07ea09e 100644
+--- a/cmake/FindGLFW3.cmake
++++ b/cmake/FindGLFW3.cmake
+@@ -39,11 +39,7 @@
+
+ FIND_PACKAGE ( PackageHandleStandardArgs )
+
+-FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h
+- "$ENV{GLFW3_ROOT}"
+- NO_DEFAULT_PATH
+- NO_SYSTEM_ENVIRONMENT_PATH
+-)
++FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLFW3
+ REQUIRED_VARS GLFW3_LOCATION
+diff --git a/cmake/FindILMBase.cmake b/cmake/FindILMBase.cmake
+index 664affd..5197110 100644
+--- a/cmake/FindILMBase.cmake
++++ b/cmake/FindILMBase.cmake
+@@ -43,11 +43,7 @@
+
+ FIND_PACKAGE ( PackageHandleStandardArgs )
+
+-FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h
+- "$ENV{ILMBASE_ROOT}"
+- NO_DEFAULT_PATH
+- NO_SYSTEM_ENVIRONMENT_PATH
+- )
++FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase
+ REQUIRED_VARS ILMBASE_LOCATION
+@@ -70,11 +66,13 @@ IF ( ILMBASE_FOUND )
+ SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
+ SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
+ SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
++ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
+ ELSE ( ILMBASE_NAMESPACE_VERSIONING )
+ SET ( IEX_LIBRARY_NAME Iex )
+ SET ( IEXMATH_LIBRARY_NAME IexMath )
+ SET ( ILMTHREAD_LIBRARY_NAME IlmThread )
+ SET ( IMATH_LIBRARY_NAME Imath )
++ SET ( HALF_LIBRARY_NAME Half )
+ ENDIF ( ILMBASE_NAMESPACE_VERSIONING )
+
+ SET ( ILMBASE_INCLUDE_DIRS
+@@ -84,7 +82,7 @@ IF ( ILMBASE_FOUND )
+ SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib
+ CACHE STRING "ILMBase library directories")
+ SET ( ILMBASE_FOUND TRUE )
+-
++
+ SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+ IF (Ilmbase_USE_STATIC_LIBS)
+ IF (APPLE)
+@@ -129,14 +127,14 @@ IF ( ILMBASE_FOUND )
+ ELSEIF (WIN32)
+ # Link library
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
+ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
+ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
+ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
+ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
+ # Load library
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
+- FIND_LIBRARY ( Ilmbase_HALF_DLL Half PATHS ${ILMBASE_LOCATION}/bin
++ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin
+ NO_DEFAULT_PATH
+ NO_SYSTEM_ENVIRONMENT_PATH
+ )
+@@ -157,7 +155,7 @@ IF ( ILMBASE_FOUND )
+ NO_SYSTEM_ENVIRONMENT_PATH
+ )
+ ELSE (APPLE)
+- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR}
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
+ NO_DEFAULT_PATH
+ NO_SYSTEM_ENVIRONMENT_PATH
+ )
+diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake
+index 6d69c03..5ecf8fa 100644
+--- a/cmake/FindOpenEXR.cmake
++++ b/cmake/FindOpenEXR.cmake
+@@ -38,11 +38,7 @@
+
+ FIND_PACKAGE ( PackageHandleStandardArgs )
+
+-FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h
+- ENV OPENEXR_ROOT
+- NO_DEFAULT_PATH
+- NO_SYSTEM_ENVIRONMENT_PATH
+- )
++FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( OpenEXR
+ REQUIRED_VARS OPENEXR_LOCATION
+@@ -59,7 +55,7 @@ IF ( OPENEXR_FOUND )
+ FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR ")
+ STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" _openexr_version_minor_unstrip "${_openexr_version_minor_string}")
+ STRING ( STRIP "${_openexr_version_minor_unstrip}" OPENEXR_VERSION_MINOR )
+-
++
+ MESSAGE ( STATUS "Found OpenEXR v${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR} at ${OPENEXR_LOCATION}" )
+
+ IF ( OPENEXR_NAMESPACE_VERSIONING )
+@@ -67,7 +63,7 @@ IF ( OPENEXR_FOUND )
+ ELSE ( OPENEXR_NAMESPACE_VERSIONING )
+ SET ( ILMIMF_LIBRARY_NAME IlmImf )
+ ENDIF ( OPENEXR_NAMESPACE_VERSIONING )
+-
++
+ SET ( OPENEXR_INCLUDE_DIRS
+ ${OPENEXR_LOCATION}/include
+ ${OPENEXR_LOCATION}/include/OpenEXR
+@@ -120,6 +116,5 @@ IF ( OPENEXR_FOUND )
+ ENDIF ()
+
+ # SET( Openexr_ILMIMF_LIBRARY ${OPENEXR_ILMIMF_LIBRARY_PATH} CACHE STRING "Openexr's IlmImf library")
+-
+-ENDIF ( OPENEXR_FOUND )
+
++ENDIF ( OPENEXR_FOUND )
+diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
+index 8a56ec0..9f5a7b4 100644
+--- a/cmake/FindTBB.cmake
++++ b/cmake/FindTBB.cmake
+@@ -42,14 +42,7 @@ FIND_PACKAGE ( PackageHandleStandardArgs )
+
+ # SET ( TBB_FOUND FALSE )
+
+-FIND_PATH( TBB_LOCATION include/tbb/tbb.h
+- "$ENV{TBB_ROOT}"
+- NO_DEFAULT_PATH
+- NO_CMAKE_ENVIRONMENT_PATH
+- NO_CMAKE_PATH
+- NO_SYSTEM_ENVIRONMENT_PATH
+- NO_CMAKE_SYSTEM_PATH
+- )
++FIND_PATH( TBB_LOCATION include/tbb/tbb.h)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( TBB
+ REQUIRED_VARS TBB_LOCATION
diff --git a/ports/openvdb/0002-add-custom-options.patch b/ports/openvdb/0002-add-custom-options.patch
new file mode 100644
index 000000000..5e8d49091
--- /dev/null
+++ b/ports/openvdb/0002-add-custom-options.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b35ec70..801e7df 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,6 +38,9 @@ if(CCACHE_FOUND)
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
+ endif(CCACHE_FOUND)
+
++OPTION ( OPENVDB_BUILD_TOOLS "Build OpenVDB utilities" OFF )
++OPTION ( OPENVDB_STATIC "Build statically linked library" OFF )
++OPTION ( OPENVDB_SHARED "Build dynamically linked library" ON )
+ OPTION ( OPENVDB_BUILD_UNITTESTS "Build the OpenVDB unit tests" ON )
+ OPTION ( OPENVDB_BUILD_DOCS "Build the OpenVDB documentation" OFF )
+ OPTION ( OPENVDB_BUILD_PYTHON_MODULE "Build the pyopenvdb Python module" ON )
diff --git a/ports/openvdb/AddLinkageAndToolsChoice.patch b/ports/openvdb/0003-build-only-necessary-targets.patch
index 57078be15..55b480ce4 100644
--- a/ports/openvdb/AddLinkageAndToolsChoice.patch
+++ b/ports/openvdb/0003-build-only-necessary-targets.patch
@@ -1,81 +1,63 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 712fb1d..440a63a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -32,6 +32,9 @@ PROJECT ( OpenVDB )
-
- ENABLE_TESTING()
-
-+OPTION ( OPENVDB_BUILD_TOOLS "Build OpenVDB utilities" ON )
-+OPTION ( OPENVDB_STATIC "Build statically linked library" ON )
-+OPTION ( OPENVDB_SHARED "Build dynamically linked library" ON )
- OPTION ( OPENVDB_BUILD_UNITTESTS "Build the OpenVDB unit tests" ON )
- OPTION ( OPENVDB_BUILD_DOCS "Build the OpenVDB documentation" OFF )
- OPTION ( OPENVDB_BUILD_PYTHON_MODULE "Build the pyopenvdb Python module" ON )
diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
-index 5703eb9..6ff3c6a 100644
+index 9404dbc..b4129e3 100644
--- a/openvdb/CMakeLists.txt
+++ b/openvdb/CMakeLists.txt
-@@ -26,6 +26,7 @@
- #
- PROJECT ( OpenVDBCore )
+@@ -29,12 +29,13 @@ PROJECT ( OpenVDBCore )
+
+ set(CMAKE_CXX_STANDARD 11)
+IF ( OPENVDB_BUILD_TOOLS )
IF ( USE_GLFW3 )
FIND_PACKAGE ( GLFW3 REQUIRED )
SET ( OPENVDB_USE_GLFW_FLAG "-DOPENVDB_USE_GLFW_3" )
-@@ -42,9 +43,12 @@ ELSE ()
+ IF ( UNIX AND NOT APPLE )
+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" )
+- ENDIF ( UNIX AND NOT APPLE )
++ ENDIF ()
+ SET ( GLFW_LINK_LIBRARY ${GLFW3_glfw_LIBRARY} )
+ SET ( GLFW_INCLUDE_DIRECTORY ${GLFW3_INCLUDE_DIR} CACHE STRING "GLFW3 include directory")
+ ELSE ()
+@@ -45,12 +46,14 @@ ELSE ()
SET ( GLFW_LINK_LIBRARY ${GLFW_glfw_LIBRARY} )
SET ( GLFW_INCLUDE_DIRECTORY ${GLFW_INCLUDE_DIR} CACHE STRING "GLFW include directory")
ENDIF ()
-+ENDIF ( OPENVDB_BUILD_TOOLS )
++ENDIF ()
- IF (WIN32)
-+ IF ( OPENVDB_BUILD_TOOLS )
- FIND_PACKAGE ( GLEW REQUIRED )
-+ ENDIF ( OPENVDB_BUILD_TOOLS )
- ELSE ()
- FIND_PACKAGE ( Threads REQUIRED )
- ENDIF()
-@@ -75,7 +79,7 @@ SET ( OPENVDB_PATCH_VERSION_NUMBER ${_openvdb_patch_version_number} CACHE STRING
- # MESSAGE ( "OPENVDB_MINOR_VERSION_NUMBER = ${OPENVDB_MINOR_VERSION_NUMBER}" )
- # MESSAGE ( "OPENVDB_PATCH_VERSION_NUMBER = ${OPENVDB_PATCH_VERSION_NUMBER}" )
-
--FIND_PACKAGE ( Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS iostreams system thread ${OPENVDB_BOOST_PYTHON_LIBRARY_COMPONENT_NAME} )
-+FIND_PACKAGE ( Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS iostreams system thread date_time ${OPENVDB_BOOST_PYTHON_LIBRARY_COMPONENT_NAME} )
- IF (WIN32 AND OPENVDB_DISABLE_BOOST_IMPLICIT_LINKING)
- ADD_DEFINITIONS ( -DBOOST_ALL_NO_LIB )
- ENDIF ()
-@@ -85,7 +89,9 @@ FIND_PACKAGE ( TBB REQUIRED )
- FIND_PACKAGE ( ZLIB REQUIRED )
- FIND_PACKAGE ( ILMBase REQUIRED )
- FIND_PACKAGE ( OpenEXR REQUIRED )
+-IF (WIN32)
+IF ( OPENVDB_BUILD_TOOLS )
- FIND_PACKAGE ( OpenGL REQUIRED )
++IF ( WIN32 )
+ FIND_PACKAGE ( GLEW REQUIRED )
+-ELSE ()
+- FIND_PACKAGE ( Threads REQUIRED )
+-ENDIF()
+ENDIF ()
- IF (OPENVDB_BUILD_DOCS)
- FIND_PACKAGE ( Doxygen REQUIRED )
- ENDIF ()
-@@ -127,7 +133,10 @@ INCLUDE_DIRECTORIES ( SYSTEM ${BLOSC_INCLUDE_DIR} )
++ENDIF ()
++FIND_PACKAGE ( Threads REQUIRED )
+
+ # Determine OpenVDB version
+ #define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER 4
+@@ -130,7 +133,12 @@ INCLUDE_DIRECTORIES ( SYSTEM ${BLOSC_INCLUDE_DIR} )
INCLUDE_DIRECTORIES ( SYSTEM ${CPPUNIT_INCLUDE_DIR} )
IF (WIN32)
- ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX -DHALF_EXPORTS -DOPENVDB_DLL )
++ ADD_DEFINITIONS ( -D__TBB_NO_IMPLICIT_LINKAGE )
++ ADD_DEFINITIONS ( -D__TBBMALLOC_NO_IMPLICIT_LINKAGE )
+ ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX )
+ IF ( OPENVDB_SHARED )
-+ ADD_DEFINITIONS ( -DOPENVDB_DLL )
++ ADD_DEFINITIONS ( -DOPENEXR_DLL -DOPENVDB_DLL )
+ ENDIF ()
ELSE ()
ADD_DEFINITIONS ( -pthread -fPIC )
ENDIF ()
-@@ -167,16 +176,20 @@ SET ( OPENVDB_LIBRARY_SOURCE_FILES
+@@ -170,16 +178,21 @@ SET ( OPENVDB_LIBRARY_SOURCE_FILES
SET_SOURCE_FILES_PROPERTIES ( ${OPENVDB_LIBRARY_SOURCE_FILES}
PROPERTIES
- COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}"
+ COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$<CXX_COMPILER_ID:MSVC>:/bigobj>"
)
--
+
+IF ( OPENVDB_STATIC )
ADD_LIBRARY ( openvdb_static STATIC
${OPENVDB_LIBRARY_SOURCE_FILES}
@@ -91,7 +73,7 @@ index 5703eb9..6ff3c6a 100644
TARGET_LINK_LIBRARIES ( openvdb_static
${Boost_IOSTREAMS_LIBRARY}
${Boost_SYSTEM_LIBRARY}
-@@ -185,6 +198,8 @@ TARGET_LINK_LIBRARIES ( openvdb_static
+@@ -188,6 +201,8 @@ TARGET_LINK_LIBRARIES ( openvdb_static
${ZLIB_LIBRARY}
${BLOSC_blosc_LIBRARY}
)
@@ -100,7 +82,7 @@ index 5703eb9..6ff3c6a 100644
TARGET_LINK_LIBRARIES ( openvdb_shared
${Boost_IOSTREAMS_LIBRARY}
${Boost_SYSTEM_LIBRARY}
-@@ -193,7 +208,9 @@ TARGET_LINK_LIBRARIES ( openvdb_shared
+@@ -196,7 +211,9 @@ TARGET_LINK_LIBRARIES ( openvdb_shared
${ZLIB_LIBRARY}
${BLOSC_blosc_LIBRARY}
)
@@ -110,17 +92,19 @@ index 5703eb9..6ff3c6a 100644
IF (WIN32)
SET_TARGET_PROPERTIES ( openvdb_static
PROPERTIES OUTPUT_NAME libopenvdb
-@@ -203,7 +220,9 @@ ELSE()
+@@ -205,8 +222,10 @@ ELSE()
+ SET_TARGET_PROPERTIES ( openvdb_static
PROPERTIES OUTPUT_NAME openvdb
)
- ENDIF()
+-ENDIF()
++ENDIF ()
+ENDIF ()
+IF ( OPENVDB_SHARED )
SET_TARGET_PROPERTIES(
openvdb_shared
PROPERTIES
-@@ -211,13 +230,15 @@ SET_TARGET_PROPERTIES(
+@@ -214,13 +233,15 @@ SET_TARGET_PROPERTIES(
SOVERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER}
VERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER}.${OPENVDB_PATCH_VERSION_NUMBER}
)
@@ -137,7 +121,7 @@ index 5703eb9..6ff3c6a 100644
ADD_EXECUTABLE ( vdb_print
${VDB_PRINT_SOURCE_FILES}
)
-@@ -231,7 +252,7 @@ TARGET_LINK_LIBRARIES ( vdb_print
+@@ -236,7 +257,7 @@ TARGET_LINK_LIBRARIES ( vdb_print
SET ( VDB_RENDER_SOURCE_FILES cmd/openvdb_render/main.cc )
SET_SOURCE_FILES_PROPERTIES ( ${VDB_RENDER_SOURCE_FILES}
PROPERTIES
@@ -146,7 +130,7 @@ index 5703eb9..6ff3c6a 100644
)
ADD_EXECUTABLE ( vdb_render
${VDB_RENDER_SOURCE_FILES}
-@@ -256,26 +277,26 @@ SET ( VDB_VIEW_SOURCE_FILES
+@@ -263,31 +284,40 @@ SET ( VDB_VIEW_SOURCE_FILES
)
SET_SOURCE_FILES_PROPERTIES ( ${VDB_VIEW_SOURCE_FILES}
PROPERTIES
@@ -154,9 +138,13 @@ index 5703eb9..6ff3c6a 100644
+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1 $<$<CXX_COMPILER_ID:MSVC>:/bigobj>"
)
-IF (NOT WIN32)
++
ADD_EXECUTABLE ( vdb_view
${VDB_VIEW_SOURCE_FILES}
)
+-
++
+ target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} )
TARGET_LINK_LIBRARIES ( vdb_view
openvdb_shared
@@ -167,41 +155,58 @@ index 5703eb9..6ff3c6a 100644
- ${COCOA_LIBRARY}
- ${IOKIT_LIBRARY}
- ${COREVIDEO_LIBRARY}
-+ #${COCOA_LIBRARY}
-+ #${IOKIT_LIBRARY}
-+ #${COREVIDEO_LIBRARY}
${GLFW_LINK_LIBRARY}
${GLFW_DEPENDENT_LIBRARIES}
${GLEW_GLEW_LIBRARY}
- )
--ENDIF ()
-+
-+ENDIF ( OPENVDB_BUILD_TOOLS )
++ )
++ IF (APPLE)
++ TARGET_LINK_LIBRARIES ( vdb_view
++ ${COCOA_LIBRARY}
++ ${IOKIT_LIBRARY}
++ ${COREVIDEO_LIBRARY}
++ )
++ ENDIF ()
++ IF (NOT WIN32)
++ TARGET_LINK_LIBRARIES ( vdb_view
+ m
+ stdc++
+- )
++ )
++ ENDIF ()
+ ENDIF ()
++
SET ( UNITTEST_SOURCE_FILES
unittest/main.cc
-@@ -405,27 +426,32 @@ IF (OPENVDB_BUILD_DOCS)
+ unittest/TestAttributeArray.cc
+@@ -398,7 +428,7 @@ IF ( OPENVDB_BUILD_UNITTESTS )
+ ADD_TEST ( vdb_unit_test vdb_test )
+
+-ENDIF (OPENVDB_BUILD_UNITTESTS)
++ENDIF ()
+
+ # Doxygen docmentation
+ IF (OPENVDB_BUILD_DOCS)
+@@ -419,26 +449,29 @@ IF (OPENVDB_BUILD_DOCS)
ENDIF ()
-+IF ( OPENVDB_BUILD_TOOLS )
# Installation
-IF ( NOT WIN32 )
-+#IF ( NOT WIN32 )
++IF ( OPENVDB_BUILD_TOOLS )
INSTALL ( TARGETS
vdb_view
DESTINATION
bin
)
-ENDIF ()
-+#ENDIF ()
INSTALL ( TARGETS
vdb_print
vdb_render
DESTINATION
bin
)
-+ENDIF ( OPENVDB_BUILD_TOOLS )
++ENDIF ()
+IF ( OPENVDB_STATIC)
INSTALL ( TARGETS
@@ -215,11 +220,11 @@ index 5703eb9..6ff3c6a 100644
IF (WIN32)
INSTALL ( TARGETS
openvdb_shared
-@@ -439,6 +465,7 @@ ELSE()
+@@ -452,6 +485,7 @@ ELSE()
lib
)
ENDIF ()
-+ENDIF ( OPENVDB_SHARED )
++ENDIF ()
INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION include
FILES_MATCHING PATTERN "*.h"
diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL
index e822bf04c..acf11cd00 100644
--- a/ports/openvdb/CONTROL
+++ b/ports/openvdb/CONTROL
@@ -1,8 +1,8 @@
Source: openvdb
-Version: 5.0.0-2
-Build-Depends: ilmbase, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess
+Version: 6.0.0
+Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess
Description: Sparse volume data structure and tools
Feature: tools
Description: OpenVDB utilities: view, print and render
-Build-Depends: glew, glfw3, boost-ptr-container
+Build-Depends: glew, glfw3
diff --git a/ports/openvdb/UseGLEWOnWindowsForViewer.patch b/ports/openvdb/UseGLEWOnWindowsForViewer.patch
deleted file mode 100644
index bfa29c46c..000000000
--- a/ports/openvdb/UseGLEWOnWindowsForViewer.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/openvdb/viewer/ClipBox.h b/openvdb/viewer/ClipBox.h
-index b792491..d2f50cc 100644
---- a/openvdb/viewer/ClipBox.h
-+++ b/openvdb/viewer/ClipBox.h
-@@ -36,6 +36,8 @@
- #if defined(__APPLE__) || defined(MACOSX)
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
-+#elif defined(WIN32)
-+#include <GL/glew.h>
- #else
- #include <GL/gl.h>
- #include <GL/glu.h>
-diff --git a/openvdb/viewer/Font.h b/openvdb/viewer/Font.h
-index 6e79704..566cfbd 100644
---- a/openvdb/viewer/Font.h
-+++ b/openvdb/viewer/Font.h
-@@ -36,6 +36,8 @@
- #if defined(__APPLE__) || defined(MACOSX)
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
-+#elif defined(WIN32)
-+#include <GL/glew.h>
- #else
- #include <GL/gl.h>
- #include <GL/glu.h>
-diff --git a/openvdb/viewer/RenderModules.h b/openvdb/viewer/RenderModules.h
-index f4745d9..339dfc3 100644
---- a/openvdb/viewer/RenderModules.h
-+++ b/openvdb/viewer/RenderModules.h
-@@ -43,6 +43,8 @@
- #if defined(__APPLE__) || defined(MACOSX)
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
-+#elif defined(WIN32)
-+#include <GL/glew.h>
- #else
- #include <GL/gl.h>
- #include <GL/glu.h>
-diff --git a/openvdb/viewer/Viewer.cc b/openvdb/viewer/Viewer.cc
-index 307aa2b..8b79358 100644
---- a/openvdb/viewer/Viewer.cc
-+++ b/openvdb/viewer/Viewer.cc
-@@ -540,7 +540,15 @@ ViewerImpl::open(int width, int height)
- std::shared_ptr<GLFWwindow> curWindow(
- glfwGetCurrentContext(), glfwMakeContextCurrent);
- glfwMakeContextCurrent(mWindow);
-- BitmapFont13::initialize();
-+ BitmapFont13::initialize();
-+#ifdef WIN32
-+ if (glewInit() == GLEW_OK) {
-+ OPENVDB_LOG_DEBUG_RUNTIME("initialized GLEW from thread "
-+ << boost::this_thread::get_id());
-+ } else {
-+ OPENVDB_LOG_ERROR("GLEW initialization failed");
-+ }
-+#endif
- }
- }
- mCamera->setWindow(mWindow);
diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake
index a21e82240..7f2fa6c29 100644
--- a/ports/openvdb/portfile.cmake
+++ b/ports/openvdb/portfile.cmake
@@ -2,17 +2,14 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
- REPO dreamworksanimation/openvdb
- REF v5.0.0
- SHA512 8916d54683d81144114e57f8332be43b7547e6da5d194f6147bcefd4ee9e8e7ec817f27b65adb129dfd149e6b308f4bab30591ee953ee2c319636491bf051a2b
+ REPO AcademySoftwareFoundation/openvdb
+ REF v6.0.0
+ SHA512 6b9e267fff46647b39e1e6faa12059442196c1858df1fda1515cfc375e25bc3033e2828c80e63a652509cfba386376e022cebf81ec85aaccece421b0c721529b
HEAD_REF master
-)
-
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/UseGLEWOnWindowsForViewer.patch
- ${CMAKE_CURRENT_LIST_DIR}/AddLinkageAndToolsChoice.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0001-fix-cmake-modules.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0002-add-custom-options.patch
+ ${CMAKE_CURRENT_LIST_DIR}/0003-build-only-necessary-targets.patch
)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
@@ -24,74 +21,24 @@ else()
endif()
if ("tools" IN_LIST FEATURES)
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(OPENVDB_BUILD_TOOLS ON)
- set(OPENVDB_SHARED ON) # tools require shared version of the library
-else()
- set(OPENVDB_BUILD_TOOLS OFF)
-endif()
-
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}" INSTALL_LOCATION)
-
-file(TO_NATIVE_PATH "${INSTALL_LOCATION}/include" INCLUDE_LOCATION)
-file(TO_NATIVE_PATH "${INSTALL_LOCATION}/lib/" LIB_LOCATION)
-file(TO_NATIVE_PATH "${INSTALL_LOCATION}/debug/lib/" LIB_LOCATION_DEBUG)
-
-file(TO_NATIVE_PATH "${LIB_LOCATION}/zlib.lib" ZLIB_LIBRARY)
-file(TO_NATIVE_PATH "${LIB_LOCATION}/tbb.lib" Tbb_TBB_LIBRARY)
-file(TO_NATIVE_PATH "${LIB_LOCATION}/tbbmalloc.lib" Tbb_TBBMALLOC_LIBRARY)
-file(TO_NATIVE_PATH "${LIB_LOCATION_DEBUG}/tbb_debug.lib" Tbb_TBB_LIBRARY_DEBUG)
-file(TO_NATIVE_PATH "${LIB_LOCATION_DEBUG}/tbbmalloc_debug.lib" Tbb_TBBMALLOC_LIBRARY_DEBUG)
-
-file(TO_NATIVE_PATH "${LIB_LOCATION}/Half.lib" Ilmbase_HALF_LIBRARY)
-file(TO_NATIVE_PATH "${LIB_LOCATION}/Iex-2_2.lib" Ilmbase_IEX_LIBRARY)
-file(TO_NATIVE_PATH "${LIB_LOCATION}/IlmThread-2_2.lib" Ilmbase_ILMTHREAD_LIBRARY)
-
-if (OPENVDB_STATIC)
- file(TO_NATIVE_PATH "${LIB_LOCATION}/glfw3.lib" GLFW3_LIBRARY)
-else()
- file(TO_NATIVE_PATH "${LIB_LOCATION}/glfw3dll.lib" GLFW3_LIBRARY)
+ else()
+ message(ERROR "Unable to build tools if static libraries are required")
+ endif()
endif()
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS -DOPENVDB_BUILD_UNITTESTS=OFF
- -DOPENVDB_BUILD_PYTHON_MODULE=OFF
- -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF
- -DUSE_GLFW3=ON
- -DGLFW3_USE_STATIC_LIBS=${OPENVDB_STATIC}
- -DBlosc_USE_STATIC_LIBS=${OPENVDB_STATIC}
- -DOpenexr_USE_STATIC_LIBS=${OPENVDB_STATIC}
- -DIlmbase_USE_STATIC_LIBS=${OPENVDB_STATIC}
- -DGLFW3_glfw_LIBRARY=${GLFW3_LIBRARY}
-
- -DIlmbase_HALF_LIBRARY=${Ilmbase_HALF_LIBRARY}
- -DIlmbase_IEX_LIBRARY=${Ilmbase_IEX_LIBRARY}
- -DIlmbase_ILMTHREAD_LIBRARY=${Ilmbase_ILMTHREAD_LIBRARY}
-
- -DOPENVDB_STATIC=${OPENVDB_STATIC}
- -DOPENVDB_SHARED=${OPENVDB_SHARED}
- -DOPENVDB_BUILD_TOOLS=${OPENVDB_BUILD_TOOLS}
-
- -DZLIB_INCLUDE_DIR=${INCLUDE_LOCATION}
- -DTBB_INCLUDE_DIR=${INCLUDE_LOCATION}
- -DZLIB_LIBRARY=${ZLIB_LIBRARY}
-
- -DGLFW3_LOCATION=${INSTALL_LOCATION}
- -DGLEW_LOCATION=${INSTALL_LOCATION}
- -DILMBASE_LOCATION=${INSTALL_LOCATION}
- -DOPENEXR_LOCATION=${INSTALL_LOCATION}
- -DTBB_LOCATION=${INSTALL_LOCATION}
- -DBLOSC_LOCATION=${INSTALL_LOCATION}
- OPTIONS_RELEASE
- -DTBB_LIBRARY_PATH=${LIB_LOCATION}
- -DTbb_TBB_LIBRARY=${Tbb_TBB_LIBRARY}
- -DTbb_TBBMALLOC_LIBRARY=${Tbb_TBBMALLOC_LIBRARY}
- OPTIONS_DEBUG
- -DTBB_LIBRARY_PATH=${LIB_LOCATION_DEBUG}
- -DTbb_TBB_LIBRARY=${Tbb_TBB_LIBRARY_DEBUG}
- -DTbb_TBBMALLOC_LIBRARY=${Tbb_TBBMALLOC_LIBRARY_DEBUG}
+ OPTIONS
+ -DOPENVDB_BUILD_UNITTESTS=OFF
+ -DOPENVDB_BUILD_PYTHON_MODULE=OFF
+ -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF
+ -DUSE_GLFW3=ON
+ -DOPENVDB_STATIC=${OPENVDB_STATIC}
+ -DOPENVDB_SHARED=${OPENVDB_SHARED}
+ -DOPENVDB_BUILD_TOOLS=${OPENVDB_BUILD_TOOLS}
)
vcpkg_install_cmake()