aboutsummaryrefslogtreecommitdiff
path: root/ports/libwebp
diff options
context:
space:
mode:
authormyd7349 <myd7349@gmail.com>2019-06-23 08:16:07 +0800
committermyd7349 <myd7349@gmail.com>2019-06-23 08:16:07 +0800
commit644851da5fbe46aadd0a8fa54e1d7d213f469fb0 (patch)
tree3f5d20aca85fcf02375cf553e893c105758a5d39 /ports/libwebp
parentf1870ae02bedbaa5a501ddf3a7ba5d0a743a1053 (diff)
parentf3db66b403840b24ea2612d09cca30a5285f5ea3 (diff)
downloadvcpkg-644851da5fbe46aadd0a8fa54e1d7d213f469fb0.tar.gz
vcpkg-644851da5fbe46aadd0a8fa54e1d7d213f469fb0.zip
Merge branch 'master' into sx-init
Diffstat (limited to 'ports/libwebp')
-rw-r--r--ports/libwebp/0001-build-fixes.patch4
-rw-r--r--ports/libwebp/0003-remove-missing-symbol.patch13
-rw-r--r--ports/libwebp/0004-add-missing-linked-library.patch15
-rw-r--r--ports/libwebp/0005-fix-static-build.patch13
-rw-r--r--ports/libwebp/CONTROL5
-rw-r--r--ports/libwebp/portfile.cmake81
6 files changed, 109 insertions, 22 deletions
diff --git a/ports/libwebp/0001-build-fixes.patch b/ports/libwebp/0001-build-fixes.patch
index c25ecbfee..490978727 100644
--- a/ports/libwebp/0001-build-fixes.patch
+++ b/ports/libwebp/0001-build-fixes.patch
@@ -2,13 +2,15 @@ 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)
+@@ -159,6 +159,12 @@ 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\))
++ else()
++ add_definitions(-DFREEGLUT_STATIC)
+ endif()
else()
add_definitions(-Wall)
diff --git a/ports/libwebp/0003-remove-missing-symbol.patch b/ports/libwebp/0003-remove-missing-symbol.patch
new file mode 100644
index 000000000..218481bbc
--- /dev/null
+++ b/ports/libwebp/0003-remove-missing-symbol.patch
@@ -0,0 +1,13 @@
+diff --git a/examples/gifdec.c b/examples/gifdec.c
+index 4219352..ab0592a 100644
+--- a/examples/gifdec.c
++++ b/examples/gifdec.c
+@@ -310,7 +310,7 @@ void GIFDisplayError(const GifFileType* const gif, int gif_error) {
+ #else
+ (void)gif;
+ fprintf(stderr, "GIFLib Error %d: ", gif_error);
+- PrintGifError();
++ //PrintGifError();
+ fprintf(stderr, "\n");
+ #endif
+ }
diff --git a/ports/libwebp/0004-add-missing-linked-library.patch b/ports/libwebp/0004-add-missing-linked-library.patch
new file mode 100644
index 000000000..49a34ef4d
--- /dev/null
+++ b/ports/libwebp/0004-add-missing-linked-library.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a98540c..a3697cb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -479,6 +479,10 @@ if(WEBP_BUILD_VWEBP)
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_BINARY_DIR}/src
+ ${OPENGL_INCLUDE_DIR})
++ if(UNIX AND NOT(ANDROID OR BLACKBERRY OR APPLE))
++ find_package(X11 REQUIRED)
++ target_link_libraries(vwebp ${X11_LIBRARIES} ${X11_Xxf86vm_LIB})
++ endif()
+ install(TARGETS vwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ check_c_compiler_flag("-Wno-deprecated-declarations" HAS_NO_DEPRECATED)
diff --git a/ports/libwebp/0005-fix-static-build.patch b/ports/libwebp/0005-fix-static-build.patch
new file mode 100644
index 000000000..f17713efd
--- /dev/null
+++ b/ports/libwebp/0005-fix-static-build.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7585fac..83edb3a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -540,7 +540,7 @@ if(WEBP_BUILD_EXTRAS)
+ find_package(SDL)
+ if(SDL_FOUND)
+ add_executable(vwebp_sdl ${VWEBP_SDL_SRCS})
+- target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp)
++ target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp dxguid winmm)
+ target_include_directories(vwebp_sdl
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL
index ed3ff55ca..90dffdc77 100644
--- a/ports/libwebp/CONTROL
+++ b/ports/libwebp/CONTROL
@@ -1,8 +1,9 @@
Source: libwebp
-Version: 1.0.2-2
+Version: 1.0.2-6
+Homepage: https://github.com/webmproject/libwebp
Description: Lossy compression of digital photographic images.
Build-Depends: opengl
Feature: all
Description: enable all webp features
-Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut, sdl1
+Build-Depends: giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut (!osx), sdl1 (windows)
diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake
index bae24ddff..11b0b7904 100644
--- a/ports/libwebp/portfile.cmake
+++ b/ports/libwebp/portfile.cmake
@@ -9,6 +9,9 @@ vcpkg_from_github(
PATCHES
0001-build-fixes.patch
0002-cmake-config-add-backwards-compatibility.patch
+ 0003-remove-missing-symbol.patch
+ 0004-add-missing-linked-library.patch
+ 0005-fix-static-build.patch
)
set(WEBP_BUILD_ANIM_UTILS OFF)
@@ -30,6 +33,16 @@ if("all" IN_LIST FEATURES)
set(WEBP_BUILD_EXTRAS ON)
endif()
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ message("WebP currently requires the following library from the system package manager:\n Xxf86vm\n\nThis can be installed on Ubuntu systems via apt-get install libxxf86vm-dev")
+endif()
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(WEBP_BUILD_VWEBP OFF)
+ set(WEBP_BUILD_EXTRAS OFF)
+ message("Due to GLUT Framework problems with CMake, at the moment it's not possible to build VWebP on Mac. It has been disabled together with extras.")
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
@@ -56,29 +69,59 @@ 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/")
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/WebP/cmake)
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/WebP)
+file(GLOB CMAKE_FILES ${CURRENT_PACKAGES_DIR}/share/${PORT}/*)
+file(COPY ${CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/webp/)
+
+#somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it
+if(CMAKE_HOST_WIN32)
+set(EXECUTABLE_SUFFIX ".exe")
+else()
+set(EXECUTABLE_SUFFIX "")
+endif()
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(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/get_disto${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/gif2webp${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/img2webp${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vwebp_sdl${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpinfo${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webpmux${EXECUTABLE_SUFFIX})
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/webp_quality${EXECUTABLE_SUFFIX})
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)
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/get_disto${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/get_disto${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/get_disto${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/gif2webp${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/gif2webp${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/gif2webp${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/img2webp${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/img2webp${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/img2webp${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/vwebp${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/vwebp_sdl${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vwebp_sdl${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/vwebp_sdl${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/webpinfo${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpinfo${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpinfo${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/webpmux${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webpmux${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/webpmux${EXECUTABLE_SUFFIX})
+ endif()
+ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/webp_quality${EXECUTABLE_SUFFIX}")
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/webp_quality${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/libwebp/webp_quality${EXECUTABLE_SUFFIX})
+ endif()
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)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+endif()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp RENAME copyright)