diff options
| author | SunTY <scarsty@gmail.com> | 2019-01-31 05:41:51 +0800 |
|---|---|---|
| committer | Codiferous <44823842+Codiferous@users.noreply.github.com> | 2019-01-30 13:41:51 -0800 |
| commit | 397e1a5d6c7d6a694650e3455969060005b9a6f7 (patch) | |
| tree | 5974382670e9c3a0adb986308be053d0a2fc484a | |
| parent | 05b31030cee412118a9710daf5b4652a684b7f50 (diff) | |
| download | vcpkg-397e1a5d6c7d6a694650e3455969060005b9a6f7.tar.gz vcpkg-397e1a5d6c7d6a694650e3455969060005b9a6f7.zip | |
libass dynamic library (#5244)
* libass dynamic library
it relies on fribidi, harfbuzz, fontconfig, libiconv
* Remove references to iconv and fontconfig
Because this port is currently Windows-only (Fribidi doesn't build on
Linux with vcpkg because of an issue with Meson), we don't want to worry
about FontConfig; DirectWrite should be enough.
* Freetype is important!
* Remove unnecessary fontconfig -- for real
* Remove unnecessary comment
| -rw-r--r-- | ports/libass/CMakeLists.txt | 19 | ||||
| -rw-r--r-- | ports/libass/libass.def | 46 | ||||
| -rw-r--r-- | ports/libass/portfile.cmake | 4 |
3 files changed, 64 insertions, 5 deletions
diff --git a/ports/libass/CMakeLists.txt b/ports/libass/CMakeLists.txt index 12e32f902..5570f3440 100644 --- a/ports/libass/CMakeLists.txt +++ b/ports/libass/CMakeLists.txt @@ -9,6 +9,9 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) # macOS - CONFIG_CORETEXT
# linux - CONFIG_FONTCONFIG
add_compile_definitions(CONFIG_DIRECTWRITE)
+add_compile_definitions(CONFIG_FREETYPE)
+add_compile_definitions(CONFIG_FRIBIDI)
+add_compile_definitions(CONFIG_HARFBUZZ)
file (GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/libass/*.c)
@@ -21,13 +24,23 @@ find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi.h
PATH_SUFFIXES fribidi)
+find_path(HARFBUZZ_INCLUDE_DIR
+ NAMES hb.h
+ PATH_SUFFIXES harfbuzz)
+
find_library(FRIBIDI_LIBRARY NAMES fribidi)
+find_library(HARFBUZZ_LIBRARY NAMES harfbuzz)
-add_library(ass STATIC ${SOURCES})
+add_library(ass ${SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/libass.def)
-target_include_directories(ass PRIVATE ${FRIBIDI_INCLUDE_DIR})
+target_include_directories(ass PRIVATE
+ ${FRIBIDI_INCLUDE_DIR}
+ ${HARFBUZZ_INCLUDE_DIR})
-target_link_libraries(ass PRIVATE Freetype::Freetype)
+target_link_libraries(ass PRIVATE
+ Freetype::Freetype
+ ${FRIBIDI_LIBRARY}
+ ${HARFBUZZ_LIBRARY})
install(TARGETS ass
RUNTIME DESTINATION bin
diff --git a/ports/libass/libass.def b/ports/libass/libass.def new file mode 100644 index 000000000..58bfad3d6 --- /dev/null +++ b/ports/libass/libass.def @@ -0,0 +1,46 @@ +EXPORTS
+ass_library_init
+ass_library_done
+ass_library_version
+ass_set_fonts_dir
+ass_set_extract_fonts
+ass_set_style_overrides
+ass_renderer_init
+ass_renderer_done
+ass_set_frame_size
+ass_set_storage_size
+ass_set_margins
+ass_set_use_margins
+ass_set_aspect_ratio
+ass_set_font_scale
+ass_set_hinting
+ass_set_line_spacing
+ass_get_available_font_providers
+ass_set_fonts
+ass_render_frame
+ass_new_track
+ass_free_track
+ass_alloc_style
+ass_alloc_event
+ass_free_style
+ass_free_event
+ass_process_data
+ass_process_codec_private
+ass_process_chunk
+ass_read_file
+ass_read_memory
+ass_read_styles
+ass_add_font
+ass_clear_fonts
+ass_step_sub
+ass_process_force_style
+ass_set_message_cb
+ass_fonts_update
+ass_set_cache_limits
+ass_flush_events
+ass_set_shaper
+ass_set_line_position
+ass_set_pixel_aspect
+ass_set_selective_style_override_enabled
+ass_set_selective_style_override
+ass_set_check_readorder
diff --git a/ports/libass/portfile.cmake b/ports/libass/portfile.cmake index 64d49c985..040cadc66 100644 --- a/ports/libass/portfile.cmake +++ b/ports/libass/portfile.cmake @@ -1,8 +1,6 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libass/libass @@ -14,6 +12,8 @@ vcpkg_from_github( file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.in DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/libass.def DESTINATION ${SOURCE_PATH}) + # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libass RENAME copyright) |
