vcpkg/ports/libass/CMakeLists.txt
Stefano Sinigardi f1e7a3f167
[opencv4] update to v4.3 (#11130)
* [opencv4] draft update to v4.3

* restore uwp patch

* fix qt and ipp features

* fix libepoxy and meson on osx

* fix baseline, trigger a full rebuild due to meson tool changes

* remove jpeg feature on windows due to a bug with MSVC

* minor fixes for some features

* ffmpeg x11 lib not required anymore on apple for downstream projects

* small fixes for ogre and qt5

* remove a broken module

* fix installation path

* fix openexr which was broken and regressed opencv downstream projects

* first round of ci passes

* improve compatibility with android toolchain

* [openexr] upgrade to v2.5.0 to fix regressions, might require fixes in dependent projects and might deserve its own PR

* fix OpenEXR link for downstream projects

* do not install unrequested features

* fix compatibility with newer OpenEXR

* [OpenCV3] update to v3.4.10

* fix openexr on windows, was creating symlinks that broke vcpkg

* fix openexr wrapper

* [openexr] cmake config files are installed into a lowered-case folder

* remove mangled paths trying to fix android setup

* disable dnn on android, fix mangled cmake config paths again

* fix downstream CUDA dependency

* fix compatibility with vs16.6

* remove from baseline ports now passing tests

* [alembic] fixes for new openexr

* fix baseline

* [field3d] fixes for new openexr

* [field3d] improve fixes, windows still unsupported despite what is said upstream

* apply fixes required from review

* add missing field3d patch

* [field3d] disable mpi integration

* [opencv2] remove cublas integration

* [vtk] do not create libharu::libharu target if already existing

* Update ports/opencv4/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* Update ports/opencv3/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* improve compatibility with newer CUDNN

* [OpenCV3, OpenCV4] improve compatibility with CUDA 11

* [OpenCV2] improve compatibility with CUDA 11

* [field3d] regenerate patch ignoring space at eol

* [vcpkg] Use SSH keys instead of password authentication when minting Linux scale sets (#11999)

* [field3d] regenerate patch ignoring space at eol

* [field3d] regenerate patch, again

* [field3d] fixes for windows

* [libass] fix regression

* ci.baseline.txt update

* [CUDA11] use FindCUDA from CMake 3.18 to ease transition later

* re-bump vtk and ffmpeg, which were lost with merges from master

* [OpenCV4] Halide feature is not broken anymore

* [field3d] regenerate hdf5 patch

* [OpenCV4] remove GTK features: it can be built only on *nix but GTK on vcpkg cannot be built on *nix systems...

* merge ci.baseline.txt from master and fix field3d patch

* remove rebuilding

* restore vtk CONTROL file

* update CONTROL files

* Trigger rebuild

* Update ports/freeimage/CONTROL

* Update ports/freeimage/CONTROL

* [opencv3/4] avoid tesseract dependency on uwp builds

* [opencv] add missing module search

Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
2020-07-27 17:43:23 -07:00

76 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.9)
project(libass C CXX)
set(LIBASS_VERSION 0.14.0)
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
if(WIN32)
add_compile_definitions(CONFIG_DIRECTWRITE)
elseif(APPLE)
add_compile_definitions(CONFIG_CORETEXT)
else()
add_compile_definitions(CONFIG_FONTCONFIG)
endif()
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)
if(WIN32)
list(FILTER SOURCES EXCLUDE REGEX ".*ass_coretext.c$")
list(FILTER SOURCES EXCLUDE REGEX ".*ass_fontconfig.c$")
elseif(APPLE)
list(FILTER SOURCES EXCLUDE REGEX ".*ass_directwrite.c$")
list(FILTER SOURCES EXCLUDE REGEX ".*ass_fontconfig.c$")
else()
list(FILTER SOURCES EXCLUDE REGEX ".*ass_coretext.c$")
list(FILTER SOURCES EXCLUDE REGEX ".*ass_directwrite.c$")
endif()
find_package(Freetype REQUIRED)
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 ${SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/libass.def)
target_include_directories(ass PRIVATE
${FRIBIDI_INCLUDE_DIR}
${HARFBUZZ_INCLUDE_DIR})
target_link_libraries(ass PRIVATE
Freetype::Freetype
${FRIBIDI_LIBRARY}
${HARFBUZZ_LIBRARY})
install(TARGETS ass
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
# pkgconfig file
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
set(includedir ${CMAKE_INSTALL_PREFIX}/include)
set(PACKAGE_VERSION ${LIBASS_VERSION})
set(PKG_REQUIRES_PRIVATE "harfbuzz >= 0.9.5, fribidi >= 0.19.0, freetype2 >= 9.10.3")
set(PKG_LIBS_PRIVATE -lm)
configure_file(libass.pc.in libass.pc @ONLY)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/libass.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)