aboutsummaryrefslogtreecommitdiff
path: root/ports/cairomm
diff options
context:
space:
mode:
authorAlexandre Bique <bique.alexandre@gmail.com>2021-04-20 00:30:03 +0200
committerGitHub <noreply@github.com>2021-04-19 15:30:03 -0700
commit4c830b15161ac060fb48d175e0031677ba6e773e (patch)
treeab32c6d58aaeee07806879f574a8c5254a75dd08 /ports/cairomm
parent3ec41f57e64f691a723fd6e89830d01cc9be93e1 (diff)
downloadvcpkg-4c830b15161ac060fb48d175e0031677ba6e773e.tar.gz
vcpkg-4c830b15161ac060fb48d175e0031677ba6e773e.zip
[cairo,cairomm] add fontconfig and quartz feature, raise cairo version (#16825)
Diffstat (limited to 'ports/cairomm')
-rw-r--r--ports/cairomm/CMakeLists.txt45
-rw-r--r--ports/cairomm/CONTROL6
-rw-r--r--ports/cairomm/portfile.cmake9
-rw-r--r--ports/cairomm/vcpkg.json78
4 files changed, 117 insertions, 21 deletions
diff --git a/ports/cairomm/CMakeLists.txt b/ports/cairomm/CMakeLists.txt
index 1cc029786..41591f558 100644
--- a/ports/cairomm/CMakeLists.txt
+++ b/ports/cairomm/CMakeLists.txt
@@ -34,9 +34,6 @@ 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
@@ -45,16 +42,11 @@ set(cairomm_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)
+ cairomm/surface.cc)
set(cairomm_public_h
cairomm/cairomm.h
@@ -67,18 +59,13 @@ set(cairomm_public_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)
+ cairomm/types.h)
set(cairomm_private_h
cairomm/context_private.h
@@ -87,6 +74,34 @@ set(cairomm_private_h
set(cairomm_rc
${CMAKE_BINARY_DIR}/cairomm.rc)
+if(WITH_QUARTZ)
+ list(APPEND cairomm_cc
+ cairomm/context_surface_quartz.cc
+ cairomm/quartz_font.cc
+ cairomm/quartz_surface.cc)
+ list(APPEND cairomm_public_h
+ cairomm/xlib_surface.h)
+endif()
+
+if(WITH_X11)
+ list(APPEND cairomm_cc
+ cairomm/xlib_surface.cc
+ cairomm/context_surface_xlib.cc)
+ list(APPEND cairomm_public_h
+ cairomm/quartz_font.h
+ cairomm/quartz_surface.h)
+endif()
+
+if(WIN32)
+ list(APPEND cairomm_cc
+ cairomm/context_surface_win32.cc
+ cairomm/win32_font.cc
+ cairomm/win32_surface.cc)
+ list(APPEND cairomm_public_h
+ cairomm/win32_font.h
+ cairomm/win32_surface.h)
+endif()
+
add_library(cairomm-1.0 ${cairomm_cc} ${cairomm_rc})
target_link_libraries(cairomm-1.0 ${CAIRO_LIBRARY} ${SIGC++_LIBRARY} Freetype::Freetype)
target_include_directories(cairomm-1.0 PRIVATE
diff --git a/ports/cairomm/CONTROL b/ports/cairomm/CONTROL
deleted file mode 100644
index 7a89c9ec1..000000000
--- a/ports/cairomm/CONTROL
+++ /dev/null
@@ -1,6 +0,0 @@
-Source: cairomm
-Version: 1.15.3
-Port-Version: 5
-Homepage: https://www.cairographics.org
-Description: A C++ wrapper for the cairo graphics library
-Build-Depends: cairo, libsigcpp
diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake
index c1adb249b..dc5d2c9ff 100644
--- a/ports/cairomm/portfile.cmake
+++ b/ports/cairomm/portfile.cmake
@@ -19,6 +19,15 @@ vcpkg_extract_source_archive_ex(
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}/build)
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ x11 WITH_X11
+ gobject WITH_GOBJECT
+ freetype WITH_FREETYPE
+ fontconfig WITH_FONTCONFIG
+ quartz WITH_QUARTZ
+)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
diff --git a/ports/cairomm/vcpkg.json b/ports/cairomm/vcpkg.json
new file mode 100644
index 000000000..7c7d62b1b
--- /dev/null
+++ b/ports/cairomm/vcpkg.json
@@ -0,0 +1,78 @@
+{
+ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
+ "name": "cairomm",
+ "version-string": "1.15.3",
+ "port-version": 6,
+ "description": "A C++ wrapper for the cairo graphics library.",
+ "homepage": "https://cairographics.org",
+ "dependencies": [
+ "cairo",
+ "libsigcpp"
+ ],
+ "default-features": [
+ "fontconfig",
+ "freetype"
+ ],
+ "features": {
+ "fontconfig": {
+ "description": "build with fontconfig",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "fontconfig"
+ ]
+ }
+ ]
+ },
+ "freetype": {
+ "description": "use the freetype font backend",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "freetype"
+ ]
+ }
+ ]
+ },
+ "gobject": {
+ "description": "build gobject module",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "gobject"
+ ]
+ }
+ ]
+ },
+ "quartz": {
+ "description": "build with quartz support",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "quartz"
+ ]
+ }
+ ]
+ },
+ "x11": {
+ "description": "build with x11 support",
+ "dependencies": [
+ {
+ "name": "cairo",
+ "default-features": false,
+ "features": [
+ "x11"
+ ]
+ }
+ ]
+ }
+ }
+}