vcpkg/ports/cairomm/portfile.cmake
Alonso Schaich 3f7655c70a
[cairomm] update to 1.16.1 (#23904)
* [cairomm] update to 1.16.1 (microsoft#23903)

Cairo:
* Surface::Type: Deprecate WIN32, add WIN32_SURFACE
  (Kjell Ahlstedt) Issue #26, merge request !14

Build:
* cairommconfig.h.*: Don't dllimport on MinGW
  (Chun-wei Fan) Merge reqest !16
  (Chun-wei Fan) Issue gtkmm#90 (Lukas K.)
* Meson build: Make it possible to use cairomm as a subproject
  (Kjell Ahlstedt)
* Meson build: No implicit_include_directories
  (Kjell Ahlstedt)
* MSVC build: exception.h: Export Cairo::logic_error selectively
  (Chun-wei Fan) Merge request !17

* [cairomm] remove patch (microsoft#23903)

The WIN32 constant has been renamed to WIN32_SURFACE , and the
WIN32 -> WIN32_SURFACE alias is only provided for non-win32
sytems, therefore our previous patch is no longer needed.

* [cairomm] Support MSVC2022 (microsoft#23903)

Manually add ed1ce9a630b375b0f43435e34fbe690eb8276178 from upstream,
which prevents MSVC 2022 toolchains from being overridden by the
meson port file, resulting in corrupted binarycache metadata

* [cairomm] update version registries (microsoft#23903)

* [cairomm] add license (microsoft#23903)

* [cairomm] regenerate license registry (microsoft#23903)

Co-authored-by: Schaich <alonso.schaich@sodgeit.de>
2022-04-05 11:03:16 -07:00

42 lines
1.5 KiB
CMake

set(CAIROMM_VERSION 1.16.1)
set(CAIROMM_HASH 2dbdd41f712d43573ad3118f37d443d2b9ae98737c240d5db8d830ef38f2b4a95182b2fc857577c7564eb94649e629f70380f16ee84f4978759f40e19d802757)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.xz"
FILENAME "cairomm-${CAIROMM_VERSION}.tar.xz"
SHA512 ${CAIROMM_HASH}
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
build-support-msvc2022.diff
)
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-Dbuild-examples=false
-Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
)
vcpkg_install_meson()
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
if(VCPKG_LIBRARY_LINAKGE STREQUAL "static")
set(_file "${CURRENT_PACKAGES_DIR}/lib/cairomm-1.16/include/cairommconfig.h")
if(EXISTS "${_file}")
vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1")
endif()
set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/cairomm-1.16/include/cairommconfig.h")
if(EXISTS "${_file}")
vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1")
endif()
endif()