[freeimage, libwebp, OpenEXR, OpenVDB] Updates (#5417)

* [libwebp] update to v1.0.2, greatly simplify port, remove unnecessary custom find_package script in favour of original Config files for cmake

* [libwebp] enable building of all tools

* [libwebp] install cmake config file in expected path

* [libwebp] add compatibility layer inside CMake Config file

* [libwebp] fix libwebpmux library name

* [OpenEXR] Update to v2.3.0, enable tools, improve cmake module while still maintaining backwards compatibility (there's an official one distributed with the package but it is completely different, for now it is avoided)

* [OpenEXR] remove unused patches

* [OpenEXR] remove forced definition, could hide problems downstream

* [freeimage] add compatibility with latest OpenEXR

* [freeimage] bump control

* [OpenEXR] restore ilmbase as an empty package to permit clean update

* [OpenVDB] update to v6.0

* [OpenEXR] disable building on UWP platform

* [openexr] Fix tools suffixes

* [openexr] Fix Linux build paths
This commit is contained in:
Victor Romero 2019-02-26 08:16:20 -08:00 committed by GitHub
parent ecff2997f6
commit bd94d1e254
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 799 additions and 678 deletions

View File

@ -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()
endif()

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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()

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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()

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share)
# Handle copyright
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()
vcpkg_fixup_cmake_targets(CONFIG_PATH "share/WebP/cmake/" TARGET_PATH "share/WebP/")
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindWebP.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp)
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)

View File

@ -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
- )

View File

@ -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

View File

@ -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()

View File

@ -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 ();
//-----------------

View File

@ -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}
)

View File

@ -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"
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)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO openexr/openexr
REF v${OPENEXR_VERSION}
SHA512 ${OPENEXR_HASH}
HEAD_REF master
)
# Ensure helper executables can run during build
set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin")
# 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_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}")
else()
string(REPLACE "defined(OPENEXR_DLL)" "0" HEADER_FILE "${HEADER_FILE}")
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
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)
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(OPENEXR_PORT_DIR "openexr")
else()
set(OPENEXR_PORT_DIR "OpenEXR")
endif()
file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openexr)
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_PORT_DIR})

View File

@ -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

View File

@ -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 )

View File

@ -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 )
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 ( OPENVDB_BUILD_TOOLS )
FIND_PACKAGE ( OpenGL REQUIRED )
+ENDIF ()
IF (OPENVDB_BUILD_DOCS)
FIND_PACKAGE ( Doxygen REQUIRED )
ENDIF ()
@@ -127,7 +133,10 @@ INCLUDE_DIRECTORIES ( SYSTEM ${BLOSC_INCLUDE_DIR} )
-IF (WIN32)
+IF ( OPENVDB_BUILD_TOOLS )
+IF ( WIN32 )
FIND_PACKAGE ( GLEW REQUIRED )
-ELSE ()
- FIND_PACKAGE ( Threads REQUIRED )
-ENDIF()
+ENDIF ()
+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 )
SET ( UNITTEST_SOURCE_FILES
unittest/main.cc
@@ -405,27 +426,32 @@ IF (OPENVDB_BUILD_DOCS)
+ )
+ 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
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"

View File

@ -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

View File

@ -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);

View File

@ -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)
else()
message(ERROR "Unable to build tools if static libraries are required")
endif()
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)
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()