aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-04-03 16:59:10 -0700
committerGitHub <noreply@github.com>2017-04-03 16:59:10 -0700
commit8d9766200eed7ef5327fd65ed129c2176df62738 (patch)
tree7ab10ed98ef6acada1a680d519f1facaa68d9962
parentba901c677425931f75a67264ec558ef5bb3ac5eb (diff)
parentdeb4322e50b5d5bcdf7e697548b31c14d29947f3 (diff)
downloadvcpkg-8d9766200eed7ef5327fd65ed129c2176df62738.tar.gz
vcpkg-8d9766200eed7ef5327fd65ed129c2176df62738.zip
Merge pull request #886 from Mixaill/libgd
[libgd] add version 2.2.4
-rw-r--r--ports/libgd/0001-fix-cmake.patch181
-rw-r--r--ports/libgd/CONTROL4
-rw-r--r--ports/libgd/portfile.cmake52
3 files changed, 237 insertions, 0 deletions
diff --git a/ports/libgd/0001-fix-cmake.patch b/ports/libgd/0001-fix-cmake.patch
new file mode 100644
index 000000000..a1a316639
--- /dev/null
+++ b/ports/libgd/0001-fix-cmake.patch
@@ -0,0 +1,181 @@
+From 26fdb0f43b2d994de9a3d62f85fc650e8c495f18 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sat, 1 Apr 2017 23:16:18 +0300
+Subject: [PATCH] fix cmake
+
+---
+ CMakeLists.txt | 53 +++++++++++++++++++++++----------------------
+ src/CMakeLists.txt | 63 +++++++++++++++++++++++++++++-------------------------
+ 2 files changed, 62 insertions(+), 54 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 42934d0..796fa47 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -223,8 +223,10 @@ else (USE_EXT_GD)
+ add_subdirectory(src)
+ endif (USE_EXT_GD)
+
+-add_subdirectory(tests)
+-add_subdirectory(examples)
++if(BUILD_TEST)
++ add_subdirectory(tests)
++ add_subdirectory(examples)
++endif()
+
+ add_custom_target(distclean ${GD_SOURCE_DIR}/cmake/distclean.sh)
+
+@@ -246,29 +248,30 @@ IF (ENABLE_LIQ AND LIQ_BUILD)
+ ADD_DEPENDENCIES(${GD_LIB_STATIC} libimagequant)
+ ENDIF(ENABLE_LIQ AND LIQ_BUILD)
+
+-
+-INSTALL(FILES docs/INSTALL DESTINATION share/docs)
+-INSTALL(FILES docs/README.JPN DESTINATION share/docs)
+-INSTALL(FILES docs/README.CMAKE DESTINATION share/docs)
+-INSTALL(FILES docs/README.TESTING DESTINATION share/docs)
+-INSTALL(FILES docs/README.TXT DESTINATION share/docs)
+-
+-
+-INSTALL(FILES examples/arc.c DESTINATION share/docs)
+-INSTALL(FILES examples/copyrotated.c DESTINATION share/docs)
+-INSTALL(FILES examples/crop.c DESTINATION share/docs)
+-INSTALL(FILES examples/flip.c DESTINATION share/docs)
+-INSTALL(FILES examples/gif.c DESTINATION share/docs)
+-INSTALL(FILES examples/nnquant.c DESTINATION share/docs)
+-INSTALL(FILES examples/noIcon.pic DESTINATION share/docs)
+-INSTALL(FILES examples/noIcon.sgi DESTINATION share/docs)
+-INSTALL(FILES examples/noIcon.tga DESTINATION share/docs)
+-INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/docs)
+-INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/docs)
+-INSTALL(FILES examples/tgaread.c DESTINATION share/docs)
+-INSTALL(FILES examples/tiffread.c DESTINATION share/docs)
+-INSTALL(FILES examples/windows.c DESTINATION share/docs)
+-
++if(BUILD_DOCS)
++ INSTALL(FILES docs/INSTALL DESTINATION share/docs)
++ INSTALL(FILES docs/README.JPN DESTINATION share/docs)
++ INSTALL(FILES docs/README.CMAKE DESTINATION share/docs)
++ INSTALL(FILES docs/README.TESTING DESTINATION share/docs)
++ INSTALL(FILES docs/README.TXT DESTINATION share/docs)
++endif()
++
++if(BUILD_EXAMPLES)
++ INSTALL(FILES examples/arc.c DESTINATION share/docs)
++ INSTALL(FILES examples/copyrotated.c DESTINATION share/docs)
++ INSTALL(FILES examples/crop.c DESTINATION share/docs)
++ INSTALL(FILES examples/flip.c DESTINATION share/docs)
++ INSTALL(FILES examples/gif.c DESTINATION share/docs)
++ INSTALL(FILES examples/nnquant.c DESTINATION share/docs)
++ INSTALL(FILES examples/noIcon.pic DESTINATION share/docs)
++ INSTALL(FILES examples/noIcon.sgi DESTINATION share/docs)
++ INSTALL(FILES examples/noIcon.tga DESTINATION share/docs)
++ INSTALL(FILES examples/noIconAlpha.tga DESTINATION share/docs)
++ INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/docs)
++ INSTALL(FILES examples/tgaread.c DESTINATION share/docs)
++ INSTALL(FILES examples/tiffread.c DESTINATION share/docs)
++ INSTALL(FILES examples/windows.c DESTINATION share/docs)
++endif()
+
+ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 08fd699..497dd93 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -90,17 +90,17 @@ if (BUILD_STATIC_LIBS)
+ if (UNIX)
+ set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+ endif()
+-endif()
+
+-if (WIN32 AND NOT MINGW AND NOT MSYS)
+- # SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
+- SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
+-ENDIF(WIN32 AND NOT MINGW AND NOT MSYS)
++ if (WIN32 AND NOT MINGW AND NOT MSYS)
++ # SET_TARGET_PROPERTIES(${GD_LIB} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:msvcrt.lib")
++ SET_PROPERTY(TARGET ${GD_LIB_STATIC} APPEND PROPERTY COMPILE_DEFINITIONS NONDLL=1)
++ ENDIF(WIN32 AND NOT MINGW AND NOT MSYS)
+
+-if (MINGW OR MSYS)
+- ADD_DEFINITIONS("-mms-bitfields")
+- set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
+-endif (MINGW OR MSYS)
++ if (MINGW OR MSYS)
++ ADD_DEFINITIONS("-mms-bitfields")
++ set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB})
++ endif (MINGW OR MSYS)
++endif()
+
+ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src")
+
+@@ -123,32 +123,37 @@ if (BUILD_STATIC_LIBS)
+ target_link_libraries(${GD_LIB_STATIC} ${LIBGD_DEP_LIBS})
+ endif()
+
+-set(GD_PROGRAMS gdcmpgif)
+
+-if (PNG_FOUND)
+- set(GD_PROGRAMS ${GD_PROGRAMS} gdtopng pngtogd webpng)
++if(BUILD_PROGRAMS)
++ set(GD_PROGRAMS gdcmpgif)
++
++ if (PNG_FOUND)
++ set(GD_PROGRAMS ${GD_PROGRAMS} gdtopng pngtogd webpng)
++ if (ZLIB_FOUND)
++ set(GD_PROGRAMS ${GD_PROGRAMS} gdparttopng gd2topng pngtogd2)
++ endif()
++ endif()
++
++ if (FREETYPE_FOUND)
++ set(GD_PROGRAMS ${GD_PROGRAMS} annotate)
++ endif()
++
+ if (ZLIB_FOUND)
+- set(GD_PROGRAMS ${GD_PROGRAMS} gdparttopng gd2topng pngtogd2)
++ set(GD_PROGRAMS ${GD_PROGRAMS} gd2copypal gd2togif giftogd2)
+ endif()
+-endif()
+
+-if (FREETYPE_FOUND)
+- set(GD_PROGRAMS ${GD_PROGRAMS} annotate)
+-endif()
++ foreach(program ${GD_PROGRAMS})
++ add_executable(${program} ${program}.c)
++ if (BUILD_SHARED_LIBS)
++ target_link_libraries(${program} ${GD_LIB})
++ else()
++ target_link_libraries(${program} ${GD_LIB_STATIC})
++ endif()
++ endforeach(program)
+
+-if (ZLIB_FOUND)
+- set(GD_PROGRAMS ${GD_PROGRAMS} gd2copypal gd2togif giftogd2)
++ install(PROGRAMS bdftogd DESTINATION bin)
+ endif()
+
+-foreach(program ${GD_PROGRAMS})
+- add_executable(${program} ${program}.c)
+- if (BUILD_SHARED_LIBS)
+- target_link_libraries(${program} ${GD_LIB})
+- else()
+- target_link_libraries(${program} ${GD_LIB_STATIC})
+- endif()
+-endforeach(program)
+-
+ set(GD_INSTALL_TARGETS ${GD_PROGRAMS})
+ if (BUILD_SHARED_LIBS)
+ set(GD_INSTALL_TARGETS ${GD_INSTALL_TARGETS} ${GD_LIB})
+@@ -161,7 +166,7 @@ install(TARGETS ${GD_INSTALL_TARGETS}
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(PROGRAMS bdftogd DESTINATION bin)
++
+ install(FILES
+ entities.h
+ gd.h
+--
+2.11.0.windows.1
+
diff --git a/ports/libgd/CONTROL b/ports/libgd/CONTROL
new file mode 100644
index 000000000..8fd9fc05f
--- /dev/null
+++ b/ports/libgd/CONTROL
@@ -0,0 +1,4 @@
+Source: libgd
+Version: 2.2.4-1
+Description: Open source code library for the dynamic creation of images by programmers.
+Build-Depends: freetype, libjpeg-turbo, libpng, libwebp, tiff
diff --git a/ports/libgd/portfile.cmake b/ports/libgd/portfile.cmake
new file mode 100644
index 000000000..db0c4cdd5
--- /dev/null
+++ b/ports/libgd/portfile.cmake
@@ -0,0 +1,52 @@
+include(vcpkg_common_functions)
+
+set(LIBGD_VERSION 2.2.4)
+set(LIBGD_HASH 02ce40c45f31cf1645ad1d3fd9b9b498323b2709d40b0681cd403c11072a1f2149f5af844a6bf9e695c29e3247013bb94c57c0225a54189d728f64caf0a938ee)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libgd-gd-${LIBGD_VERSION})
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/libgd/libgd/archive/gd-${LIBGD_VERSION}.tar.gz"
+ FILENAME "gd-${LIBGD_VERSION}.tar.gz"
+ SHA512 ${LIBGD_HASH})
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-cmake.patch")
+
+#delete CMake builtins modules
+file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/CMakeParseArguments.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/FindFreetype.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/FindJPEG.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/FindPackageHandleStandardArgs.cmake)
+file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/FindPNG.cmake)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(LIBGD_SHARED_LIBS ON)
+ set(LIBGD_STATIC_LIBS OFF)
+else()
+ set(LIBGD_SHARED_LIBS OFF)
+ set(LIBGD_STATIC_LIBS ON)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS -DENABLE_PNG=ON
+ -DENABLE_JPEG=ON
+ -DENABLE_TIFF=ON
+ -DENABLE_FREETYPE=ON
+ -DEENABLE_WEBP=ON
+ -DBUILD_SHARED_LIBS=${LIBGD_SHARED_LIBS}
+ -DBUILD_STATIC_LIBS=${LIBGD_STATIC_LIBS}
+)
+
+vcpkg_build_cmake()
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgd)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/libgd/COPYING ${CURRENT_PACKAGES_DIR}/share/libgd/copyright)