summaryrefslogtreecommitdiff
path: root/Depends.cmake
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-07-03 08:08:02 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-07-03 08:08:02 +0300
commit249a49dd09165b4ada47ef8c91336606dc06fc32 (patch)
tree1c4a4ef761a374430d2e4781c3c71b44bfd5ee68 /Depends.cmake
parentf8c1735fe857b68569bfc9c2db00fe62a56b7fcf (diff)
FriBidi: Build submodule with Meson
Generally would be preferable to use FriBidi as a system-provided package, but as a fallback it must be buildable. Should still add an autotools build option in case meson is not available.
Diffstat (limited to 'Depends.cmake')
-rw-r--r--Depends.cmake22
1 files changed, 21 insertions, 1 deletions
diff --git a/Depends.cmake b/Depends.cmake
index f543f576..002022ed 100644
--- a/Depends.cmake
+++ b/Depends.cmake
@@ -3,7 +3,7 @@ if (IOS)
3 return () 3 return ()
4endif () 4endif ()
5 5
6if (ENABLE_HARFBUZZ AND EXISTS ${CMAKE_SOURCE_DIR}/lib/harfbuzz) 6if (ENABLE_HARFBUZZ AND EXISTS ${CMAKE_SOURCE_DIR}/lib/harfbuzz/CMakeLists.txt)
7 # Build HarfBuzz with minimal dependencies. 7 # Build HarfBuzz with minimal dependencies.
8 set (HB_BUILD_SUBSET OFF CACHE BOOL "" FORCE) 8 set (HB_BUILD_SUBSET OFF CACHE BOOL "" FORCE)
9 set (HB_HAVE_CORETEXT OFF CACHE BOOL "" FORCE) 9 set (HB_HAVE_CORETEXT OFF CACHE BOOL "" FORCE)
@@ -11,10 +11,30 @@ if (ENABLE_HARFBUZZ AND EXISTS ${CMAKE_SOURCE_DIR}/lib/harfbuzz)
11 set (HB_HAVE_GLIB OFF CACHE BOOL "" FORCE) 11 set (HB_HAVE_GLIB OFF CACHE BOOL "" FORCE)
12 set (HB_HAVE_GOBJECT OFF CACHE BOOL "" FORCE) 12 set (HB_HAVE_GOBJECT OFF CACHE BOOL "" FORCE)
13 set (HB_HAVE_ICU OFF CACHE BOOL "" FORCE) 13 set (HB_HAVE_ICU OFF CACHE BOOL "" FORCE)
14 cmake_policy (SET CMP0075 NEW)
14 add_subdirectory (${CMAKE_SOURCE_DIR}/lib/harfbuzz) 15 add_subdirectory (${CMAKE_SOURCE_DIR}/lib/harfbuzz)
15 set (HARFBUZZ_FOUND YES) 16 set (HARFBUZZ_FOUND YES)
16endif () 17endif ()
17 18
19if (ENABLE_FRIBIDI AND EXISTS ${CMAKE_SOURCE_DIR}/lib/fribidi)
20 # Build FriBidi with Meson.
21 include (ExternalProject)
22 set (_dst ${CMAKE_BINARY_DIR}/lib/fribidi)
23 ExternalProject_Add (fribidi
24 PREFIX ${CMAKE_BINARY_DIR}/fribidi-ext
25 SOURCE_DIR ${CMAKE_SOURCE_DIR}/lib/fribidi
26 CONFIGURE_COMMAND meson ${CMAKE_SOURCE_DIR}/lib/fribidi
27 -Dtests=false -Ddocs=false -Dbin=false
28 --prefix ${_dst}
29 BUILD_COMMAND ninja
30 INSTALL_COMMAND ninja install
31 )
32 add_library (fribidi-lib INTERFACE)
33 target_include_directories (fribidi-lib INTERFACE ${_dst}/include)
34 target_link_libraries (fribidi-lib INTERFACE -L${_dst}/lib fribidi)
35 set (FRIBIDI_FOUND YES)
36endif ()
37
18if (NOT EXISTS ${CMAKE_SOURCE_DIR}/lib/the_Foundation/CMakeLists.txt) 38if (NOT EXISTS ${CMAKE_SOURCE_DIR}/lib/the_Foundation/CMakeLists.txt)
19 set (INSTALL_THE_FOUNDATION YES) 39 set (INSTALL_THE_FOUNDATION YES)
20 find_package (the_Foundation REQUIRED) 40 find_package (the_Foundation REQUIRED)