mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 03:55:24 +00:00
Meta: Add fontconfig and freetype vcpkg overlays
Temporary until their canonical git forge is back up and running
This commit is contained in:
parent
b8adf193f5
commit
20890d7b70
Notes:
github-actions[bot]
2025-03-18 06:26:39 +00:00
Author: https://github.com/ADKaster Commit: https://github.com/LadybirdBrowser/ladybird/commit/20890d7b702 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3978
18 changed files with 812 additions and 0 deletions
|
@ -88,3 +88,6 @@ set(XML_PARSER_DEBUG ON)
|
|||
# set(gn_include_dirs_DEBUG ON)
|
||||
# set(gn_ldflags_DEBUG ON)
|
||||
# set(gn_lib_dirs_DEBUG ON)
|
||||
# Third-party: fontconfig overlay
|
||||
# set(Fontconfig_LIBRARY_DEBUG ON)
|
||||
# set(UUID_LIBRARY_DEBUG ON)
|
||||
|
|
13
Meta/CMake/vcpkg/overlay-ports/fontconfig/emscripten.diff
Normal file
13
Meta/CMake/vcpkg/overlay-ports/fontconfig/emscripten.diff
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/meson.build b/meson.build
|
||||
index 08d9532..37cc195 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -289,7 +289,7 @@ if fc_cachedir in ['yes', 'no', 'default']
|
||||
endif
|
||||
endif
|
||||
|
||||
-if host_machine.system() != 'windows'
|
||||
+if host_machine.system() != 'windows' and host_machine.system() != 'emscripten'
|
||||
thread_dep = dependency('threads')
|
||||
conf.set('HAVE_PTHREAD', 1)
|
||||
deps += [thread_dep]
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/meson.build b/meson.build
|
||||
index 8e78700..95bae59 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -112,6 +112,9 @@ check_alignofs = [
|
||||
]
|
||||
|
||||
add_project_arguments('-DHAVE_CONFIG_H', language: 'c')
|
||||
+if cc.get_id() == 'clang' and host_machine.cpu_family() == 'wasm'
|
||||
+ add_project_arguments('-matomics', '-mbulk-memory', language: 'c')
|
||||
+endif
|
||||
|
||||
c_args = []
|
||||
|
130
Meta/CMake/vcpkg/overlay-ports/fontconfig/libgetopt.patch
Normal file
130
Meta/CMake/vcpkg/overlay-ports/fontconfig/libgetopt.patch
Normal file
|
@ -0,0 +1,130 @@
|
|||
diff --git a/fc-cache/meson.build b/fc-cache/meson.build
|
||||
index 5e40fac..3c3e46b 100644
|
||||
--- a/fc-cache/meson.build
|
||||
+++ b/fc-cache/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
fccache = executable('fc-cache', ['fc-cache.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
+ dependencies: [getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-cat/meson.build b/fc-cat/meson.build
|
||||
index f26e4b8..476c0f9 100644
|
||||
--- a/fc-cat/meson.build
|
||||
+++ b/fc-cat/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
fccat = executable('fc-cat', ['fc-cat.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
+ dependencies: [getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-conflist/meson.build b/fc-conflist/meson.build
|
||||
index f543cf9..f06640b 100644
|
||||
--- a/fc-conflist/meson.build
|
||||
+++ b/fc-conflist/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
fcconflist = executable('fc-conflist', ['fc-conflist.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
+ dependencies: [getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-list/meson.build b/fc-list/meson.build
|
||||
index 2f679d5..4b0fb62 100644
|
||||
--- a/fc-list/meson.build
|
||||
+++ b/fc-list/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
fclist = executable('fc-list', ['fc-list.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
+ dependencies: [getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-match/meson.build b/fc-match/meson.build
|
||||
index aca8bc8..cab4f09 100644
|
||||
--- a/fc-match/meson.build
|
||||
+++ b/fc-match/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
fcmatch = executable('fc-match', ['fc-match.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
+ dependencies: [getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-pattern/meson.build b/fc-pattern/meson.build
|
||||
index 07de245..b957c67 100644
|
||||
--- a/fc-pattern/meson.build
|
||||
+++ b/fc-pattern/meson.build
|
||||
@@ -1,6 +1,7 @@
|
||||
fcpattern = executable('fc-pattern', ['fc-pattern.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
+ dependencies: [getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-query/meson.build b/fc-query/meson.build
|
||||
index d0f2dd4..940b021 100644
|
||||
--- a/fc-query/meson.build
|
||||
+++ b/fc-query/meson.build
|
||||
@@ -1,7 +1,7 @@
|
||||
fcquery = executable('fc-query', ['fc-query.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
- dependencies: [freetype_dep],
|
||||
+ dependencies: [freetype_dep, getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-scan/meson.build b/fc-scan/meson.build
|
||||
index 4de2134..c5b2b67 100644
|
||||
--- a/fc-scan/meson.build
|
||||
+++ b/fc-scan/meson.build
|
||||
@@ -1,7 +1,7 @@
|
||||
fcscan = executable('fc-scan', ['fc-scan.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
- dependencies: [freetype_dep],
|
||||
+ dependencies: [freetype_dep, getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/fc-validate/meson.build b/fc-validate/meson.build
|
||||
index e2b956e..8902d59 100644
|
||||
--- a/fc-validate/meson.build
|
||||
+++ b/fc-validate/meson.build
|
||||
@@ -1,7 +1,7 @@
|
||||
fcvalidate = executable('fc-validate', ['fc-validate.c', fcstdint_h, alias_headers, ft_alias_headers],
|
||||
include_directories: [incbase, incsrc],
|
||||
link_with: [libfontconfig],
|
||||
- dependencies: [freetype_dep],
|
||||
+ dependencies: [freetype_dep, getopt_dep],
|
||||
c_args: c_args,
|
||||
install: true,
|
||||
)
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f616600..6d82a16 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -202,6 +202,14 @@ if cc.links(files('meson-cc-tests/solaris-atomic-operations.c'), name: 'Solaris
|
||||
conf.set('HAVE_SOLARIS_ATOMIC_OPS', 1)
|
||||
endif
|
||||
|
||||
+if host_machine.system() == 'windows'
|
||||
+ conf.set('HAVE_GETOPT', 1)
|
||||
+ conf.set('HAVE_GETOPT_LONG', 1)
|
||||
+ getopt_dep = cc.find_library('getopt', required: false)
|
||||
+else
|
||||
+ getopt_dep = dependency('', required: false)
|
||||
+endif
|
||||
+
|
||||
|
||||
# Check iconv support
|
||||
iconv_dep = []
|
|
@ -0,0 +1,19 @@
|
|||
--- a/conf.d/link_confs.py 2022-03-24 04:13:59.000982000 +0900
|
||||
+++ b/conf.d/link_confs.py 2022-03-24 04:14:46.271964000 +0900
|
||||
@@ -4,6 +4,7 @@
|
||||
import sys
|
||||
import argparse
|
||||
import platform
|
||||
+import shutil
|
||||
from pathlib import PurePath
|
||||
|
||||
if __name__=='__main__':
|
||||
@@ -32,7 +33,7 @@
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
try:
|
||||
- os.symlink(os.path.relpath(src, start=args.confpath), dst)
|
||||
+ shutil.copyfile(src, dst)
|
||||
except NotImplementedError:
|
||||
# Not supported on this version of Windows
|
||||
break
|
109
Meta/CMake/vcpkg/overlay-ports/fontconfig/portfile.cmake
Normal file
109
Meta/CMake/vcpkg/overlay-ports/fontconfig/portfile.cmake
Normal file
|
@ -0,0 +1,109 @@
|
|||
vcpkg_from_gitlab(
|
||||
GITLAB_URL https://gitlab.com
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO freedesktop-sdk/mirrors/freedesktop/fontconfig/fontconfig
|
||||
REF ${VERSION}
|
||||
SHA512 daa6d1e6058e12c694d9e1512e09be957ff7f3fa375246b9d13eb0a8cf2f21e1512a5cabe93f270e96790e2c20420bf7422d213e43ab9749da3255286ea65a7c
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
emscripten.diff
|
||||
no-etc-symlinks.patch
|
||||
libgetopt.patch
|
||||
fix-wasm-shared-memory-atomics.patch
|
||||
)
|
||||
|
||||
set(options "")
|
||||
if("nls" IN_LIST FEATURES)
|
||||
list(APPEND options "-Dnls=enabled")
|
||||
else()
|
||||
list(APPEND options "-Dnls=disabled")
|
||||
endif()
|
||||
if("tools" IN_LIST FEATURES)
|
||||
list(APPEND options "-Dtools=enabled")
|
||||
else()
|
||||
list(APPEND options "-Dtools=disabled")
|
||||
endif()
|
||||
|
||||
vcpkg_configure_meson(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${options}
|
||||
-Ddoc=disabled
|
||||
-Dcache-build=disabled
|
||||
-Diconv=enabled
|
||||
-Dtests=disabled
|
||||
ADDITIONAL_BINARIES
|
||||
"gperf = ['${CURRENT_HOST_INSTALLED_DIR}/tools/gperf/gperf${VCPKG_HOST_EXECUTABLE_SUFFIX}']"
|
||||
)
|
||||
|
||||
# https://www.freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
# Adding OPTIONS for e.g. baseconfig-dir etc. won't work since meson will try to install into those dirs!
|
||||
# Since adding OPTIONS does not work use a replacement in the generated config.h instead
|
||||
set(replacement "")
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(replacement "**invalid-fontconfig-dir-do-not-use**")
|
||||
endif()
|
||||
set(configfile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.h")
|
||||
vcpkg_replace_string("${configfile}" "${CURRENT_PACKAGES_DIR}" "${replacement}")
|
||||
vcpkg_replace_string("${configfile}" "#define FC_TEMPLATEDIR \"/share/fontconfig/conf.avail\"" "#define FC_TEMPLATEDIR \"/usr/share/fontconfig/conf.avail\"" IGNORE_UNCHANGED)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
set(configfile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.h")
|
||||
vcpkg_replace_string("${configfile}" "${CURRENT_PACKAGES_DIR}/debug" "${replacement}")
|
||||
vcpkg_replace_string("${configfile}" "#define FC_TEMPLATEDIR \"/share/fontconfig/conf.avail\"" "#define FC_TEMPLATEDIR \"/usr/share/fontconfig/conf.avail\"" IGNORE_UNCHANGED)
|
||||
endif()
|
||||
|
||||
vcpkg_install_meson(ADD_BIN_TO_PATH)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
#Fix missing libintl static dependency
|
||||
if("nls" IN_LIST FEATURES AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl" IGNORE_UNCHANGED)
|
||||
endif()
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl" IGNORE_UNCHANGED)
|
||||
endif()
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
# Fix paths in debug pc file.
|
||||
set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontconfig.pc")
|
||||
if(EXISTS "${_file}")
|
||||
file(READ "${_file}" _contents)
|
||||
string(REPLACE "/etc" "/../etc" _contents "${_contents}")
|
||||
string(REPLACE "/var" "/../var" _contents "${_contents}")
|
||||
file(WRITE "${_file}" "${_contents}")
|
||||
endif()
|
||||
|
||||
# Make path to cache in fonts.conf relative
|
||||
set(_file "${CURRENT_PACKAGES_DIR}/etc/fonts/fonts.conf")
|
||||
if(EXISTS "${_file}")
|
||||
vcpkg_replace_string("${_file}" "${CURRENT_PACKAGES_DIR}/var/cache/fontconfig" "./../../var/cache/fontconfig" IGNORE_UNCHANGED)
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/var"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/etc")
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(DEFINE_FC_PUBLIC "#define FcPublic __declspec(dllimport)")
|
||||
else()
|
||||
set(DEFINE_FC_PUBLIC "#define FcPublic __attribute__((visibility(\"default\")))")
|
||||
endif()
|
||||
foreach(HEADER IN ITEMS fcfreetype.h fontconfig.h)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER}"
|
||||
"#define FcPublic"
|
||||
"${DEFINE_FC_PUBLIC}"
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if("tools" IN_LIST FEATURES)
|
||||
vcpkg_copy_tools(
|
||||
TOOL_NAMES fc-match fc-cat fc-list fc-pattern fc-query fc-scan fc-cache fc-validate fc-conflist
|
||||
AUTO_CLEAN
|
||||
)
|
||||
endif()
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
|
9
Meta/CMake/vcpkg/overlay-ports/fontconfig/usage
Normal file
9
Meta/CMake/vcpkg/overlay-ports/fontconfig/usage
Normal file
|
@ -0,0 +1,9 @@
|
|||
fontconfig is compatible with built-in CMake targets:
|
||||
|
||||
find_package(Fontconfig REQUIRED) # since CMake 3.14
|
||||
target_link_libraries(main PRIVATE Fontconfig::Fontconfig)
|
||||
|
||||
fontconfig provides pkg-config modules:
|
||||
|
||||
# Font configuration and customization library
|
||||
fontconfig
|
|
@ -0,0 +1,51 @@
|
|||
_find_package(${ARGS})
|
||||
if(Fontconfig_FOUND) # theoretically this could be skipped. If the wrapper is installed it should be found!
|
||||
if(NOT TARGET Fontconfig::Fontconfig)
|
||||
# Simplify wrapper for case of vendored FindFontconfig.cmake
|
||||
add_library(Fontconfig::Fontconfig UNKNOWN IMPORTED)
|
||||
endif()
|
||||
include(SelectLibraryConfigurations)
|
||||
find_library(Fontconfig_LIBRARY_DEBUG NAMES fontconfig fontconfigd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH)
|
||||
find_library(Fontconfig_LIBRARY_RELEASE NAMES fontconfig NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH)
|
||||
select_library_configurations(Fontconfig)
|
||||
set_target_properties(Fontconfig::Fontconfig PROPERTIES
|
||||
IMPORTED_CONFIGURATIONS "Release"
|
||||
IMPORTED_LOCATION_RELEASE "${Fontconfig_LIBRARY_RELEASE}"
|
||||
)
|
||||
if(Fontconfig_LIBRARY_DEBUG)
|
||||
set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug")
|
||||
set_target_properties(Fontconfig::Fontconfig PROPERTIES IMPORTED_LOCATION_DEBUG "${Fontconfig_LIBRARY_DEBUG}")
|
||||
endif()
|
||||
find_package(Freetype)
|
||||
if(Freetype_FOUND)
|
||||
list(APPEND Fontconfig_LIBRARIES "${FREETYPE_LIBRARIES}")
|
||||
if(TARGET Freetype::Freetype)
|
||||
set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Freetype::Freetype>")
|
||||
else()
|
||||
# TODO link FREETYPE_LIBRARIES transformed for $<CONFIG:...>.
|
||||
endif()
|
||||
endif()
|
||||
find_package(EXPAT)
|
||||
if(EXPAT_FOUND)
|
||||
list(APPEND Fontconfig_LIBRARIES "${EXPAT_LIBRARIES}")
|
||||
if(TARGET EXPAT::EXPAT)
|
||||
set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:EXPAT::EXPAT>")
|
||||
else()
|
||||
# TODO link EXPAT_LIBRARIES transformed for $<CONFIG:...>.
|
||||
endif()
|
||||
endif()
|
||||
if("@VCPKG_TARGET_IS_LINUX@")
|
||||
find_library(UUID_LIBRARY_DEBUG NAMES uuid uuidd uuid_d NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH)
|
||||
find_library(UUID_LIBRARY_RELEASE NAMES uuid NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH)
|
||||
select_library_configurations(UUID)
|
||||
if(UUID_LIBRARIES)
|
||||
list(APPEND Fontconfig_LIBRARIES "${UUID_LIBRARIES}")
|
||||
if(UUID_LIBRARY_DEBUG)
|
||||
set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$<$<NOT:$<CONFIG:DEBUG>>:${UUID_LIBRARY_RELEASE}>")
|
||||
set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$<$<CONFIG:DEBUG>:${UUID_LIBRARY_DEBUG}>")
|
||||
else()
|
||||
set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${UUID_LIBRARY_RELEASE}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
60
Meta/CMake/vcpkg/overlay-ports/fontconfig/vcpkg.json
Normal file
60
Meta/CMake/vcpkg/overlay-ports/fontconfig/vcpkg.json
Normal file
|
@ -0,0 +1,60 @@
|
|||
{
|
||||
"name": "fontconfig",
|
||||
"version": "2.15.0",
|
||||
"port-version": 2,
|
||||
"description": "Library for configuring and customizing font access.",
|
||||
"homepage": "https://www.freedesktop.org/wiki/Software/fontconfig",
|
||||
"license": "MIT",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
"dirent",
|
||||
"expat",
|
||||
{
|
||||
"name": "freetype",
|
||||
"default-features": false
|
||||
},
|
||||
{
|
||||
"name": "gperf",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "libiconv",
|
||||
"platform": "!windows"
|
||||
},
|
||||
{
|
||||
"name": "libuuid",
|
||||
"platform": "!osx & !windows"
|
||||
},
|
||||
{
|
||||
"name": "pthread",
|
||||
"platform": "!emscripten & !windows"
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-tool-meson",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"nls": {
|
||||
"description": "Native languages support",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "gettext",
|
||||
"host": true,
|
||||
"default-features": false,
|
||||
"features": [
|
||||
"tools"
|
||||
]
|
||||
},
|
||||
"gettext-libintl"
|
||||
]
|
||||
},
|
||||
"tools": {
|
||||
"description": "Build tools",
|
||||
"supports": "!emscripten",
|
||||
"dependencies": [
|
||||
"getopt"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
65
Meta/CMake/vcpkg/overlay-ports/freetype/0003-Fix-UWP.patch
Normal file
65
Meta/CMake/vcpkg/overlay-ports/freetype/0003-Fix-UWP.patch
Normal file
|
@ -0,0 +1,65 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index db48e9f..5c35276 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -328,6 +328,10 @@ else ()
|
||||
list(APPEND BASE_SRCS src/base/ftdebug.c)
|
||||
endif ()
|
||||
|
||||
+if(MSVC)
|
||||
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
|
||||
+endif()
|
||||
+
|
||||
if (BUILD_FRAMEWORK)
|
||||
list(APPEND BASE_SRCS builds/mac/freetype-Info.plist)
|
||||
endif ()
|
||||
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
|
||||
index 4f2eaca..1e01fe4 100644
|
||||
--- a/include/freetype/freetype.h
|
||||
+++ b/include/freetype/freetype.h
|
||||
@@ -1038,6 +1038,11 @@ FT_BEGIN_HEADER
|
||||
* Especially for TrueType fonts see also the documentation for
|
||||
* @FT_Size_Metrics.
|
||||
*/
|
||||
+
|
||||
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
|
||||
+#define generic GenericFromFreeTypeLibrary
|
||||
+#endif
|
||||
+
|
||||
typedef struct FT_FaceRec_
|
||||
{
|
||||
FT_Long num_faces;
|
||||
@@ -1910,6 +1915,9 @@ FT_BEGIN_HEADER
|
||||
|
||||
} FT_GlyphSlotRec;
|
||||
|
||||
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
|
||||
+#undef generic
|
||||
+#endif
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
|
||||
index 3f8619d..edf03b6 100644
|
||||
--- a/src/base/ftobjs.c
|
||||
+++ b/src/base/ftobjs.c
|
||||
@@ -528,6 +528,9 @@
|
||||
return error;
|
||||
}
|
||||
|
||||
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
|
||||
+#define generic GenericFromFreeTypeLibrary
|
||||
+#endif
|
||||
|
||||
static void
|
||||
ft_glyphslot_clear( FT_GlyphSlot slot )
|
||||
@@ -1195,6 +1198,9 @@
|
||||
FT_FREE( face );
|
||||
}
|
||||
|
||||
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
|
||||
+#undef generic
|
||||
+#endif
|
||||
|
||||
static void
|
||||
Destroy_Driver( FT_Driver driver )
|
21
Meta/CMake/vcpkg/overlay-ports/freetype/brotli-static.patch
Normal file
21
Meta/CMake/vcpkg/overlay-ports/freetype/brotli-static.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
diff --git a/builds/cmake/FindBrotliDec.cmake b/builds/cmake/FindBrotliDec.cmake
|
||||
index 46356b1fd..ed4cc2409 100644
|
||||
--- a/builds/cmake/FindBrotliDec.cmake
|
||||
+++ b/builds/cmake/FindBrotliDec.cmake
|
||||
@@ -35,10 +35,15 @@ find_path(BROTLIDEC_INCLUDE_DIRS
|
||||
PATH_SUFFIXES brotli)
|
||||
|
||||
find_library(BROTLIDEC_LIBRARIES
|
||||
- NAMES brotlidec
|
||||
+ NAMES brotlidec brotlidec-static NAMES_PER_DIR
|
||||
HINTS ${PC_BROTLIDEC_LIBDIR}
|
||||
${PC_BROTLIDEC_LIBRARY_DIRS})
|
||||
|
||||
+ find_library(BROTLICOMMON_LIBRARIES
|
||||
+ NAMES brotlicommon-static brotlicommon NAMES_PER_DIR
|
||||
+ HINTS ${PC_BROTLIDEC_LIBDIR}
|
||||
+ ${PC_BROTLIDEC_LIBRARY_DIRS})
|
||||
+ set(BROTLIDEC_LIBRARIES "${BROTLIDEC_LIBRARIES};${BROTLICOMMON_LIBRARIES}")
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
13
Meta/CMake/vcpkg/overlay-ports/freetype/bzip2.patch
Normal file
13
Meta/CMake/vcpkg/overlay-ports/freetype/bzip2.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 469a141a2..eec19c7d0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -517,7 +517,7 @@ if (BZIP2_FOUND)
|
||||
if (PC_BZIP2_FOUND)
|
||||
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2")
|
||||
else ()
|
||||
- list(APPEND PKGCONFIG_LIBS_PRIVATE "-lbz2")
|
||||
+ list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2")
|
||||
endif ()
|
||||
endif ()
|
||||
if (PNG_FOUND)
|
40
Meta/CMake/vcpkg/overlay-ports/freetype/fix-exports.patch
Normal file
40
Meta/CMake/vcpkg/overlay-ports/freetype/fix-exports.patch
Normal file
|
@ -0,0 +1,40 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index cb1b9a0f2..edca5d579 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -508,7 +508,6 @@ set(PKG_CONFIG_REQUIRED_PRIVATE "")
|
||||
set(PKGCONFIG_LIBS_PRIVATE "")
|
||||
|
||||
if (ZLIB_FOUND)
|
||||
- target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES})
|
||||
+ target_link_libraries(freetype PRIVATE ZLIB::ZLIB)
|
||||
- target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "zlib")
|
||||
endif ()
|
||||
@@ -596,12 +596,25 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
|
||||
install(
|
||||
EXPORT freetype-targets
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
|
||||
- FILE freetype-config.cmake
|
||||
COMPONENT headers)
|
||||
install(
|
||||
FILES ${PROJECT_BINARY_DIR}/freetype-config-version.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
|
||||
COMPONENT headers)
|
||||
+
|
||||
+ if(ZLIB_FOUND AND BUILD_SHARED_LIBS)
|
||||
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake"
|
||||
+[[include(CMakeFindDependencyMacro)
|
||||
+find_dependency(ZLIB)
|
||||
+include("${CMAKE_CURRENT_LIST_DIR}/freetype-targets.cmake")
|
||||
+]])
|
||||
+ else()
|
||||
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake"
|
||||
+[[include("${CMAKE_CURRENT_LIST_DIR}/freetype-targets.cmake")
|
||||
+]])
|
||||
+ endif()
|
||||
+
|
||||
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype)
|
||||
endif ()
|
||||
|
||||
|
98
Meta/CMake/vcpkg/overlay-ports/freetype/portfile.cmake
Normal file
98
Meta/CMake/vcpkg/overlay-ports/freetype/portfile.cmake
Normal file
|
@ -0,0 +1,98 @@
|
|||
if("subpixel-rendering" IN_LIST FEATURES)
|
||||
set(SUBPIXEL_RENDERING_PATCH "subpixel-rendering.patch")
|
||||
endif()
|
||||
|
||||
string(REPLACE "." "-" VERSION_HYPHEN "${VERSION}")
|
||||
|
||||
vcpkg_from_gitlab(
|
||||
GITLAB_URL https://gitlab.com/
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO freetype/freetype
|
||||
REF "VER-${VERSION_HYPHEN}"
|
||||
SHA512 fccfaa15eb79a105981bf634df34ac9ddf1c53550ec0b334903a1b21f9f8bf5eb2b3f9476e554afa112a0fca58ec85ab212d674dfd853670efec876bacbe8a53
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
0003-Fix-UWP.patch
|
||||
brotli-static.patch
|
||||
bzip2.patch
|
||||
fix-exports.patch
|
||||
${SUBPIXEL_RENDERING_PATCH}
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
zlib FT_REQUIRE_ZLIB
|
||||
bzip2 FT_REQUIRE_BZIP2
|
||||
error-strings FT_ENABLE_ERROR_STRINGS
|
||||
png FT_REQUIRE_PNG
|
||||
brotli FT_REQUIRE_BROTLI
|
||||
INVERTED_FEATURES
|
||||
zlib FT_DISABLE_ZLIB
|
||||
bzip2 FT_DISABLE_BZIP2
|
||||
png FT_DISABLE_PNG
|
||||
brotli FT_DISABLE_BROTLI
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DFT_DISABLE_HARFBUZZ=ON
|
||||
${FEATURE_OPTIONS}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/freetype)
|
||||
|
||||
# Rename for easy usage (VS integration; CMake and autotools will not care)
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/include/freetype2/freetype" "${CURRENT_PACKAGES_DIR}/include/freetype")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/include/freetype2/ft2build.h" "${CURRENT_PACKAGES_DIR}/include/ft2build.h")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/freetype2")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
# Fix the include dir [freetype2 -> freetype]
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/share/freetype/freetype-targets.cmake" CONFIG_MODULE)
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/include/freetype2" "\${_IMPORT_PREFIX}/include" CONFIG_MODULE "${CONFIG_MODULE}")
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlicommon-static.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlicommon-static.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlicommon-static.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec-static.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlidec-static.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlidec-static.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlidec.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlidec.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
|
||||
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlidec.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlidec.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
|
||||
file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-targets.cmake "${CONFIG_MODULE}")
|
||||
|
||||
find_library(FREETYPE_DEBUG NAMES freetyped PATHS "${CURRENT_PACKAGES_DIR}/debug/lib/" NO_DEFAULT_PATH)
|
||||
if(NOT VCPKG_BUILD_TYPE)
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freetype2.pc" _contents)
|
||||
if(FREETYPE_DEBUG)
|
||||
string(REPLACE "-lfreetype" "-lfreetyped" _contents "${_contents}")
|
||||
endif()
|
||||
string(REPLACE "-I\${includedir}/freetype2" "-I\${includedir}" _contents "${_contents}")
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freetype2.pc" "${_contents}")
|
||||
endif()
|
||||
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freetype2.pc" _contents)
|
||||
string(REPLACE "-I\${includedir}/freetype2" "-I\${includedir}" _contents "${_contents}")
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freetype2.pc" "${_contents}")
|
||||
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(dll_linkage 1)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
set(dll_linkage 0)
|
||||
endif()
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/freetype/config/public-macros.h" "#elif defined( DLL_IMPORT )" "#elif ${dll_linkage}")
|
||||
endif()
|
||||
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake"
|
||||
"${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
vcpkg_install_copyright(
|
||||
FILE_LIST
|
||||
"${SOURCE_PATH}/LICENSE.TXT"
|
||||
"${SOURCE_PATH}/docs/FTL.TXT"
|
||||
"${SOURCE_PATH}/docs/GPLv2.TXT"
|
||||
)
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
|
||||
index 1976b33af959..b3425e55feec 100644
|
||||
--- a/include/freetype/config/ftoption.h
|
||||
+++ b/include/freetype/config/ftoption.h
|
||||
@@ -123,7 +123,7 @@ FT_BEGIN_HEADER
|
||||
* When this macro is not defined, FreeType offers alternative LCD
|
||||
* rendering technology that produces excellent output.
|
||||
*/
|
||||
-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
|
||||
+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
|
||||
|
||||
|
||||
/**************************************************************************
|
4
Meta/CMake/vcpkg/overlay-ports/freetype/usage
Normal file
4
Meta/CMake/vcpkg/overlay-ports/freetype/usage
Normal file
|
@ -0,0 +1,4 @@
|
|||
freetype is compatible with built-in CMake targets:
|
||||
|
||||
find_package(Freetype REQUIRED)
|
||||
target_link_libraries(main PRIVATE Freetype::Freetype) # since CMake 3.10
|
|
@ -0,0 +1,95 @@
|
|||
cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0012 NEW)
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
list(REMOVE_ITEM ARGS "NO_MODULE" "CONFIG" "MODULE")
|
||||
_find_package(${ARGS} CONFIG)
|
||||
|
||||
if(Freetype_FOUND)
|
||||
include("${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake")
|
||||
|
||||
get_target_property(_freetype_include_dirs freetype INTERFACE_INCLUDE_DIRECTORIES)
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
||||
get_target_property(_freetype_location_debug freetype IMPORTED_IMPLIB_DEBUG)
|
||||
get_target_property(_freetype_location_release freetype IMPORTED_IMPLIB_RELEASE)
|
||||
endif()
|
||||
if(NOT _freetype_location_debug AND NOT _freetype_location_release)
|
||||
get_target_property(_freetype_location_debug freetype IMPORTED_LOCATION_DEBUG)
|
||||
get_target_property(_freetype_location_release freetype IMPORTED_LOCATION_RELEASE)
|
||||
endif()
|
||||
|
||||
set(FREETYPE_FOUND TRUE)
|
||||
|
||||
set(FREETYPE_INCLUDE_DIRS "${_freetype_include_dirs}")
|
||||
set(FREETYPE_INCLUDE_DIR_ft2build "${_freetype_include_dirs}")
|
||||
set(FREETYPE_INCLUDE_DIR_freetype2 "${_freetype_include_dirs}")
|
||||
set(FREETYPE_LIBRARY_DEBUG "${_freetype_location_debug}" CACHE INTERNAL "vcpkg")
|
||||
set(FREETYPE_LIBRARY_RELEASE "${_freetype_location_release}" CACHE INTERNAL "vcpkg")
|
||||
select_library_configurations(FREETYPE)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
set(FREETYPE_VERSION_STRING "${Freetype_VERSION}")
|
||||
|
||||
unset(_freetype_include_dirs)
|
||||
unset(_freetype_location_debug)
|
||||
unset(_freetype_location_release)
|
||||
endif()
|
||||
|
||||
if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
|
||||
if("@FT_REQUIRE_ZLIB@")
|
||||
find_package(ZLIB)
|
||||
endif()
|
||||
if("@FT_REQUIRE_BZIP2@")
|
||||
find_package(BZip2)
|
||||
endif()
|
||||
if("@FT_REQUIRE_PNG@")
|
||||
find_package(PNG)
|
||||
endif()
|
||||
if("@FT_REQUIRE_BROTLI@")
|
||||
find_library(BROTLIDEC_LIBRARY_RELEASE NAMES brotlidec brotlidec-static PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
find_library(BROTLIDEC_LIBRARY_DEBUG NAMES brotlidec brotlidec-static brotlidecd brotlidec-staticd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
find_library(BROTLICOMMON_LIBRARY_RELEASE NAMES brotlicommon brotlicommon-static PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
find_library(BROTLICOMMON_LIBRARY_DEBUG NAMES brotlicommon brotlicommon-static brotlicommond brotlicommon-staticd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH)
|
||||
include(SelectLibraryConfigurations)
|
||||
select_library_configurations(BROTLIDEC)
|
||||
select_library_configurations(BROTLICOMMON)
|
||||
endif("@FT_REQUIRE_BROTLI@")
|
||||
|
||||
if(TARGET Freetype::Freetype)
|
||||
if("@FT_REQUIRE_ZLIB@")
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
||||
endif()
|
||||
if("@FT_REQUIRE_BZIP2@")
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES BZip2::BZip2)
|
||||
endif()
|
||||
if("@FT_REQUIRE_PNG@")
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES PNG::PNG)
|
||||
endif()
|
||||
if("@FT_REQUIRE_BROTLI@")
|
||||
if(BROTLIDEC_LIBRARY_DEBUG)
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$<CONFIG:DEBUG>:${BROTLIDEC_LIBRARY_DEBUG}>")
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$<CONFIG:DEBUG>:${BROTLICOMMON_LIBRARY_DEBUG}>")
|
||||
endif()
|
||||
if(BROTLIDEC_LIBRARY_RELEASE)
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$<NOT:$<CONFIG:DEBUG>>:${BROTLIDEC_LIBRARY_RELEASE}>")
|
||||
set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$<NOT:$<CONFIG:DEBUG>>:${BROTLICOMMON_LIBRARY_RELEASE}>")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(FREETYPE_LIBRARIES)
|
||||
if("@FT_REQUIRE_ZLIB@")
|
||||
list(APPEND FREETYPE_LIBRARIES ${ZLIB_LIBRARIES})
|
||||
endif()
|
||||
if("@FT_REQUIRE_BZIP2@")
|
||||
list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES})
|
||||
endif()
|
||||
if("@FT_REQUIRE_PNG@")
|
||||
list(APPEND FREETYPE_LIBRARIES ${PNG_LIBRARIES})
|
||||
endif()
|
||||
if("@FT_REQUIRE_BROTLI@")
|
||||
list(APPEND FREETYPE_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
cmake_policy(POP)
|
55
Meta/CMake/vcpkg/overlay-ports/freetype/vcpkg.json
Normal file
55
Meta/CMake/vcpkg/overlay-ports/freetype/vcpkg.json
Normal file
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"name": "freetype",
|
||||
"version": "2.13.3",
|
||||
"description": "A library to render fonts.",
|
||||
"homepage": "https://www.freetype.org/",
|
||||
"license": "FTL OR GPL-2.0-or-later",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"default-features": [
|
||||
"brotli",
|
||||
"bzip2",
|
||||
"png",
|
||||
"zlib"
|
||||
],
|
||||
"features": {
|
||||
"brotli": {
|
||||
"description": "Support decompression of WOFF2 streams",
|
||||
"dependencies": [
|
||||
"brotli"
|
||||
]
|
||||
},
|
||||
"bzip2": {
|
||||
"description": "Support bzip2 compressed fonts.",
|
||||
"dependencies": [
|
||||
"bzip2"
|
||||
]
|
||||
},
|
||||
"error-strings": {
|
||||
"description": "Enable support for meaningful error descriptions."
|
||||
},
|
||||
"png": {
|
||||
"description": "Support PNG compressed OpenType embedded bitmaps.",
|
||||
"dependencies": [
|
||||
"libpng"
|
||||
]
|
||||
},
|
||||
"subpixel-rendering": {
|
||||
"description": "Enables subpixel rendering."
|
||||
},
|
||||
"zlib": {
|
||||
"description": "Use zlib instead of internal library for DEFLATE",
|
||||
"dependencies": [
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue