mirror of
https://github.com/cemu-project/vcpkg.git
synced 2024-11-30 22:50:34 +00:00
add-gdk-pixbuf
This commit is contained in:
parent
5f46d896d5
commit
0c03dc5631
128
ports/gdk-pixbuf/CMakeLists.txt
Normal file
128
ports/gdk-pixbuf/CMakeLists.txt
Normal file
@ -0,0 +1,128 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(gdk-pixbuf)
|
||||
|
||||
set(GDK_PIXBUF_LIB_SUFFIX 2.0)
|
||||
set(GDK_PIXBUF_DLL_SUFFIX 2)
|
||||
set(GDK_PIXBUF_BINARY_VERSION 2.10.0)
|
||||
set(GLIB_LIB_VERSION 2.0)
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
|
||||
find_path(GLIB_INCLUDE_DIR glib.h)
|
||||
find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
|
||||
find_library(GLIB_GIO_LIBRARY gio-${GLIB_LIB_VERSION})
|
||||
find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
|
||||
find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
|
||||
set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY} ${GLIB_GIO_LIBRARY})
|
||||
|
||||
find_path(LIBINTL_INCLUDE_DIR libintl.h)
|
||||
find_library(LIBINTL_LIBRARY NAMES libintl intl)
|
||||
|
||||
configure_file(./config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
|
||||
include_directories(. ./gdk-pixbuf)
|
||||
|
||||
add_library(gdk-pixbuf
|
||||
gdk-pixbuf/gdk-pixbuf.c
|
||||
gdk-pixbuf/gdk-pixbuf-animation.c
|
||||
gdk-pixbuf/gdk-pixbuf-data.c
|
||||
gdk-pixbuf/gdk-pixbuf-io.c
|
||||
gdk-pixbuf/gdk-pixbuf-loader.c
|
||||
gdk-pixbuf/gdk-pixbuf-scale.c
|
||||
gdk-pixbuf/gdk-pixbuf-simple-anim.c
|
||||
gdk-pixbuf/gdk-pixbuf-scaled-anim.c
|
||||
gdk-pixbuf/gdk-pixbuf-util.c
|
||||
gdk-pixbuf/gdk-pixdata.c
|
||||
gdk-pixbuf/gdk-pixbuf-enum-types.c
|
||||
gdk-pixbuf/io-ani.c
|
||||
gdk-pixbuf/io-ani-animation.c
|
||||
gdk-pixbuf/io-icns.c
|
||||
gdk-pixbuf/io-pnm.c
|
||||
gdk-pixbuf/io-png.c
|
||||
gdk-pixbuf/io-qtif.c
|
||||
gdk-pixbuf/io-tga.c
|
||||
gdk-pixbuf/gdk-pixbuf-buffer-queue.c
|
||||
gdk-pixbuf/io-xpm.c
|
||||
gdk-pixbuf/io-xbm.c
|
||||
gdk-pixbuf/pixops/pixops.c
|
||||
gdk-pixbuf/io-gdip-animation.c
|
||||
gdk-pixbuf/io-gdip-bmp.c
|
||||
gdk-pixbuf/io-gdip-emf.c
|
||||
gdk-pixbuf/io-gdip-gif.c
|
||||
gdk-pixbuf/io-gdip-ico.c
|
||||
gdk-pixbuf/io-gdip-jpeg.c
|
||||
gdk-pixbuf/io-gdip-tiff.c
|
||||
gdk-pixbuf/io-gdip-utils.c
|
||||
gdk-pixbuf/io-gdip-wmf.c)
|
||||
|
||||
target_include_directories(gdk-pixbuf PRIVATE
|
||||
${GLIB_INCLUDE_DIR}
|
||||
${PNG_INCLUDE_DIRS}
|
||||
${ZLIB_INCLUDE_DIRS}
|
||||
${LIBINTL_INCLUDE_DIR})
|
||||
|
||||
target_link_libraries(gdk-pixbuf
|
||||
${GLIB_LIBRARIES}
|
||||
${ZLIB_LIBRARIES}
|
||||
${PNG_LIBRARIES}
|
||||
${LIBINTL_LIBRARY}
|
||||
Gdiplus)
|
||||
|
||||
target_compile_definitions(gdk-pixbuf PRIVATE
|
||||
HAVE_CONFIG_H
|
||||
GDK_PIXBUF_COMPILATION
|
||||
GDK_PIXBUF_ENABLE_BACKEND
|
||||
DLL_EXPORT
|
||||
GDK_PIXBUF_RELOCATABLE
|
||||
GDK_PIXBUF_PREFIX="/dummy"
|
||||
GDK_PIXBUF_BINARY_VERSION="${GDK_PIXBUF_BINARY_VERSION}"
|
||||
INCLUDE_ani
|
||||
INCLUDE_tga
|
||||
INCLUDE_xbm
|
||||
INCLUDE_png
|
||||
INCLUDE_qtif
|
||||
INCLUDE_pnm
|
||||
INCLUDE_icns
|
||||
INCLUDE_xpm
|
||||
INCLUDE_gdiplus
|
||||
G_DISABLE_SINGLE_INCLUDES
|
||||
GDK_PIXBUF_DISABLE_SINGLE_INCLUDES)
|
||||
|
||||
set_target_properties(gdk-pixbuf PROPERTIES
|
||||
OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_DLL_SUFFIX}
|
||||
ARCHIVE_OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_LIB_SUFFIX})
|
||||
|
||||
install(TARGETS gdk-pixbuf
|
||||
RUNTIME DESTINATION bin
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib)
|
||||
|
||||
macro(gdk_add_tool TOOL_NAME)
|
||||
add_executable(${TOOL_NAME} ${ARGN})
|
||||
target_include_directories(${TOOL_NAME} PRIVATE ${GLIB_INCLUDE_DIR})
|
||||
target_link_libraries(${TOOL_NAME} gdk-pixbuf ${GLIB_LIBRARIES})
|
||||
install(TARGETS ${TOOL_NAME} RUNTIME DESTINATION tools/gdk-pixbuf)
|
||||
endmacro()
|
||||
|
||||
if(NOT GDK_SKIP_TOOLS)
|
||||
gdk_add_tool(gdk-pixbuf-csource gdk-pixbuf/gdk-pixbuf-csource.c)
|
||||
gdk_add_tool(gdk-pixbuf-pixdata gdk-pixbuf/gdk-pixbuf-pixdata.c)
|
||||
endif()
|
||||
|
||||
if(NOT GDK_SKIP_HEADERS)
|
||||
INSTALL(FILES
|
||||
gdk-pixbuf/gdk-pixbuf.h
|
||||
gdk-pixbuf/gdk-pixbuf-autocleanups.h
|
||||
gdk-pixbuf/gdk-pixbuf-core.h
|
||||
gdk-pixbuf/gdk-pixbuf-transform.h
|
||||
gdk-pixbuf/gdk-pixbuf-io.h
|
||||
gdk-pixbuf/gdk-pixbuf-animation.h
|
||||
gdk-pixbuf/gdk-pixbuf-simple-anim.h
|
||||
gdk-pixbuf/gdk-pixbuf-loader.h
|
||||
gdk-pixbuf/gdk-pixbuf-enum-types.h
|
||||
gdk-pixbuf/gdk-pixbuf-marshal.h
|
||||
gdk-pixbuf/gdk-pixbuf-features.h
|
||||
gdk-pixbuf/gdk-pixdata.h
|
||||
gdk-pixbuf/gdk-pixbuf-macros.h
|
||||
DESTINATION include/gdk-pixbuf)
|
||||
endif()
|
4
ports/gdk-pixbuf/CONTROL
Normal file
4
ports/gdk-pixbuf/CONTROL
Normal file
@ -0,0 +1,4 @@
|
||||
Source: gdk-pixbuf
|
||||
Version: 2.36.3
|
||||
Description: Image loading library.
|
||||
Build-Depends: gettext, zlib, libpng, glib
|
24
ports/gdk-pixbuf/portfile.cmake
Normal file
24
ports/gdk-pixbuf/portfile.cmake
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gdk-pixbuf-2.36.3)
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/2.36/gdk-pixbuf-2.36.3.tar.xz"
|
||||
FILENAME "gdk-pixbuf-2.36.3.tar.xz"
|
||||
SHA512 b9c9fdf45445ceeb7f5039e73cfc803756c5b34574eae4958cdfb525036e1722ab996c1b439fdaa85e73b11069762aeec43e11cadce514d1701d0e43626f20de)
|
||||
|
||||
vcpkg_extract_source_archive(${ARCHIVE})
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS_DEBUG
|
||||
-DGDK_SKIP_HEADERS=ON
|
||||
-DGDK_SKIP_TOOLS=ON)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/gdk-pixbuf)
|
||||
|
||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/COPYING ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/copyright)
|
Loading…
Reference in New Issue
Block a user