summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindFriBidi.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindFriBidi.cmake')
-rw-r--r--cmake/modules/FindFriBidi.cmake48
1 files changed, 48 insertions, 0 deletions
diff --git a/cmake/modules/FindFriBidi.cmake b/cmake/modules/FindFriBidi.cmake
new file mode 100644
index 0000000..dcaeb48
--- /dev/null
+++ b/cmake/modules/FindFriBidi.cmake
@@ -0,0 +1,48 @@
1#.rst:
2# FindFribidi
3# -----------
4# Finds the GNU FriBidi library
5#
6# This will will define the following variables::
7#
8# FRIBIDI_FOUND - system has FriBidi
9# FRIBIDI_INCLUDE_DIRS - the FriBidi include directory
10# FRIBIDI_LIBRARIES - the FriBidi libraries
11#
12# and the following imported targets::
13#
14# FriBidi::FriBidi - The FriBidi library
15
16if(PKG_CONFIG_FOUND)
17 pkg_check_modules(PC_FRIBIDI fribidi QUIET)
18endif()
19
20find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h
21 PATHS ${PC_FRIBIDI_INCLUDEDIR})
22find_library(FRIBIDI_LIBRARY NAMES fribidi libfribidi
23 PATHS ${PC_FRIBIDI_LIBDIR})
24
25set(FRIBIDI_VERSION ${PC_FRIBIDI_VERSION})
26
27include(FindPackageHandleStandardArgs)
28find_package_handle_standard_args(FriBidi
29 REQUIRED_VARS FRIBIDI_LIBRARY FRIBIDI_INCLUDE_DIR
30 VERSION_VAR FRIBIDI_VERSION)
31
32if(FRIBIDI_FOUND)
33 set(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
34 set(FRIBIDI_INCLUDE_DIRS ${FRIBIDI_INCLUDE_DIR})
35 if(PC_FRIBIDI_CFLAGS)
36 set(FRIBIDI_DEFINITIONS ${PC_FRIBIDI_CFLAGS})
37 endif()
38
39 if(NOT TARGET FriBidi::FriBidi)
40 add_library(FriBidi::FriBidi UNKNOWN IMPORTED)
41 set_target_properties(FriBidi::FriBidi PROPERTIES
42 IMPORTED_LOCATION "${FRIBIDI_LIBRARY}"
43 INTERFACE_INCLUDE_DIRECTORIES "${FRIBIDI_INCLUDE_DIR}"
44 INTERFACE_COMPILE_OPTIONS "${FRIBIDI_DEFINITIONS}")
45 endif()
46endif()
47
48mark_as_advanced(FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY)