Skip to content

Commit

Permalink
Add libraqm
Browse files Browse the repository at this point in the history
  • Loading branch information
tobbi committed May 29, 2019
1 parent 93ceb1a commit bb111f2
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 0 deletions.
34 changes: 34 additions & 0 deletions ports/libraqm/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
cmake_minimum_required(VERSION 3.11)

project(raqm)

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_MODULE_PATH}")

find_package(Freetype REQUIRED)
find_package(Fribidi REQUIRED)
find_package(harfbuzz CONFIG REQUIRED)

find_path(HARFBUZZ_INCLUDE_DIRS
NAMES hb.h
PATH_SUFFIXES harfbuzz)
find_path(FREETYPE_ADDITIONAL_INCLUDE_DIRS NAMES ft2build.h)
add_library(raqm ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.c ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h)

target_include_directories(raqm SYSTEM PUBLIC ${FREETYPE_ADDITIONAL_INCLUDE_DIRS})
target_include_directories(raqm SYSTEM PUBLIC ${FREETYPE_INCLUDE_DIRS})
target_include_directories(raqm SYSTEM PUBLIC ${HARFBUZZ_INCLUDE_DIRS})
target_include_directories(raqm SYSTEM PUBLIC ${FRIBIDI_INCLUDE_DIR})

target_link_libraries(raqm PRIVATE Freetype::Freetype)
target_link_libraries(raqm PRIVATE harfbuzz::harfbuzz ${FRIBIDI_LIBRARY})

install(TARGETS raqm
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)

set(RAQM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
set(RAQM_LIBRARY raqm)
set(RAQM_LIBRARIES ${HARFBUZZ_LIBRARY} ${FRIBIDI_LIBRARY} ${RAQM_LIBRARY})
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
4 changes: 4 additions & 0 deletions ports/libraqm/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Source: libraqm
Version: 0.6.0
Description: A library for complex text layout
Build-Depends: freetype, harfbuzz, fribidi
12 changes: 12 additions & 0 deletions ports/libraqm/FindFribidi.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
find_path(FRIBIDI_INCLUDE_DIR
NAMES fribidi/fribidi.h)

set(FRIBIDI_INCLUDE_DIR "${FRIBIDI_INCLUDE_DIR}/fribidi")
find_library(FRIBIDI_LIBRARY NAMES fribidi)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FriBidi
FOUND_VAR FRIBIDI_FOUND
REQUIRED_VARS FRIBIDI_LIBRARY FRIBIDI_INCLUDE_DIR
VERSION_VAR FRIBIDI_VERSION_STRING
)
29 changes: 29 additions & 0 deletions ports/libraqm/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO HOST-Oman/libraqm
REF v0.6.0
SHA512 cd223d97b80e9d2cf26a5b68fbb84a87e53df819f12ffd06f84f1786a2207b34828d0888058a40c1d89a1466bb68b75dd326e25415afab029d51e1ed98f6a924
HEAD_REF master)

file(COPY ${CURRENT_PORT_DIR}/FindFribidi.cmake DESTINATION ${SOURCE_PATH})
file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCURRENT_PACKAGES_DIR=${CURRENT_PACKAGES_DIR}
)

vcpkg_install_cmake()

vcpkg_copy_pdbs()

# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libraqm RENAME copyright)

# Post-build test for cmake libraries
vcpkg_test_cmake(PACKAGE_NAME raqm)

0 comments on commit bb111f2

Please sign in to comment.