aboutsummaryrefslogtreecommitdiff
path: root/ports/freeimage
diff options
context:
space:
mode:
authorVictor Romero <romerosanchezv@gmail.com>2019-02-26 08:16:20 -0800
committerGitHub <noreply@github.com>2019-02-26 08:16:20 -0800
commitbd94d1e254aede85506e07a632d1a7aafd538115 (patch)
tree3b99452b7346175aca0d514dafc8324eb07364b8 /ports/freeimage
parentecff2997f686d9169e3d088541fda7aa2ea62011 (diff)
downloadvcpkg-bd94d1e254aede85506e07a632d1a7aafd538115.tar.gz
vcpkg-bd94d1e254aede85506e07a632d1a7aafd538115.zip
[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
Diffstat (limited to 'ports/freeimage')
-rw-r--r--ports/freeimage/CMakeLists.txt51
-rw-r--r--ports/freeimage/CONTROL2
-rw-r--r--ports/freeimage/cmake/FindJXR.cmake28
-rw-r--r--ports/freeimage/cmake/FindOpenEXR.cmake28
-rw-r--r--ports/freeimage/cmake/FindWEBP.cmake26
-rw-r--r--ports/freeimage/portfile.cmake13
6 files changed, 36 insertions, 112 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()