aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libraqm
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libraqm
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libraqm')
-rw-r--r--vcpkg/ports/libraqm/CMakeLists.txt38
-rw-r--r--vcpkg/ports/libraqm/FindFribidi.cmake12
-rw-r--r--vcpkg/ports/libraqm/portfile.cmake34
-rw-r--r--vcpkg/ports/libraqm/vcpkg.json12
4 files changed, 96 insertions, 0 deletions
diff --git a/vcpkg/ports/libraqm/CMakeLists.txt b/vcpkg/ports/libraqm/CMakeLists.txt
new file mode 100644
index 0000000..5ae36d9
--- /dev/null
+++ b/vcpkg/ports/libraqm/CMakeLists.txt
@@ -0,0 +1,38 @@
+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 PATH_SUFFIXES freetype2)
+
+configure_file(src/raqm-version.h.in src/raqm-version.h)
+
+add_library(raqm src/raqm.c src/raqm.h src/raqm-version.h)
+
+target_include_directories(raqm PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/src)
+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})
+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h ${CMAKE_CURRENT_BINARY_DIR}/src/raqm-version.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
diff --git a/vcpkg/ports/libraqm/FindFribidi.cmake b/vcpkg/ports/libraqm/FindFribidi.cmake
new file mode 100644
index 0000000..a12bdb6
--- /dev/null
+++ b/vcpkg/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/vcpkg/ports/libraqm/portfile.cmake b/vcpkg/ports/libraqm/portfile.cmake
new file mode 100644
index 0000000..6c28738
--- /dev/null
+++ b/vcpkg/ports/libraqm/portfile.cmake
@@ -0,0 +1,34 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" RAQM_VERSION "${VERSION}")
+set(RAQM_VERSION_MAJOR ${CMAKE_MATCH_1})
+set(RAQM_VERSION_MINOR ${CMAKE_MATCH_2})
+set(RAQM_VERSION_MICRO ${CMAKE_MATCH_3})
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO HOST-Oman/libraqm
+ REF v${RAQM_VERSION_MAJOR}.${RAQM_VERSION_MINOR}.${RAQM_VERSION_MICRO}
+ SHA512 ba0b16ac2240580c3091ff8b673c10345b94c54dff7e102b893855e3d33a1396c681025d3326e53f5ebcde97ceef6ab4dfd9366d0864b422e578d38146692b62
+ HEAD_REF master
+)
+
+file(COPY "${CURRENT_PORT_DIR}/FindFribidi.cmake" DESTINATION "${SOURCE_PATH}")
+file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ -DCURRENT_PACKAGES_DIR=${CURRENT_PACKAGES_DIR}
+ -DRAQM_VERSION_MAJOR=${RAQM_VERSION_MAJOR}
+ -DRAQM_VERSION_MINOR=${RAQM_VERSION_MINOR}
+ -DRAQM_VERSION_MICRO=${RAQM_VERSION_MICRO}
+)
+
+vcpkg_cmake_install()
+
+vcpkg_copy_pdbs()
+
+# Handle copyright
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
+
diff --git a/vcpkg/ports/libraqm/vcpkg.json b/vcpkg/ports/libraqm/vcpkg.json
new file mode 100644
index 0000000..56e54e8
--- /dev/null
+++ b/vcpkg/ports/libraqm/vcpkg.json
@@ -0,0 +1,12 @@
+{
+ "name": "libraqm",
+ "version": "0.10.3",
+ "description": "A library for complex text layout",
+ "homepage": "https://github.com/HOST-Oman/libraqm",
+ "dependencies": [
+ "freetype",
+ "fribidi",
+ "harfbuzz",
+ "vcpkg-cmake"
+ ]
+}