aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Markus <tobbi.bugs@googlemail.com>2019-05-28 15:37:07 +0200
committerTobias Markus <tobbi.bugs@googlemail.com>2019-05-29 11:10:56 +0200
commitbb111f26452058570714075f8cf4c58a53ad1961 (patch)
treeed71cee8996ade38c7067cabd3e470d1d8e27afb
parent93ceb1a9933657d732faedc616bc5d0c85f94df4 (diff)
downloadvcpkg-bb111f26452058570714075f8cf4c58a53ad1961.tar.gz
vcpkg-bb111f26452058570714075f8cf4c58a53ad1961.zip
Add libraqm
-rw-r--r--ports/libraqm/CMakeLists.txt34
-rw-r--r--ports/libraqm/CONTROL4
-rw-r--r--ports/libraqm/FindFribidi.cmake12
-rw-r--r--ports/libraqm/portfile.cmake29
4 files changed, 79 insertions, 0 deletions
diff --git a/ports/libraqm/CMakeLists.txt b/ports/libraqm/CMakeLists.txt
new file mode 100644
index 000000000..18d1a776b
--- /dev/null
+++ b/ports/libraqm/CMakeLists.txt
@@ -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) \ No newline at end of file
diff --git a/ports/libraqm/CONTROL b/ports/libraqm/CONTROL
new file mode 100644
index 000000000..131527a4a
--- /dev/null
+++ b/ports/libraqm/CONTROL
@@ -0,0 +1,4 @@
+Source: libraqm
+Version: 0.6.0
+Description: A library for complex text layout
+Build-Depends: freetype, harfbuzz, fribidi \ No newline at end of file
diff --git a/ports/libraqm/FindFribidi.cmake b/ports/libraqm/FindFribidi.cmake
new file mode 100644
index 000000000..a12bdb60e
--- /dev/null
+++ b/ports/libraqm/FindFribidi.cmake
@@ -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
+) \ No newline at end of file
diff --git a/ports/libraqm/portfile.cmake b/ports/libraqm/portfile.cmake
new file mode 100644
index 000000000..198e4b6eb
--- /dev/null
+++ b/ports/libraqm/portfile.cmake
@@ -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)