aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-13 14:51:08 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-13 14:51:08 -0700
commitdc29e034c8d8ed3afe7955e9ede5f448459711b8 (patch)
tree1fb807e7d73293d9c3652992a33b95777b80e908
parentfee9e6150c16ef2733781097232a9420af4baea6 (diff)
parentd6e246722c9b766ed11b63c21f1986b5cd1099b6 (diff)
downloadvcpkg-dc29e034c8d8ed3afe7955e9ede5f448459711b8.tar.gz
vcpkg-dc29e034c8d8ed3afe7955e9ede5f448459711b8.zip
Merge branch 'cairomm' of https://github.com/Mixaill/vcpkg into Mixaill-cairomm
-rw-r--r--ports/cairomm/0001-cmake-build-system.patch489
-rw-r--r--ports/cairomm/0002-fix-build.patch25
-rw-r--r--ports/cairomm/CONTROL4
-rw-r--r--ports/cairomm/portfile.cmake30
4 files changed, 548 insertions, 0 deletions
diff --git a/ports/cairomm/0001-cmake-build-system.patch b/ports/cairomm/0001-cmake-build-system.patch
new file mode 100644
index 000000000..7492e649b
--- /dev/null
+++ b/ports/cairomm/0001-cmake-build-system.patch
@@ -0,0 +1,489 @@
+From 985be86e6073f6af5822eade61a0401cf2c87f0f Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sun, 12 Mar 2017 17:33:46 +0300
+Subject: [PATCH] CMake build system
+
+---
+ CMakeLists.txt | 111 ++++++++++++++++++++++++++++++++
+ build/cmake/FindCairo.cmake | 131 ++++++++++++++++++++++++++++++++++++++
+ build/cmake/FindSigC++.cmake | 111 ++++++++++++++++++++++++++++++++
+ build/cmake/cairomm.rc.cmake | 71 +++++++++++++++++++++
+ build/cmake/cairommconfig.h.cmake | 13 ++++
+ 5 files changed, 437 insertions(+)
+ create mode 100644 CMakeLists.txt
+ create mode 100644 build/cmake/FindCairo.cmake
+ create mode 100644 build/cmake/FindSigC++.cmake
+ create mode 100644 build/cmake/cairomm.rc.cmake
+ create mode 100644 build/cmake/cairommconfig.h.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..b09ac49
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,111 @@
++project(cairomm)
++cmake_minimum_required(VERSION 3.4)
++
++set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake")
++
++set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD_REQUIRED ON)
++
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
++
++#get cairomm version
++file (STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[cairomm\\], \\[.*\\].*" )
++string(REGEX REPLACE "AC_INIT\\(\\[.*\\], \\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT})
++string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" CAIROMM_MAJOR_VERSION ${VERSION})
++string(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" CAIROMM_MINOR_VERSION ${VERSION})
++string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" CAIROMM_MICRO_VERSION ${VERSION})
++message(STATUS "Ciaromm version: ${CAIROMM_MAJOR_VERSION}.${CAIROMM_MINOR_VERSION}.${CAIROMM_MICRO_VERSION}")
++
++find_package(Cairo REQUIRED)
++find_package(SigC++ REQUIRED)
++
++#configure
++option(BUILD_SHARED_LIBS "Build the shared library" ON)
++
++option(CAIROMM_ENABLE_API_EXCEPTIONS "enable API exceptions" ON)
++if(CAIROMM_ENABLE_API_EXCEPTIONS)
++ set(CAIROMM_EXCEPTIONS_ENABLED ON)
++else()
++ set(CAIROMM_EXCEPTIONS_ENABLED OFF)
++endif()
++
++configure_file("build/cmake/cairommconfig.h.cmake" "cairommconfig.h")
++configure_file("build/cmake/cairomm.rc.cmake" "cairomm.rc" @ONLY)
++
++#build
++set(cairomm_cc
++ cairomm/context.cc
++ cairomm/context_surface_quartz.cc
++ cairomm/context_surface_win32.cc
++ cairomm/context_surface_xlib.cc
++ cairomm/device.cc
++ cairomm/exception.cc
++ cairomm/fontface.cc
++ cairomm/fontoptions.cc
++ cairomm/matrix.cc
++ cairomm/path.cc
++ cairomm/pattern.cc
++ cairomm/private.cc
++ cairomm/quartz_font.cc
++ cairomm/quartz_surface.cc
++ cairomm/region.cc
++ cairomm/scaledfont.cc
++ cairomm/script.cc
++ cairomm/script_surface.cc
++ cairomm/surface.cc
++ cairomm/win32_font.cc
++ cairomm/win32_surface.cc
++ cairomm/xlib_surface.cc)
++
++set(cairomm_public_h
++ cairomm/cairomm.h
++ cairomm/context.h
++ cairomm/device.h
++ cairomm/enums.h
++ cairomm/exception.h
++ cairomm/fontface.h
++ cairomm/fontoptions.h
++ cairomm/matrix.h
++ cairomm/path.h
++ cairomm/pattern.h
++ cairomm/quartz_font.h
++ cairomm/quartz_surface.h
++ cairomm/refptr.h
++ cairomm/region.h
++ cairomm/scaledfont.h
++ cairomm/script.h
++ cairomm/script_surface.h
++ cairomm/surface.h
++ cairomm/types.h
++ cairomm/win32_font.h
++ cairomm/win32_surface.h
++ cairomm/xlib_surface.h)
++
++set(cairomm_private_h
++ cairomm/context_private.h
++ cairomm/private.h)
++
++set(cairomm_rc
++ ${CMAKE_BINARY_DIR}/cairomm.rc)
++
++add_library(cairomm-1.0 ${cairomm_cc} ${cairomm_rc})
++target_link_libraries(cairomm-1.0 ${CAIRO_LIBRARY} ${SIGC++_LIBRARY} )
++target_include_directories(cairomm-1.0 PRIVATE
++ ${CAIRO_INCLUDE_DIR}
++ ${SIGC++_INCLUDE_DIR}
++ ${CMAKE_BINARY_DIR}
++ ${CMAKE_SOURCE_DIR})
++
++install(
++ TARGETS cairomm-1.0
++ RUNTIME DESTINATION bin
++ ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION lib)
++
++install(
++ FILES ${cairomm_public_h}
++ DESTINATION include/cairomm)
++
++install(
++ FILES ${CMAKE_BINARY_DIR}/cairommconfig.h
++ DESTINATION include)
+diff --git a/build/cmake/FindCairo.cmake b/build/cmake/FindCairo.cmake
+new file mode 100644
+index 0000000..d9b8bf4
+--- /dev/null
++++ b/build/cmake/FindCairo.cmake
+@@ -0,0 +1,131 @@
++# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
++# file Copyright.txt or https://cmake.org/licensing for details.
++#
++# revision: 2
++# See https://github.com/CMakePorts/CMakeFindPackages for updates
++#
++#.rst:
++# FindCairo
++# ---------
++#
++# Locate Cairo library
++#
++# This module defines
++#
++# ::
++# CAIRO_FOUND - system has the CAIRO library
++# CAIRO_INCLUDE_DIR - the CAIRO include directory
++# CAIRO_LIBRARIES - The libraries needed to use CAIRO
++# CAIRO_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8)
++# CAIRO_VERSION_STRING - This is set to $major.$minor.$revision (eg. 0.9.8)
++#
++# Authors:
++# Copyright (c) Eric Wing
++# Copyright (c) Alexander Neundorf
++# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
++# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
++# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
++#
++
++
++if (NOT WIN32)
++ find_package(PkgConfig)
++ if (PKG_CONFIG_FOUND)
++ pkg_check_modules(_CAIRO cairo)
++
++ SET(CAIRO_VERSION ${_CAIRO_VERSION})
++ STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\1" num "${CAIRO_VERSION}")
++ MATH (EXPR CAIRO_VERSION_MAJOR "${num}")
++ STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\2" num "${CAIRO_VERSION}")
++ MATH (EXPR CAIRO_VERSION_MINOR "${num}")
++ STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\3" num "${CAIRO_VERSION}")
++ MATH (EXPR CAIRO_VERSION_MICRO "${num}")
++ endif (PKG_CONFIG_FOUND)
++endif (NOT WIN32)
++
++set(_CAIRO_ROOT_HINTS_AND_PATHS
++ HINTS
++ $ENV{CAIRO}
++ $ENV{CAIRO_DIR}
++ ${CMAKE_FIND_ROOT_PATH}
++ ${CAIRO_ROOT_DIR}
++ PATHS
++ ${CMAKE_FIND_ROOT_PATH}
++ $ENV{CAIRO}/src
++ /usr
++ /usr/local
++)
++
++find_path(CAIRO_INCLUDE_DIR
++ NAMES
++ cairo.h
++ HINTS
++ ${_CAIRO_INCLUDEDIR}
++ ${_CAIRO_ROOT_HINTS_AND_PATHS}
++ PATH_SUFFIXES
++ include
++ "include/cairo"
++)
++
++if(NOT CAIRO_LIBRARY)
++ FIND_LIBRARY(CAIRO_LIBRARY_RELEASE
++ NAMES
++ cairo
++ cairo-static
++ HINTS
++ ${_CAIRO_LIBDIR}
++ ${_CAIRO_ROOT_HINTS_AND_PATHS}
++ PATH_SUFFIXES
++ "lib"
++ "local/lib"
++ )
++
++ FIND_LIBRARY(CAIRO_LIBRARY_DEBUG
++ NAMES
++ cairod
++ cairo-staticd
++ HINTS
++ ${_CAIRO_LIBDIR}
++ ${_CAIRO_ROOT_HINTS_AND_PATHS}
++ PATH_SUFFIXES
++ "lib"
++ "local/lib"
++ )
++
++ include(SelectLibraryConfigurations)
++ select_library_configurations(CAIRO)
++endif()
++set(CAIRO_LIBRARIES ${CAIRO_LIBRARY})
++
++if (NOT CAIRO_VERSION)
++ if (EXISTS "${CAIRO_INCLUDE_DIR}/cairo-version.h")
++ file(READ "${CAIRO_INCLUDE_DIR}/cairo-version.h" CAIRO_VERSION_CONTENT)
++
++ string(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
++ set(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
++
++ string(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
++ set(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
++
++ string(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
++ set(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
++
++ set(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
++ set(CAIRO_VERSION_STRING CAIRO_VERSION)
++ endif ()
++endif()
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(
++ CAIRO
++ REQUIRED_VARS
++ CAIRO_LIBRARIES
++ CAIRO_INCLUDE_DIR
++ VERSION_VAR
++ CAIRO_VERSION_STRING
++)
++
++MARK_AS_ADVANCED(
++ CAIRO_INCLUDE_DIR
++ CAIRO_LIBRARY
++ CAIRO_LIBRARIES)
+diff --git a/build/cmake/FindSigC++.cmake b/build/cmake/FindSigC++.cmake
+new file mode 100644
+index 0000000..0f540ab
+--- /dev/null
++++ b/build/cmake/FindSigC++.cmake
+@@ -0,0 +1,111 @@
++# - Try to find SIGC++
++# Once done this will define
++#
++# SIGC++_ROOT_DIR - Set this variable to the root installation of SIGC++
++# SIGC++_FOUND - system has SIGC++
++# SIGC++_INCLUDE_DIRS - the SIGC++ include directory
++# SIGC++_LIBRARIES - Link these to use SIGC++
++#
++# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
++# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
++# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
++#
++# Distributed under the OSI-approved BSD License
++#
++
++if (NOT WIN32)
++ find_package(PkgConfig)
++ if (PKG_CONFIG_FOUND)
++ pkg_check_modules(_SIGC++ sigc++-2.0)
++ SET(SIGC++_VERSION ${_SIGC++_VERSION})
++ endif (PKG_CONFIG_FOUND)
++endif (NOT WIN32)
++
++SET(_SIGC++_ROOT_HINTS
++ $ENV{SIGC++}
++ ${CMAKE_FIND_ROOT_PATH}
++ ${SIGC++_ROOT_DIR}
++)
++
++SET(_SIGC++_ROOT_PATHS
++ $ENV{SIGC++}/src
++ /usr
++ /usr/local
++)
++
++SET(_SIGC++_ROOT_HINTS_AND_PATHS
++ HINTS ${_SIGC++_ROOT_HINTS}
++ PATHS ${_SIGC++_ROOT_PATHS}
++)
++
++FIND_PATH(SIGC++_INCLUDE_DIR
++ NAMES
++ "sigc++/sigc++.h"
++ HINTS
++ ${_SIGC++_INCLUDEDIR}
++ ${_SIGC++_ROOT_HINTS_AND_PATHS}
++ PATH_SUFFIXES
++ include
++ "include/sigc++-2.0"
++)
++
++find_path(SIGC++_CONFIG_INCLUDE_DIR
++ NAMES
++ sigc++config.h
++ HINTS
++ ${_SIGC++_LIBDIR}
++ ${_SIGC++_INCLUDEDIR}
++ ${_SIGC++_ROOT_HINTS_AND_PATHS}
++ PATH_SUFFIXES
++ include
++ lib
++ "sigc++-2.0/include"
++ "lib/sigc++-2.0"
++ "lib/sigc++-2.0/include"
++)
++
++FIND_LIBRARY(SIGC++_LIBRARY
++ NAMES
++ sigc-2.0
++ HINTS
++ ${_SIGC++_LIBDIR}
++ ${_SIGC++_ROOT_HINTS_AND_PATHS}
++ PATH_SUFFIXES
++ "lib"
++ "local/lib"
++)
++
++SET(SIGC++_LIBRARIES
++ ${SIGC++_LIBRARY}
++)
++
++SET(SIGC++_INCLUDE_DIRS
++ ${SIGC++_INCLUDE_DIR}
++ ${SIGC++_CONFIG_INCLUDE_DIR}
++)
++
++if (NOT SIGC++_VERSION)
++ if (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
++ file(READ "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h" SIGC++_VERSION_CONTENT)
++
++ string(REGEX MATCH "#define +SIGCXX_MAJOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
++ set(SIGC++_VERSION_MAJOR "${CMAKE_MATCH_1}")
++
++ string(REGEX MATCH "#define +SIGCXX_MINOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
++ set(SIGC++_VERSION_MINOR "${CMAKE_MATCH_1}")
++
++ string(REGEX MATCH "#define +SIGCXX_MICRO_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
++ set(SIGC++_VERSION_MICRO "${CMAKE_MATCH_1}")
++
++ set(SIGC++_VERSION "${SIGC++_VERSION_MAJOR}.${SIGC++_VERSION_MINOR}.${SIGC++_VERSION_MICRO}")
++ endif (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
++endif(NOT SIGC++_VERSION)
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(SIGC++
++ REQUIRED_VARS SIGC++_LIBRARIES SIGC++_INCLUDE_DIRS
++ VERSION_VAR SIGC++_VERSION
++ FAIL_MESSAGE "Could NOT find SIGC++, try to set the path to SIGC++ root folder in the system variable SIGC++"
++)
++
++MARK_AS_ADVANCED(SIGC++_CONFIG_INCLUDE_DIR SIGC++_INCLUDE_DIR SIGC++_INCLUDE_DIRS SIGC++_LIBRARY SIGC++_LIBRARIES)
+\ No newline at end of file
+diff --git a/build/cmake/cairomm.rc.cmake b/build/cmake/cairomm.rc.cmake
+new file mode 100644
+index 0000000..d968c4d
+--- /dev/null
++++ b/build/cmake/cairomm.rc.cmake
+@@ -0,0 +1,71 @@
++
++#define APSTUDIO_READONLY_SYMBOLS
++
++#include <windows.h>
++
++#undef APSTUDIO_READONLY_SYMBOLS
++
++#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
++#ifdef _WIN32
++LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
++#pragma code_page(1252)
++#endif //_WIN32
++
++#ifdef APSTUDIO_INVOKED
++
++1 TEXTINCLUDE
++BEGIN
++ "resource.h\0"
++END
++
++2 TEXTINCLUDE
++BEGIN
++ "#include ""afxres.h""\r\n"
++ "\0"
++END
++
++3 TEXTINCLUDE
++BEGIN
++ "\r\n"
++ "\0"
++END
++
++#endif // APSTUDIO_INVOKED
++
++VS_VERSION_INFO VERSIONINFO
++ FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
++ PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
++ FILEFLAGSMASK 0x17L
++#ifdef _DEBUG
++ FILEFLAGS 0x1L
++#else
++ FILEFLAGS 0x0L
++#endif
++ FILEOS 0x4L
++ FILETYPE 0x2L
++ FILESUBTYPE 0x0L
++BEGIN
++ BLOCK "StringFileInfo"
++ BEGIN
++ BLOCK "040904b0"
++ BEGIN
++ VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
++ VALUE "FileDescription", "The official C++ wrapper for cairo"
++ VALUE "FileVersion", "@VERSION@"
++ VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
++ VALUE "OriginalFilename", "cairomm-1.0"
++ VALUE "ProductName", "cairomm"
++ VALUE "ProductVersion", "@VERSION@"
++ END
++ END
++ BLOCK "VarFileInfo"
++ BEGIN
++ VALUE "Translation", 0x409, 1200
++ END
++END
++
++#endif // English (U.S.) resources
++
++#ifndef APSTUDIO_INVOKED
++
++#endif // not APSTUDIO_INVOKED
+diff --git a/build/cmake/cairommconfig.h.cmake b/build/cmake/cairommconfig.h.cmake
+new file mode 100644
+index 0000000..526a70c
+--- /dev/null
++++ b/build/cmake/cairommconfig.h.cmake
+@@ -0,0 +1,13 @@
++/* This file is part of cairomm. */
++
++/* Defined when the --enable-api-exceptions configure argument was given */
++#cmakedefine CAIROMM_EXCEPTIONS_ENABLED 1
++
++/* Major version number of cairomm. */
++#cmakedefine CAIROMM_MAJOR_VERSION @CAIROMM_MAJOR_VERSION@
++
++/* Minor version number of cairomm. */
++#cmakedefine CAIROMM_MINOR_VERSION @CAIROMM_MINOR_VERSION@
++
++/* Micro version number of cairomm. */
++#cmakedefine CAIROMM_MICRO_VERSION @CAIROMM_MICRO_VERSION@
+--
+2.11.0.windows.1
+
diff --git a/ports/cairomm/0002-fix-build.patch b/ports/cairomm/0002-fix-build.patch
new file mode 100644
index 000000000..59e281d79
--- /dev/null
+++ b/ports/cairomm/0002-fix-build.patch
@@ -0,0 +1,25 @@
+From b769f250a39df110db2615c0e0d85b52f2ab6e77 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sun, 12 Mar 2017 17:57:03 +0300
+Subject: [PATCH] Fix build
+
+---
+ cairomm/win32_surface.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/cairomm/win32_surface.h b/cairomm/win32_surface.h
+index 2e35b9a..c4454c4 100644
+--- a/cairomm/win32_surface.h
++++ b/cairomm/win32_surface.h
+@@ -84,6 +84,8 @@ public:
+ */
+ static RefPtr<Win32Surface> create(HDC hdc);
+
++ static RefPtr<Win32Surface> create(Format format, int width, int height);
++
+ /** Creates a device-independent-bitmap surface not associated with any
+ * particular existing surface or device context. The created bitmap will be
+ * unititialized.
+--
+2.11.0.windows.1
+
diff --git a/ports/cairomm/CONTROL b/ports/cairomm/CONTROL
new file mode 100644
index 000000000..d8eda4a53
--- /dev/null
+++ b/ports/cairomm/CONTROL
@@ -0,0 +1,4 @@
+Source: cairomm
+Version: 1.15.3-1
+Description: A C++ wrapper for the cairo graphics library
+Build-Depends: cairo, libsigcpp \ No newline at end of file
diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake
new file mode 100644
index 000000000..fd1e4cfd9
--- /dev/null
+++ b/ports/cairomm/portfile.cmake
@@ -0,0 +1,30 @@
+include(vcpkg_common_functions)
+
+set(CAIROMM_VERSION 1.15.3)
+set(CAIROMM_HASH a2c28786dbd167179561d8f580eeb11d10634a36dfdb1adeefc0279acf83ee906f01f264cb924845fc4ab98da1afac71e1ead742f283c1a32368ca9af28e464a)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cairomm-${CAIROMM_VERSION})
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.gz"
+ FILENAME "cairomm-${CAIROMM_VERSION}.tar.gz"
+ SHA512 ${CAIROMM_HASH}
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CURRENT_PORT_DIR}/0001-cmake-build-system.patch"
+ "${CURRENT_PORT_DIR}/0002-fix-build.patch")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cairomm)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/cairomm/COPYING ${CURRENT_PACKAGES_DIR}/share/cairomm/copyright)