diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-07-03 08:08:02 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-07-03 08:08:02 +0300 |
commit | 249a49dd09165b4ada47ef8c91336606dc06fc32 (patch) | |
tree | 1c4a4ef761a374430d2e4781c3c71b44bfd5ee68 /Depends.cmake | |
parent | f8c1735fe857b68569bfc9c2db00fe62a56b7fcf (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.cmake | 22 |
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 () |
4 | endif () | 4 | endif () |
5 | 5 | ||
6 | if (ENABLE_HARFBUZZ AND EXISTS ${CMAKE_SOURCE_DIR}/lib/harfbuzz) | 6 | if (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) |
16 | endif () | 17 | endif () |
17 | 18 | ||
19 | if (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) | ||
36 | endif () | ||
37 | |||
18 | if (NOT EXISTS ${CMAKE_SOURCE_DIR}/lib/the_Foundation/CMakeLists.txt) | 38 | if (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) |