diff options
| author | Tobias Markus <tobbi.bugs@googlemail.com> | 2019-06-14 19:23:54 +0200 |
|---|---|---|
| committer | Victor Romero <romerosanchezv@gmail.com> | 2019-06-14 10:23:54 -0700 |
| commit | 9a24bd109e3c52be14d381e374f4533059b3c2ef (patch) | |
| tree | 7469debe23eb04c07bb818b1ef2a378710dee333 | |
| parent | b03f62e0ebc1b5515bc8a1f41f3bfe9eca6589d4 (diff) | |
| download | vcpkg-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.cmake | 11 | ||||
| -rw-r--r-- | ports/harfbuzz/portfile.cmake | 2 | ||||
| -rw-r--r-- | ports/libraqm/CMakeLists.txt | 34 | ||||
| -rw-r--r-- | ports/libraqm/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libraqm/FindFribidi.cmake | 12 | ||||
| -rw-r--r-- | ports/libraqm/portfile.cmake | 31 |
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)
|
