diff options
27 files changed, 791 insertions, 670 deletions
diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt index 997fba37a..60c7f9bd8 100644 --- a/ports/freeimage/CMakeLists.txt +++ b/ports/freeimage/CMakeLists.txt @@ -4,22 +4,27 @@ include(GNUInstallDirs) project(FreeImage C CXX) -find_package(zlib REQUIRED) -find_package(PNG REQUIRED) -find_package(JPEG REQUIRED) -if(NOT JPEG_LIBRARY_DEBUG) - set(JPEG_LIBRARY_DEBUG ${JPEG_LIBRARY_RELEASE}) +set(CMAKE_MODULE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/share/JXR" ${CMAKE_MODULE_PATH}) +set(CMAKE_MODULE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/share/OpenEXR" ${CMAKE_MODULE_PATH}) + +if(MSVC) + add_definitions("-D_CRT_SECURE_NO_WARNINGS") + set(CMAKE_CXX_FLAGS "/wd4828 ${CMAKE_CXX_FLAGS}") endif() -find_package(TIFF REQUIRED) -find_package(OPENJPEG REQUIRED) -# Include some custom Find***.cmake modules -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +if(BUILD_SHARED_LIBS) + add_definitions("-DOPENEXR_DLL") +endif() -find_package(WEBP REQUIRED) -find_package(JXR REQUIRED) -find_package(LibRaw REQUIRED) -find_package(OpenEXR REQUIRED) +find_package(zlib REQUIRED) +find_package(PNG REQUIRED) +find_package(JPEG REQUIRED) +find_package(TIFF REQUIRED) +find_package(OpenJPEG REQUIRED) +find_package(WebP REQUIRED) +find_package(JXR REQUIRED) +find_package(LibRaw REQUIRED) +find_package(OpenEXR REQUIRED) option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(INSTALL_HEADERS "Install the development headers" ON) @@ -33,12 +38,12 @@ set(CMAKE_DEBUG_POSTFIX "d") set(PUBLIC_HEADERS ${REAL_SOURCE_DIR}/FreeImage.h) # List the private header files -set(ROOT_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/CacheFile.h - ${REAL_SOURCE_DIR}/FreeImageIO.h +set(ROOT_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/CacheFile.h + ${REAL_SOURCE_DIR}/FreeImageIO.h ${REAL_SOURCE_DIR}/MapIntrospector.h - ${REAL_SOURCE_DIR}/Plugin.h - ${REAL_SOURCE_DIR}/Quantizers.h - ${REAL_SOURCE_DIR}/ToneMapping.h + ${REAL_SOURCE_DIR}/Plugin.h + ${REAL_SOURCE_DIR}/Quantizers.h + ${REAL_SOURCE_DIR}/ToneMapping.h ${REAL_SOURCE_DIR}/Utilities.h) file(GLOB FREEIMAGE_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/FreeImage/*.h) @@ -59,7 +64,7 @@ file(GLOB METADATA_SRCS ${REAL_SOURCE_DIR}/Metadata/*.cpp) # The G3 plugin is disabled because it require the private copy of tiff list(REMOVE_ITEM FREEIMAGE_SRCS ${REAL_SOURCE_DIR}/FreeImage/PluginG3.cpp) -# The JPEGTransform plugin is disable because it requires a private copy of jpeg +# The JPEGTransform plugin is disable because it requires a private copy of jpeg list(REMOVE_ITEM FREEIMAGE_TOOLKIT_SRCS ${REAL_SOURCE_DIR}/FreeImageToolkit/JPEGTransform.cpp) @@ -69,8 +74,8 @@ set(SRCS ${DEPRECATION_SRCS} ${METADATA_SRCS} ) -# If FreeImage is used as a static library, FREEIMAGE_LIB -# needs to be defined (at the C preprocessor level) to correctly +# If FreeImage is used as a static library, FREEIMAGE_LIB +# needs to be defined (at the C preprocessor level) to correctly # define (to nothing instead of _declspec(dllimport) ) the DLL_API macro. # For this purpouse we include (depending on the BUILD_SHARED_LIBS ) # the appropriate FreeImageConfig.h . @@ -90,7 +95,7 @@ else() endif() target_include_directories(FreeImage PRIVATE ${REAL_SOURCE_DIR} - ${ZLIB_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIRS} ${JPEG_INCLUDE_DIRS} ${TIFF_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} @@ -149,4 +154,4 @@ install(TARGETS FreeImagePlus if(INSTALL_HEADERS) install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -endif()
\ No newline at end of file +endif() diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index d8bd820e6..5497b0fa3 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,4 +1,4 @@ Source: freeimage -Version: 3.18.0-2 +Version: 3.18.0-3 Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp, libraw, jxrlib, openexr Description: Support library for graphics image formats diff --git a/ports/freeimage/cmake/FindJXR.cmake b/ports/freeimage/cmake/FindJXR.cmake deleted file mode 100644 index 7e4a5d45e..000000000 --- a/ports/freeimage/cmake/FindJXR.cmake +++ /dev/null @@ -1,28 +0,0 @@ -# - Find JXR -# Find the JXR library -# This module defines -# JXR_INCLUDE_DIRS, where to find jxrlib/JXRGlue.h -# JXR_LIBRARIES, the libraries needed to use JXR -# - -find_path(JXR_INCLUDE_DIRS - NAMES JXRGlue.h - PATH_SUFFIXES jxrlib -) -mark_as_advanced(JXR_INCLUDE_DIRS) - -include(SelectLibraryConfigurations) - -find_library(JPEGXR_LIBRARY_RELEASE NAMES jpegxr PATH_SUFFIXES lib) -find_library(JPEGXR_LIBRARY_DEBUG NAMES jpegxrd PATH_SUFFIXES lib) -select_library_configurations(JPEGXR) - -find_library(JXRGLUE_LIBRARY_RELEASE NAMES jxrglue PATH_SUFFIXES lib) -find_library(JXRGLUE_LIBRARY_DEBUG NAMES jxrglued PATH_SUFFIXES lib) -select_library_configurations(JXRGLUE) - -set(JXR_LIBRARIES ${JPEGXR_LIBRARY} ${JXRGLUE_LIBRARY}) -mark_as_advanced(JXR_LIBRARIES) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(JXR DEFAULT_MSG JXR_INCLUDE_DIRS JXR_LIBRARIES) diff --git a/ports/freeimage/cmake/FindOpenEXR.cmake b/ports/freeimage/cmake/FindOpenEXR.cmake deleted file mode 100644 index beca25145..000000000 --- a/ports/freeimage/cmake/FindOpenEXR.cmake +++ /dev/null @@ -1,28 +0,0 @@ -find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h) - -file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H) - -string(REGEX REPLACE "^.*define OPENEXR_VERSION_MAJOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MAJOR "${OPENEXR_CONFIG_H}") -string(REGEX REPLACE "^.*define OPENEXR_VERSION_MINOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MINOR "${OPENEXR_CONFIG_H}") -set(OpenEXR_LIB_SUFFIX "${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}") - -find_library(OpenEXR_LIBRARY IlmImf-${OpenEXR_LIB_SUFFIX}) -find_library(OpenEXR_UTIL_LIBRARY IlmImfUtil-${OpenEXR_LIB_SUFFIX}) - -find_library(OpenEXR_HALF_LIBRARY Half) -find_library(OpenEXR_IEX_LIBRARY Iex-${OpenEXR_LIB_SUFFIX}) -find_library(OpenEXR_THREAD_LIBRARY IlmThread-${OpenEXR_LIB_SUFFIX}) -find_library(OpenEXR_IEXMATH_LIBRARY IexMath-${OpenEXR_LIB_SUFFIX}) -find_library(OpenEXR_MATH_LIBRARY Imath-${OpenEXR_LIB_SUFFIX}) - -set(OpenEXR_LIBRARIES - ${OpenEXR_LIBRARY} - ${OpenEXR_MATH_LIBRARY} - ${OpenEXR_IEXMATH_LIBRARY} - ${OpenEXR_UTIL_LIBRARY} - ${OpenEXR_HALF_LIBRARY} - ${OpenEXR_IEX_LIBRARY} - ${OpenEXR_THREAD_LIBRARY}) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) diff --git a/ports/freeimage/cmake/FindWEBP.cmake b/ports/freeimage/cmake/FindWEBP.cmake deleted file mode 100644 index b4fefeadc..000000000 --- a/ports/freeimage/cmake/FindWEBP.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# - Find WEBP -# Find the WEBP library -# This module defines -# WEBP_INCLUDE_DIRS, where to find webp/decode.h -# WEBP_LIBRARIES, the libraries needed to use WEBP -# - -find_path(WEBP_INCLUDE_DIRS - NAMES webp/decode.h -) -mark_as_advanced(WEBP_INCLUDE_DIRS) - -find_library(WEBP_LIBRARY_RELEASE NAMES webp PATH_SUFFIXES lib) -find_library(WEBP_LIBRARY_DEBUG NAMES webpd PATH_SUFFIXES lib) - -find_library(WEBPMUX_LIBRARY_RELEASE NAMES webpmux PATH_SUFFIXES lib) -find_library(WEBPMUX_LIBRARY_DEBUG NAMES webpmuxd PATH_SUFFIXES lib) - -include(SelectLibraryConfigurations) -select_library_configurations(WEBP) -select_library_configurations(WEBPMUX) - -set(WEBP_LIBRARIES ${WEBPMUX_LIBRARY} ${WEBP_LIBRARY}) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(WEBP DEFAULT_MSG WEBP_INCLUDE_DIRS WEBP_LIBRARIES) diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake index 6f3cfaebe..3fea39a0e 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -13,11 +13,8 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/FreeImageConfig-static.h DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/FreeImageConfig-dynamic.h DESTINATION ${SOURCE_PATH}) -# Copy some useful Find***.cmake modules -file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}) - -# This is not strictly necessary, but to make sure -# that no "internal" libraries are used by removing them +# This is not strictly necessary, but to make sure +# that no "internal" libraries are used we remove them file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibJPEG) file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibPNG) file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibTIFF4) @@ -46,7 +43,11 @@ vcpkg_apply_patches( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS_DEBUG -DINSTALL_HEADERS=OFF + OPTIONS + -DVCPKG_ROOT_DIR=${VCPKG_ROOT_DIR} + -DTARGET_TRIPLET=${TARGET_TRIPLET} + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF ) vcpkg_install_cmake() diff --git a/ports/ilmbase/CONTROL b/ports/ilmbase/CONTROL index 9e405df31..51ea5dffc 100644 --- a/ports/ilmbase/CONTROL +++ b/ports/ilmbase/CONTROL @@ -1,3 +1,4 @@ -Source: ilmbase -Version: 2.2.1-1 -Description: Base libraries from ILM for OpenEXR +Source: ilmbase
+Version: 2.3.0
+Build-Depends: openexr
+Description: empty package, linking to newer one
diff --git a/ports/ilmbase/fix-parallel-build.patch b/ports/ilmbase/fix-parallel-build.patch deleted file mode 100644 index 85c773f31..000000000 --- a/ports/ilmbase/fix-parallel-build.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/Half/CMakeLists.txt b/Half/CMakeLists.txt -index 6f9714d..0c43904 100644 ---- a/Half/CMakeLists.txt -+++ b/Half/CMakeLists.txt -@@ -2,10 +2,10 @@ - - ADD_EXECUTABLE ( eLut eLut.cpp ) - --ADD_CUSTOM_COMMAND ( -- TARGET eLut POST_BUILD -+ADD_CUSTOM_TARGET ( make_eLut - COMMAND eLut > ${CMAKE_CURRENT_BINARY_DIR}/eLut.h - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -+ DEPENDS eLut - ) - SET_SOURCE_FILES_PROPERTIES( - ${CMAKE_CURRENT_BINARY_DIR}/eLut.h -@@ -13,25 +13,16 @@ SET_SOURCE_FILES_PROPERTIES( - ) - - ADD_EXECUTABLE ( toFloat toFloat.cpp ) --ADD_CUSTOM_COMMAND ( -- TARGET toFloat POST_BUILD -+ADD_CUSTOM_TARGET ( make_toFloat - COMMAND toFloat > ${CMAKE_CURRENT_BINARY_DIR}/toFloat.h - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} -+ DEPENDS toFloat - ) - SET_SOURCE_FILES_PROPERTIES( - ${CMAKE_CURRENT_BINARY_DIR}/toFloat.h - PROPERTIES HEADER_FILE_ONLY TRUE - ) - --SET_SOURCE_FILES_PROPERTIES( -- half.cpp -- PROPERTIES -- OBJECT_DEPENDS -- ${CMAKE_CURRENT_BINARY_DIR}/eLut.h -- OBJECT_DEPENDS -- ${CMAKE_CURRENT_BINARY_DIR}/toFloat.h -- ) -- - IF(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DHALF_EXPORTS) - ENDIF() -@@ -41,7 +32,7 @@ ADD_LIBRARY ( Half ${LIB_TYPE} - ) - - --ADD_DEPENDENCIES ( Half toFloat eLut ) -+ADD_DEPENDENCIES ( Half make_toFloat make_eLut ) - - INSTALL ( TARGETS - Half diff --git a/ports/ilmbase/portfile.cmake b/ports/ilmbase/portfile.cmake index 1752beb2c..9aefc8241 100644 --- a/ports/ilmbase/portfile.cmake +++ b/ports/ilmbase/portfile.cmake @@ -1,49 +1 @@ -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "UWP build not supported") -endif() - -set(ILM_VERSION 2.2.1) -set(ILM_HASH a08ddd9069b34a93612445a445a2ddf80c0e22349bcf221a3cc6e9f5575180b08a8b597009dacabf072360e7162e15964988bc79e8ec82cf3da6507148a75320) - -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ilmbase-${ILM_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "http://download.savannah.nongnu.org/releases/openexr/ilmbase-${ILM_VERSION}.tar.gz" - FILENAME "ilmbase-${ILM_VERSION}.tar.gz" - SHA512 ${ILM_HASH}) - -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-parallel-build.patch) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA) -vcpkg_install_cmake() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - foreach(SUBDIR "" "/debug") - file(GLOB DLLS ${CURRENT_PACKAGES_DIR}${SUBDIR}/lib/*.dll) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}${SUBDIR}/bin) - file(REMOVE ${DLLS}) - endforeach() -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_copy_pdbs() - -foreach(HEADER halfExport.h IexExport.h IexMathFloatExc.h IlmThreadExport.h ImathExport.h) - file(READ ${CURRENT_PACKAGES_DIR}/include/OpenEXR/${HEADER} HEADER_FILE) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "defined(OPENEXR_DLL)" "1" HEADER_FILE "${HEADER_FILE}") - else() - string(REPLACE "defined(OPENEXR_DLL)" "0" HEADER_FILE "${HEADER_FILE}") - endif() - file(WRITE ${CURRENT_PACKAGES_DIR}/include/OpenEXR/${HEADER} "${HEADER_FILE}") -endforeach() - -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ilmbase) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ilmbase/LICENSE ${CURRENT_PACKAGES_DIR}/share/ilmbase/copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
diff --git a/ports/libwebp/0001-build-fixes.patch b/ports/libwebp/0001-build-fixes.patch new file mode 100644 index 000000000..c25ecbfee --- /dev/null +++ b/ports/libwebp/0001-build-fixes.patch @@ -0,0 +1,163 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 499ddce..895fda9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -159,6 +159,10 @@ add_definitions(-DHAVE_CONFIG_H) + if(MSVC) + # avoid security warnings for e.g., fopen() used in the examples. + add_definitions(-D_CRT_SECURE_NO_WARNINGS) ++ add_definitions(-DWEBP_HAVE_JUST_SDL_H) ++ if(BUILD_SHARED_LIBS) ++ add_definitions(-DWEBP_EXTERN=__declspec\(dllexport\)) ++ endif() + else() + add_definitions(-Wall) + endif() +@@ -342,19 +346,23 @@ if(WEBP_BUILD_ANIM_UTILS + "example_util_[^ ]*") + list(APPEND EXAMPLEUTIL_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/examples/stopwatch.h) + add_library(exampleutil ${EXAMPLEUTIL_SRCS}) ++ set_target_properties(exampleutil PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + target_include_directories( + exampleutil + PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>) ++ target_link_libraries(exampleutil imageioutil) + + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEIOUTILS_SRCS" + "imageio_util_[^ ]*") + add_library(imageioutil ${IMAGEIOUTILS_SRCS}) ++ set_target_properties(imageioutil PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + target_link_libraries(imageioutil webp) + + # Image-decoding utility library. + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEDEC_SRCS" + "imagedec_[^ ]*") + add_library(imagedec ${IMAGEDEC_SRCS}) ++ set_target_properties(imagedec PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + target_link_libraries(imagedec + imageioutil + webpdemux +@@ -365,7 +373,8 @@ if(WEBP_BUILD_ANIM_UTILS + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/imageio "IMAGEENC_SRCS" + "imageenc_[^ ]*") + add_library(imageenc ${IMAGEENC_SRCS}) +- target_link_libraries(imageenc webp) ++ set_target_properties(imageenc PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) ++ target_link_libraries(imageenc imageioutil webp) + + set_property(TARGET exampleutil + imageioutil +@@ -380,7 +389,7 @@ if(WEBP_BUILD_DWEBP) + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "DWEBP_SRCS" "dwebp") + add_executable(dwebp ${DWEBP_SRCS}) + target_link_libraries(dwebp exampleutil imagedec imageenc) +- target_include_directories(dwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(dwebp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + install(TARGETS dwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +@@ -389,13 +398,14 @@ if(WEBP_BUILD_CWEBP) + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "CWEBP_SRCS" "cwebp") + add_executable(cwebp ${CWEBP_SRCS}) + target_link_libraries(cwebp exampleutil imagedec webp) +- target_include_directories(cwebp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(cwebp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + + if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP) + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "") + add_library(libwebpmux ${WEBP_MUX_SRCS}) ++ set_target_properties(libwebpmux PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + target_link_libraries(libwebpmux webp) + target_include_directories(libwebpmux + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} +@@ -411,7 +421,7 @@ if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP) + "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ + ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\ + ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;") +- set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME webpmux) ++ #set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME webpmux) + list(APPEND INSTALLED_LIBRARIES libwebpmux) + configure_pkg_config("src/mux/libwebpmux.pc") + endif() +@@ -428,7 +438,7 @@ if(WEBP_BUILD_GIF2WEBP) + webp + libwebpmux + ${WEBP_DEP_GIF_LIBRARIES}) +- target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(gif2webp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + install(TARGETS gif2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +@@ -444,7 +454,7 @@ if(WEBP_BUILD_IMG2WEBP) + imageioutil + webp + libwebpmux) +- target_include_directories(img2webp PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(img2webp PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + install(TARGETS img2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +@@ -464,6 +474,7 @@ if(WEBP_BUILD_VWEBP) + webpdemux) + target_include_directories(vwebp + PRIVATE GLUT::GLUT ++ ${CMAKE_CURRENT_SOURCE_DIR}/src + ${CMAKE_CURRENT_BINARY_DIR}/src + ${OPENGL_INCLUDE_DIR}) + install(TARGETS vwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -483,7 +494,7 @@ if(WEBP_BUILD_WEBPINFO) + "webpinfo") + add_executable(webpinfo ${WEBPINFO_SRCS}) + target_link_libraries(webpinfo exampleutil imageioutil) +- target_include_directories(webpinfo PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(webpinfo PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + install(TARGETS webpinfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +@@ -493,7 +504,7 @@ if(WEBP_BUILD_WEBPMUX) + "webpmux") + add_executable(webpmux ${WEBPMUX_SRCS}) + target_link_libraries(webpmux exampleutil imageioutil libwebpmux webp) +- target_include_directories(webpmux PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(webpmux PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + install(TARGETS webpmux RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +@@ -540,7 +551,7 @@ if(WEBP_BUILD_WEBP_JS) + # JavaScript version + add_executable(webp_js ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) + target_link_libraries(webp_js webpdecoder SDL) +- target_include_directories(webp_js PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) ++ target_include_directories(webp_js PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + set(WEBP_HAVE_SDL 1) + set_target_properties( + webp_js +@@ -553,7 +564,7 @@ if(WEBP_BUILD_WEBP_JS) + # WASM version + add_executable(webp_wasm ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) + target_link_libraries(webp_wasm webpdecoder SDL) +- target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) ++ target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + set_target_properties( + webp_wasm + PROPERTIES LINK_FLAGS "-s WASM=1 -s 'BINARYEN_METHOD=\"native-wasm\"' \ +@@ -579,7 +590,7 @@ if(WEBP_BUILD_ANIM_UTILS) + libwebpmux + webpdemux + ${WEBP_DEP_GIF_LIBRARIES}) +- target_include_directories(anim_diff PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(anim_diff PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + + # anim_dump + include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS} ${WEBP_DEP_GIF_INCLUDE_DIRS}) +@@ -595,7 +606,7 @@ if(WEBP_BUILD_ANIM_UTILS) + libwebpmux + webpdemux + ${WEBP_DEP_GIF_LIBRARIES}) +- target_include_directories(anim_dump PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src) ++ target_include_directories(anim_dump PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src) + endif() + + # Install the different headers and libraries. diff --git a/ports/libwebp/0002-cmake-config-add-backwards-compatibility.patch b/ports/libwebp/0002-cmake-config-add-backwards-compatibility.patch new file mode 100644 index 000000000..2ed199ec8 --- /dev/null +++ b/ports/libwebp/0002-cmake-config-add-backwards-compatibility.patch @@ -0,0 +1,69 @@ +diff --git a/cmake/WebPConfig.cmake.in b/cmake/WebPConfig.cmake.in +index bb22164..3ad256f 100644 +--- a/cmake/WebPConfig.cmake.in ++++ b/cmake/WebPConfig.cmake.in +@@ -4,8 +4,60 @@ set(WEBP_VERSION ${WebP_VERSION}) + @PACKAGE_INIT@ + + include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") ++include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + +-set(WebP_INCLUDE_DIRS "webp") +-set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIRS}) +-set(WebP_LIBRARIES "@INSTALLED_LIBRARIES@") +-set(WEBP_LIBRARIES "${WebP_LIBRARIES}") ++find_path(WEBP_INCLUDE_DIR NAMES webp/types.h) ++set(WebP_INCLUDE_DIR ${WEBP_INCLUDE_DIR}) ++set(WebP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) ++set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) ++ ++if(NOT WEBP_BASE_LIBRARY AND NOT WebP_BASE_LIBRARY) ++ find_library(WEBP_BASE_LIBRARY_RELEASE NAMES webp) ++ find_library(WEBP_BASE_LIBRARY_DEBUG NAMES webpd) ++ select_library_configurations(WEBP_BASE) ++ set(WebP_BASE_LIBRARY ${WEBP_BASE_LIBRARY}) ++ if(WEBP_BASE_LIBRARY) ++ list(APPEND WEBP_LIBRARIES "${WEBP_BASE_LIBRARY}") ++ list(APPEND WebP_LIBRARIES "${WebP_BASE_LIBRARY}") ++ endif() ++endif() ++ ++if(NOT WEBP_DECODER_LIBRARY AND NOT WebP_DECODER_LIBRARY) ++ find_library(WEBP_DECODER_LIBRARY_RELEASE NAMES webpdecoder) ++ find_library(WEBP_DECODER_LIBRARY_DEBUG NAMES webpdecoderd) ++ select_library_configurations(WEBP_DECODER) ++ set(WebP_DECODER_LIBRARY ${WEBP_DECODER_LIBRARY}) ++ if(WEBP_DECODER_LIBRARY) ++ list(APPEND WEBP_LIBRARIES "${WEBP_DECODER_LIBRARY}") ++ list(APPEND WebP_LIBRARIES "${WebP_DECODER_LIBRARY}") ++ endif() ++endif() ++ ++if(NOT WEBP_DEMUX_LIBRARY AND NOT WebP_DEMUX_LIBRARY) ++ find_library(WEBP_DEMUX_LIBRARY_RELEASE NAMES webpdemux) ++ find_library(WEBP_DEMUX_LIBRARY_DEBUG NAMES webpdemuxd) ++ select_library_configurations(WEBP_DEMUX) ++ set(WebP_DEMUX_LIBRARY ${WEBP_DEMUX_LIBRARY}) ++ if(WEBP_DEMUX_LIBRARY) ++ list(APPEND WEBP_LIBRARIES "${WEBP_DEMUX_LIBRARY}") ++ list(APPEND WebP_LIBRARIES "${WebP_DEMUX_LIBRARY}") ++ endif() ++endif() ++ ++if(NOT WEBP_MUX_LIBRARY AND NOT WebP_MUX_LIBRARY) ++ find_library(WEBP_MUX_LIBRARY_RELEASE NAMES libwebpmux) ++ find_library(WEBP_MUX_LIBRARY_DEBUG NAMES libwebpmuxd) ++ select_library_configurations(WEBP_MUX) ++ set(WebP_MUX_LIBRARY ${WEBP_MUX_LIBRARY}) ++ if(WEBP_MUX_LIBRARY) ++ list(APPEND WEBP_LIBRARIES "${WEBP_MUX_LIBRARY}") ++ list(APPEND WebP_LIBRARIES "${WebP_MUX_LIBRARY}") ++ endif() ++endif() ++ ++set(WEBP_LIBRARY ${WEBP_BASE_LIBRARY}) ++set(WebP_LIBRARY ${WebP_BASE_LIBRARY}) ++if(WEBP_BASE_LIBRARY AND WEBP_INCLUDE_DIR) ++ set(WEBP_FOUND 1) ++ set(WebP_FOUND 1) ++endif() diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index 3e3ae16d8..9ffa6426d 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,3 +1,9 @@ Source: libwebp -Version: 0.6.1-2 +Version: 1.0.2-1 Description: Lossy compression of digital photographic images. +Build-Depends: opengl +Default-Features: all + +Feature: all +Description: enable all webp features +Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut, sdl1 diff --git a/ports/libwebp/FindWebP.cmake b/ports/libwebp/FindWebP.cmake deleted file mode 100644 index c39a0eb05..000000000 --- a/ports/libwebp/FindWebP.cmake +++ /dev/null @@ -1,27 +0,0 @@ -include(SelectLibraryConfigurations) -include(FindPackageHandleStandardArgs) - -# If the user has provided ``WEBP_ROOT``, use it! Choose items found -# at this location over system locations. -if( EXISTS "$ENV{WEBP_ROOT}" ) - file( TO_CMAKE_PATH "$ENV{WEBP_ROOT}" WEBP_ROOT ) - set( WEBP_ROOT "${WEBP_ROOT}" CACHE PATH "Prefix for WebP installation." ) -elseif(EXISTS "$ENV{WEBP_DIR}" ) - file( TO_CMAKE_PATH "$ENV{WEBP_DIR}" WEBP_ROOT ) - set( WEBP_ROOT "${WEBP_ROOT}" CACHE PATH "Prefix for WebP installation." ) -endif() - -if(NOT WEBP_INCLUDE_DIR) - FIND_PATH(WEBP_INCLUDE_DIR NAMES webp/decode.h) -endif() - -if(NOT WEBP_LIBRARY) - find_library(WEBP_LIBRARY_RELEASE NAMES webp PATHS ${WEBP_ROOT} PATH_SUFFIXES webp ) - find_library(WEBP_LIBRARY_DEBUG NAMES webpd PATHS ${WEBP_ROOT} PATH_SUFFIXES debug webp webp/debug debug/webp) - select_library_configurations(WEBP) -endif() - -SET(WEBP_LIBRARIES ${WEBP_LIBRARY}) -SET(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) - -find_package_handle_standard_args(WEBP REQUIRED_VARS WEBP_LIBRARY WEBP_INCLUDE_DIR) diff --git a/ports/libwebp/build_fixes.patch b/ports/libwebp/build_fixes.patch deleted file mode 100644 index 72cb304a9..000000000 --- a/ports/libwebp/build_fixes.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3b105e37..f9b806c4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -106,6 +106,9 @@ endforeach() - if(MSVC) - # avoid security warnings for e.g., fopen() used in the examples. - add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ if(BUILD_SHARED_LIBS) -+ add_definitions(-DWEBP_EXTERN=__declspec\(dllexport\)) -+ endif() - else() - add_definitions(-Wall) - endif() -@@ -235,6 +238,10 @@ if(WEBP_BUILD_GIF2WEBP AND NOT GIF_FOUND) - endif() - - if(WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP) -+ set(WEBP_BUILD_MUX ON) -+endif() -+ -+if(WEBP_BUILD_MUX) - parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" - "") - add_library(webpmux ${WEBP_MUX_SRCS}) -@@ -322,6 +329,7 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/decode.h - ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h - DESTINATION include/webp) - install(TARGETS ${INSTALLED_LIBRARIES} -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index e4f5dbbc8..bae24ddff 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -1,37 +1,84 @@ include(vcpkg_common_functions) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO webmproject/libwebp - REF v0.6.1 - SHA512 313b345a01c91eb07c2e4d46b93fcda9c50dca9e05e39f757238a679355514a2e9bc9bc220f3d3eb6d6a55148957cb2be14dac330203953337759841af1a32bf - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO webmproject/libwebp + REF v1.0.2 + SHA512 27ca4e7c87d3114a5d3dba6801b5608207a9adc44d0fa62f7523d39be789d389d342d9db5e28c9301eff8fcb1471809c76680a68abd4ff97217b17dd13c4e22b + HEAD_REF master + PATCHES + 0001-build-fixes.patch + 0002-cmake-config-add-backwards-compatibility.patch ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/build_fixes.patch -) +set(WEBP_BUILD_ANIM_UTILS OFF) +set(WEBP_BUILD_GIF2WEBP OFF) +set(WEBP_BUILD_IMG2WEBP OFF) +set(WEBP_BUILD_VWEBP OFF) +set(WEBP_BUILD_WEBPINFO OFF) +set(WEBP_BUILD_WEBPMUX OFF) +set(WEBP_BUILD_EXTRAS OFF) +set(WEBP_NEAR_LOSSLESS OFF) +if("all" IN_LIST FEATURES) + set(WEBP_BUILD_ANIM_UTILS ON) + set(WEBP_NEAR_LOSSLESS ON) + set(WEBP_BUILD_GIF2WEBP ON) + set(WEBP_BUILD_IMG2WEBP ON) + set(WEBP_BUILD_VWEBP ON) + set(WEBP_BUILD_WEBPINFO ON) + set(WEBP_BUILD_WEBPMUX ON) + set(WEBP_BUILD_EXTRAS ON) +endif() vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_DEBUG_POSTFIX=d - -DWEBP_BUILD_MUX=ON + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DWEBP_ENABLE_SIMD:BOOL=ON + -DWEBP_BUILD_ANIM_UTILS:BOOL=${WEBP_BUILD_ANIM_UTILS} + -DWEBP_BUILD_CWEBP:BOOL=OFF + -DWEBP_BUILD_DWEBP:BOOL=OFF + -DWEBP_BUILD_GIF2WEBP:BOOL=${WEBP_BUILD_GIF2WEBP} + -DWEBP_BUILD_IMG2WEBP:BOOL=${WEBP_BUILD_IMG2WEBP} + -DWEBP_BUILD_VWEBP:BOOL=${WEBP_BUILD_VWEBP} + -DWEBP_BUILD_WEBPINFO:BOOL=${WEBP_BUILD_WEBPINFO} + -DWEBP_BUILD_WEBPMUX:BOOL=${WEBP_BUILD_WEBPMUX} + -DWEBP_BUILD_EXTRAS:BOOL=${WEBP_BUILD_EXTRAS} + -DWEBP_BUILD_WEBP_JS:BOOL=OFF + -DWEBP_NEAR_LOSSLESS:BOOL=${WEBP_NEAR_LOSSLESS} + -DWEBP_ENABLE_SWAP_16BIT_CSP:BOOL=OFF + OPTIONS_DEBUG + -DCMAKE_DEBUG_POSTFIX=d ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/WebP/cmake/" TARGET_PATH "share/WebP/") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) -# Handle copyright +if("all" IN_LIST FEATURES) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/get_disto.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/gif2webp.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/img2webp.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp_sdl.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpinfo.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpmux.exe) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webp_quality.exe) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/libwebp/) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/get_disto.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/get_disto.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/gif2webp.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/gif2webp.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/img2webp.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/img2webp.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp_sdl.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp_sdl.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpinfo.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpinfo.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpmux.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpmux.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webp_quality.exe ${CURRENT_PACKAGES_DIR}/tools/libwebp/webp_quality.exe) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/libwebp) +endif() + file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebp/COPYING ${CURRENT_PACKAGES_DIR}/share/libwebp/copyright) - -vcpkg_copy_pdbs() - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindWebP.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp) diff --git a/ports/openexr/CMakeLists.txt.patch b/ports/openexr/CMakeLists.txt.patch deleted file mode 100644 index 0ee0110d5..000000000 --- a/ports/openexr/CMakeLists.txt.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8c0a385..887ddf5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -157,8 +157,8 @@ IF (HAVE_SYSCONF_NPROCESSORS_ONLN) - FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/config/OpenEXRConfig.h "#define OPENEXR_IMF_HAVE_SYSCONF_NPROCESSORS_ONLN 1\n" ) - ENDIF() - --SET (OPENEXR_LIBSUFFIX "") --SET (ILMBASE_LIBSUFFIX "") -+SET (OPENEXR_LIBSUFFIX "" CACHE STRING "Default suffix for OpenEXR") -+SET (ILMBASE_LIBSUFFIX "" CACHE STRING "Default suffix for ILMBase") - IF (NAMESPACE_VERSIONING) - SET ( OPENEXR_LIBSUFFIX "-${OPENEXR_VERSION_API}" ) - # assume same NAMESPACE_VERSION setting for IlmBase for now -@@ -188,32 +188,6 @@ SET_TARGET_PROPERTIES ( IlmImfUtil - SOVERSION 23 - OUTPUT_NAME "IlmImfUtil${OPENEXR_LIBSUFFIX}" - ) -- --########################## --# Example Code --########################## --ADD_SUBDIRECTORY ( IlmImfExamples ) -- -- --########################## --# Tests --########################## --ADD_SUBDIRECTORY ( IlmImfTest ) --ADD_SUBDIRECTORY ( IlmImfUtilTest ) --ADD_SUBDIRECTORY ( IlmImfFuzzTest ) -- -- --########################## --# Binaries / Utilities --########################## --ADD_SUBDIRECTORY ( exrheader ) --ADD_SUBDIRECTORY ( exrmaketiled ) --ADD_SUBDIRECTORY ( exrstdattr ) --ADD_SUBDIRECTORY ( exrmakepreview ) --ADD_SUBDIRECTORY ( exrenvmap ) --ADD_SUBDIRECTORY ( exrmultiview ) --ADD_SUBDIRECTORY ( exrmultipart ) -- - - ########################## - # Installation -@@ -224,37 +198,3 @@ INSTALL ( FILES - DESTINATION - ${CMAKE_INSTALL_PREFIX}/include/OpenEXR - ) -- --# Documentation --INSTALL ( FILES -- doc/TechnicalIntroduction.pdf -- doc/ReadingAndWritingImageFiles.pdf -- doc/OpenEXRFileLayout.pdf -- doc/MultiViewOpenEXR.pdf -- doc/InterpretingDeepPixels.pdf -- doc/TheoryDeepPixels.pdf -- DESTINATION -- ${CMAKE_INSTALL_PREFIX}/share/doc/OpenEXR-${OPENEXR_VERSION} -- ) -- --# Examples --INSTALL ( FILES -- IlmImfExamples/main.cpp -- IlmImfExamples/drawImage.cpp -- IlmImfExamples/rgbaInterfaceExamples.cpp -- IlmImfExamples/rgbaInterfaceTiledExamples.cpp -- IlmImfExamples/generalInterfaceExamples.cpp -- IlmImfExamples/lowLevelIoExamples.cpp -- IlmImfExamples/previewImageExamples.cpp -- IlmImfExamples/generalInterfaceTiledExamples.cpp -- IlmImfExamples/generalInterfaceTiledExamples.h -- IlmImfExamples/drawImage.h -- IlmImfExamples/rgbaInterfaceExamples.h -- IlmImfExamples/generalInterfaceExamples.h -- IlmImfExamples/rgbaInterfaceTiledExamples.h -- IlmImfExamples/lowLevelIoExamples.h -- IlmImfExamples/previewImageExamples.h -- IlmImfExamples/namespaceAlias.h -- DESTINATION -- ${CMAKE_INSTALL_PREFIX}/share/doc/OpenEXR-${OPENEXR_VERSION}/examples -- ) diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 752dafc6d..ea85a082f 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,4 +1,4 @@ Source: openexr -Version: 2.2.1-1 +Version: 2.3.0-2 Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications -Build-Depends: zlib, ilmbase +Build-Depends: zlib diff --git a/ports/openexr/FindOpenEXR.cmake b/ports/openexr/FindOpenEXR.cmake index cfff7824c..a381c6db9 100644 --- a/ports/openexr/FindOpenEXR.cmake +++ b/ports/openexr/FindOpenEXR.cmake @@ -1,13 +1,87 @@ include(FindPackageHandleStandardArgs) +find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h) find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR) -find_library(OPENEXR_HALF_LIBRARY NAMES Half) -find_library(OPENEXR_IEX_LIBRARY NAMES Iex-2_2) -find_library(OPENEXR_IMATH_LIBRARY NAMES Imath-2_2) -find_library(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf-2_2) -find_library(OPENEXR_ILMTHREAD_LIBRARY NAMES IlmThread-2_2) +file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H) -set(OPENEXR_LIBRARIES ${OPENEXR_HALF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY}) +string(REGEX REPLACE "^.*define OPENEXR_VERSION_MAJOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MAJOR "${OPENEXR_CONFIG_H}") +string(REGEX REPLACE "^.*define OPENEXR_VERSION_MINOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MINOR "${OPENEXR_CONFIG_H}") +set(OpenEXR_LIB_SUFFIX "${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}") -find_package_handle_standard_args(OPENEXR REQUIRED_VARS OPENEXR_LIBRARIES OPENEXR_INCLUDE_PATHS) +include(SelectLibraryConfigurations) + +if(NOT OpenEXR_BASE_LIBRARY) + find_library(OpenEXR_BASE_LIBRARY_RELEASE NAMES IlmImf-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_BASE_LIBRARY_DEBUG NAMES IlmImf-${OpenEXR_LIB_SUFFIX}_d) + select_library_configurations(OpenEXR_BASE) +endif() + +if(NOT OpenEXR_UTIL_LIBRARY) + find_library(OpenEXR_UTIL_LIBRARY_RELEASE NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_UTIL_LIBRARY_DEBUG NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}_d) + select_library_configurations(OpenEXR_UTIL) +endif() + +if(NOT OpenEXR_HALF_LIBRARY) + find_library(OpenEXR_HALF_LIBRARY_RELEASE NAMES Half-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_HALF_LIBRARY_DEBUG NAMES Half-${OpenEXR_LIB_SUFFIX}_d) + select_library_configurations(OpenEXR_HALF) +endif() + +if(NOT OpenEXR_IEX_LIBRARY) + find_library(OpenEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OpenEXR_LIB_SUFFIX}_d) + select_library_configurations(OpenEXR_IEX) +endif() + +if(NOT OpenEXR_MATH_LIBRARY) + find_library(OpenEXR_MATH_LIBRARY_RELEASE NAMES Imath-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_MATH_LIBRARY_DEBUG NAMES Imath-${OpenEXR_LIB_SUFFIX}_d) + select_library_configurations(OpenEXR_MATH) +endif() + +if(NOT OpenEXR_THREAD_LIBRARY) + find_library(OpenEXR_THREAD_LIBRARY_RELEASE NAMES IlmThread-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_THREAD_LIBRARY_DEBUG NAMES IlmThread-${OpenEXR_LIB_SUFFIX}_d) + select_library_configurations(OpenEXR_THREAD) +endif() + +if(NOT OpenEXR_IEXMATH_LIBRARY) + find_library(OpenEXR_IEXMATH_LIBRARY_RELEASE NAMES IexMath-${OpenEXR_LIB_SUFFIX}) + find_library(OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES IexMath-${OpenEXR_LIB_SUFFIX}d) + select_library_configurations(OpenEXR_IEXMATH) +endif() + +set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}") +set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}") +set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}") +set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}") +set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}") +set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}") + +set(OpenEXR_LIBRARY "${OpenEXR_BASE_LIBRARY}") + +set(OpenEXR_LIBRARIES + ${OpenEXR_LIBRARY} + ${OpenEXR_MATH_LIBRARY} + ${OpenEXR_IEXMATH_LIBRARY} + ${OpenEXR_UTIL_LIBRARY} + ${OpenEXR_HALF_LIBRARY} + ${OpenEXR_IEX_LIBRARY} + ${OpenEXR_THREAD_LIBRARY} +) + +set(OPENEXR_LIBRARIES + ${OPENEXR_HALF_LIBRARY} + ${OPENEXR_IEX_LIBRARY} + ${OPENEXR_IMATH_LIBRARY} + ${OPENEXR_ILMIMF_LIBRARY} + ${OPENEXR_ILMTHREAD_LIBRARY} +) + +FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) + +if(OpenEXR_FOUND) + set(OPENEXR_FOUND 1) +endif() diff --git a/ports/openexr/add-missing-export.patch b/ports/openexr/add-missing-export.patch deleted file mode 100644 index c78842d18..000000000 --- a/ports/openexr/add-missing-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/IlmImf/ImfHeader.h b/IlmImf/ImfHeader.h -index 756a62e..dd71e0e 100644 ---- a/IlmImf/ImfHeader.h -+++ b/IlmImf/ImfHeader.h -@@ -493,7 +493,7 @@ class Header::ConstIterator - // - //------------------------------------------------------------------------ - --void staticInitialize (); -+IMF_EXPORT void staticInitialize (); - - - //----------------- diff --git a/ports/openexr/fix-static-linking.patch b/ports/openexr/fix-static-linking.patch deleted file mode 100644 index af2f067f1..000000000 --- a/ports/openexr/fix-static-linking.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/IlmImf/CMakeLists.txt b/IlmImf/CMakeLists.txt -index 18d90edc..21bbaa27 100644 ---- a/IlmImf/CMakeLists.txt -+++ b/IlmImf/CMakeLists.txt -@@ -25,8 +25,8 @@ ADD_EXECUTABLE ( dwaLookups - - TARGET_LINK_LIBRARIES ( dwaLookups - Half -- Iex${ILMBASE_LIBSUFFIX} - IlmThread${ILMBASE_LIBSUFFIX} -+ Iex${ILMBASE_LIBSUFFIX} - ${PTHREAD_LIB} - ) - diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index b02a487a9..c32d07123 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -1,63 +1,71 @@ -set(OPENEXR_VERSION 2.2.1) -set(OPENEXR_HASH 192100c6ac47534f3a93c55327d2ab90b07a8265156855086b326184328c257dcde12991b3f3f1831e2df4226fe884adcfe481c2f02a157c715aee665e89a480) - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openexr-${OPENEXR_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "http://download.savannah.nongnu.org/releases/openexr/openexr-${OPENEXR_VERSION}.tar.gz" - FILENAME "openexr-${OPENEXR_VERSION}.tar.gz" - SHA512 ${OPENEXR_HASH}) - -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/add-missing-export.patch" - "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-static-linking.patch" -) -# Ensure helper executables can run during build -set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin") +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "UWP build not supported") +endif() + +set(OPENEXR_VERSION 2.3.0) +set(OPENEXR_HASH 268ae64b40d21d662f405fba97c307dad1456b7d996a447aadafd41b640ca736d4851d9544b4741a94e7b7c335fe6e9d3b16180e710671abfc0c8b2740b147b2) -# In debug build buildsystem cannot locate IlmBase headers -set(VCPKG_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}") -set(VCPKG_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG} -I\"${CURRENT_INSTALLED_DIR}/include/OpenEXR\"") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openexr/openexr + REF v${OPENEXR_VERSION} + SHA512 ${OPENEXR_HASH} + HEAD_REF master +) vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG - -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}/debug - OPTIONS_RELEASE - -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}) + PREFER_NINJA + OPTIONS + -DOPENEXR_BUILD_PYTHON_LIBS:BOOL=FALSE + OPTIONS_DEBUG + -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}/debug + OPTIONS_RELEASE + -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}) vcpkg_install_cmake() -# if you need to have OpenEXR tools, edit CMakeLists.txt.patch and remove the part that disables building executables, -# then remove the following line which deletes them and finally use vcpkg_copy_tool_dependencies() to save them -# (may require additional patching to the OpenEXR toolchain which is really broken) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - foreach(SUBDIR "" "/debug") - file(GLOB DLLS ${CURRENT_PACKAGES_DIR}${SUBDIR}/lib/*.dll) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}${SUBDIR}/bin) - file(REMOVE ${DLLS}) - endforeach() +# NOTE: Only use ".exe" extension on Windows executables. +# Is there a cleaner way to do this? +if(WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") endif() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrenvmap${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrheader${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmakepreview${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmaketiled${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmultipart${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmultiview${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrstdattr${EXECUTABLE_SUFFIX}) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openexr/) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrenvmap${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrenvmap${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrheader${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrheader${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmakepreview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmakepreview${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmaketiled${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmaketiled${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmultipart${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmultipart${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmultiview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmultiview${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrstdattr${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrstdattr${EXECUTABLE_SUFFIX}) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openexr) vcpkg_copy_pdbs() -file(READ ${CURRENT_PACKAGES_DIR}/include/OpenEXR/ImfExport.h HEADER_FILE) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "defined(OPENEXR_DLL)" "1" HEADER_FILE "${HEADER_FILE}") +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(OPENEXR_PORT_DIR "openexr") else() - string(REPLACE "defined(OPENEXR_DLL)" "0" HEADER_FILE "${HEADER_FILE}") + set(OPENEXR_PORT_DIR "OpenEXR") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/OpenEXR/ImfExport.h "${HEADER_FILE}") -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openexr) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openexr/LICENSE ${CURRENT_PACKAGES_DIR}/share/openexr/copyright) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/copyright) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openexr) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) 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() |
