aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Markus <tobbi.bugs@googlemail.com>2019-06-14 19:23:54 +0200
committerVictor Romero <romerosanchezv@gmail.com>2019-06-14 10:23:54 -0700
commit9a24bd109e3c52be14d381e374f4533059b3c2ef (patch)
tree7469debe23eb04c07bb818b1ef2a378710dee333
parentb03f62e0ebc1b5515bc8a1f41f3bfe9eca6589d4 (diff)
downloadvcpkg-9a24bd109e3c52be14d381e374f4533059b3c2ef.tar.gz
vcpkg-9a24bd109e3c52be14d381e374f4533059b3c2ef.zip
[libraqm] Add new port (0.6.0) (#6659)
* Add libraqm * [libraqm] Whitespace changes to force rebuild * [harfbuzz] Propagate dependency on glib downstream * [fribidi] Force rebuild on CI * [libraqm] Force CI build
-rw-r--r--ports/fribidi/portfile.cmake11
-rw-r--r--ports/harfbuzz/portfile.cmake2
-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.cmake31
6 files changed, 90 insertions, 4 deletions
diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake
index ec5dc1553..5b45a17b1 100644
--- a/ports/fribidi/portfile.cmake
+++ b/ports/fribidi/portfile.cmake
@@ -5,12 +5,15 @@ vcpkg_from_github(
REPO fribidi/fribidi
REF 58c6cb390a9a18c98b2cbaac555d8ea9352a9e4f
SHA512 1ec9c19faa87886786ce1589e2c66cab173b48e34d0e43487becc8606001f21f6ed17d0abd1c322fbbcaeb96a47ed882cad228be2e9beb019020ca2a475fc298
-HEAD_REF master)
+ HEAD_REF master
+)
-vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH}
+vcpkg_configure_meson(
+ SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-Ddocs=false
- --backend=ninja)
+ --backend=ninja
+)
vcpkg_install_meson()
vcpkg_copy_pdbs()
@@ -28,4 +31,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
endif()
# Handle copyright
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fribidi RENAME copyright) \ No newline at end of file
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fribidi RENAME copyright)
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index 08b20f270..48cfaf1b7 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -17,9 +17,11 @@ vcpkg_from_github(
)
file(READ ${SOURCE_PATH}/CMakeLists.txt _contents)
+
if("${_contents}" MATCHES "include \\(FindFreetype\\)")
message(FATAL_ERROR "Harfbuzz's cmake must not directly include() FindFreetype.")
endif()
+
if("${_contents}" MATCHES "find_library\\(GLIB_LIBRARIES")
message(FATAL_ERROR "Harfbuzz's cmake must not directly find_library() glib.")
endif()
diff --git a/ports/libraqm/CMakeLists.txt b/ports/libraqm/CMakeLists.txt
new file mode 100644
index 000000000..f50153e63
--- /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)
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..067f63dde
--- /dev/null
+++ b/ports/libraqm/portfile.cmake
@@ -0,0 +1,31 @@
+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)