aboutsummaryrefslogtreecommitdiff
path: root/ports/graphicsmagick
diff options
context:
space:
mode:
Diffstat (limited to 'ports/graphicsmagick')
-rw-r--r--ports/graphicsmagick/CMakeLists.txt52
-rw-r--r--ports/graphicsmagick/CONTROL3
-rw-r--r--ports/graphicsmagick/disable_graphicsmagick_modules.patch11
-rw-r--r--ports/graphicsmagick/portfile.cmake36
4 files changed, 75 insertions, 27 deletions
diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt
index 27f9fb109..c156b69c7 100644
--- a/ports/graphicsmagick/CMakeLists.txt
+++ b/ports/graphicsmagick/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 3.6)
project (graphicsmagick)
-find_package(Zlib REQUIRED)
+find_package(ZLIB REQUIRED)
find_package(Bzip2 REQUIRED)
find_package(JPEG REQUIRED)
find_package(PNG REQUIRED)
@@ -29,13 +29,6 @@ include_directories("Magick++")
include_directories("Magick++/lib")
include_directories("wand")
-include_directories(${ZLIB_INCLUDE_DIRS})
-include_directories(${BZIP2_INCLUDE_DIR})
-include_directories(${NATIVE_JPEG_INCLUDE_PATH})
-include_directories(${PNG_INCLUDE_DIRS})
-include_directories(${TIFF_INCLUDE_DIRS})
-include_directories(${FREETYPE_INCLUDE_DIRS})
-
file(READ "magick/magick_config.h.in" CONFIG_H)
string(REPLACE "#undef HasBZLIB" "#define HasBZLIB" CONFIG_H "${CONFIG_H}")
string(REPLACE "#undef HasJPEG" "#define HasJPEG" CONFIG_H "${CONFIG_H}")
@@ -108,18 +101,49 @@ add_library(graphicsmagick coders/art.c coders/avs.c
Magick++/lib/TypeMetric.cpp
wand/drawing_wand.c wand/magick_compat.c wand/magick_wand.c wand/pixel_wand.c)
-TARGET_LINK_LIBRARIES(graphicsmagick ${ZLIB_LIBRARIES})
-TARGET_LINK_LIBRARIES(graphicsmagick ${BZIP2_LIBRARIES})
-TARGET_LINK_LIBRARIES(graphicsmagick ${JPEG_LIBRARIES})
-TARGET_LINK_LIBRARIES(graphicsmagick ${PNG_LIBRARIES})
-TARGET_LINK_LIBRARIES(graphicsmagick ${TIFF_LIBRARIES})
-TARGET_LINK_LIBRARIES(graphicsmagick ${FREETYPE_LIBRARIES})
+TARGET_LINK_LIBRARIES(graphicsmagick PRIVATE
+ ZLIB::ZLIB
+ BZip2::BZip2
+ #${JPEG_LIBRARIES}
+ JPEG::JPEG
+ PNG::PNG
+ TIFF::TIFF
+ Freetype::Freetype
+)
+target_include_directories(graphicsmagick INTERFACE $<INSTALL_INTERFACE:include>)
install(TARGETS graphicsmagick
+ EXPORT graphicsmagick-targets
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
+install(
+ EXPORT graphicsmagick-targets
+ FILE unofficial-graphicsmagick-targets.cmake
+ NAMESPACE unofficial::graphicsmagick::
+ DESTINATION share/unofficial-graphicsmagick
+)
+find_package(ZLIB REQUIRED)
+find_package(BZip2 REQUIRED)
+find_package(JPEG REQUIRED)
+find_package(PNG REQUIRED)
+find_package(TIFF REQUIRED)
+find_package(Freetype REQUIRED)
+
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-graphicsmagick-config.cmake "
+include(CMakeFindDependencyMacro)
+find_dependency(ZLIB)
+find_dependency(BZip2)
+find_dependency(JPEG)
+find_dependency(PNG)
+find_dependency(TIFF)
+find_dependency(Freetype)
+
+include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-graphicsmagick-targets.cmake)
+")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-graphicsmagick-config.cmake DESTINATION share/unofficial-graphicsmagick)
+
option(INSTALL_HEADERS "Install development header files" ON)
if (INSTALL_HEADERS)
diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL
index 275bae92f..7b89a8fd9 100644
--- a/ports/graphicsmagick/CONTROL
+++ b/ports/graphicsmagick/CONTROL
@@ -1,4 +1,5 @@
Source: graphicsmagick
-Version: 1.3.28
+Maintainer: josuegomes@gmail.com
+Version: 1.3.31
Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff
Description: Image processing library
diff --git a/ports/graphicsmagick/disable_graphicsmagick_modules.patch b/ports/graphicsmagick/disable_graphicsmagick_modules.patch
new file mode 100644
index 000000000..bfb91d0fd
--- /dev/null
+++ b/ports/graphicsmagick/disable_graphicsmagick_modules.patch
@@ -0,0 +1,11 @@
+--- a/magick/studio.h 2018-06-23 14:13:49.191541000 -0400
++++ b/magick/studio.h 2018-09-02 11:50:41.856753700 -0400
+@@ -414,7 +414,7 @@
+ #endif
+
+ #if defined(HasLTDL) || ( defined(MSWINDOWS) && defined(_DLL) )
+-# define SupportMagickModules
++//# define SupportMagickModules
+ #endif
+
+ #if defined(_MAGICKMOD_)
diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake
index 12630d346..87d03bd1f 100644
--- a/ports/graphicsmagick/portfile.cmake
+++ b/ports/graphicsmagick/portfile.cmake
@@ -1,31 +1,41 @@
include(vcpkg_common_functions)
-set(GM_VERSION 1.3.28)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/graphicsmagick-${GM_VERSION}-windows-source)
+set(GM_VERSION 1.3.31)
vcpkg_download_distfile(ARCHIVE
URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z"
FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z"
- SHA512 0271c187634580204dcc3173553bae9e3cd799203d621ad9e2ba64be778760ac307f25af54859b10e60f8e2589287ad98062548f1c3c94f229e68e7c83878419
- )
-vcpkg_extract_source_archive(${ARCHIVE})
+ SHA512 ff67f5e6adf352527264e7a6a76d45ce34470263dc764760d876b9ab5d5078e3a46b9d9cb2e7ab52d53106ffe584d44c66b42f3d4d62c972662d488c86510881
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ REF "${GM_VERSION}"
+ PATCHES
+ # GM always requires a dynamic BZIP2. This patch makes this dependent if _DLL is defined
+ dynamic_bzip2.patch
+
+ # Bake GM's own modules into the .dll itself. This fixes a bug whereby
+ # 'vcpkg install graphicsmagick' did not lead to a copy of GM that could
+ # load either PNG or JPEG files (due to missing GM Modules, with names
+ # matching "IM_*.DLL").
+ disable_graphicsmagick_modules.patch
+)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/magick_types.h DESTINATION ${SOURCE_PATH}/magick)
-# GM always requires a dynamic BZIP2. This patch makes this dependent if _DLL is defined
-vcpkg_apply_patches(
- SOURCE_PATH ${SOURCE_PATH}
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/dynamic_bzip2.patch)
-
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS_DEBUG -DINSTALL_HEADERS=OFF
+ OPTIONS_DEBUG
+ -DINSTALL_HEADERS=OFF
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-graphicsmagick TARGET_PATH share/unofficial-graphicsmagick)
+
# copy license
file(COPY ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/graphicsmagick)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/copyright)
@@ -40,3 +50,5 @@ string(REPLACE "@windows_font_dir@" "$ENV{SYSTEMROOT}/Fonts/" TYPE_MGK "${TYPE_M
file(WRITE ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config/type.mgk "${TYPE_MGK}")
vcpkg_copy_pdbs()
+
+vcpkg_test_cmake(PACKAGE_NAME unofficial-graphicsmagick)