87b15721a3a039cee3ae39e66971ff4d5f1d0a2f
[platform/upstream/harfbuzz.git] / src / harfbuzz-config.cmake.in
1 # Set these variables so that the `${prefix}/lib` expands to something we can
2 # remove.
3 set(_harfbuzz_remove_string "REMOVE_ME")
4 set(exec_prefix "${_harfbuzz_remove_string}")
5 set(prefix "${_harfbuzz_remove_string}")
6
7 # Compute the installation prefix by stripping components from our current
8 # location.
9 get_filename_component(_harfbuzz_prefix "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY)
10 get_filename_component(_harfbuzz_prefix "${_harfbuzz_prefix}" DIRECTORY)
11 set(_harfbuzz_libdir "@libdir@")
12 string(REPLACE "${_harfbuzz_remove_string}/" "" _harfbuzz_libdir "${_harfbuzz_libdir}")
13 set(_harfbuzz_libdir_iter "${_harfbuzz_libdir}")
14 while (_harfbuzz_libdir_iter)
15   get_filename_component(_harfbuzz_libdir_iter "${_harfbuzz_libdir_iter}" DIRECTORY)
16   get_filename_component(_harfbuzz_prefix "${_harfbuzz_prefix}" DIRECTORY)
17 endwhile ()
18 unset(_harfbuzz_libdir_iter)
19
20 # Get the include subdir.
21 set(_harfbuzz_includedir "@includedir@")
22 string(REPLACE "${_harfbuzz_remove_string}/" "" _harfbuzz_includedir "${_harfbuzz_includedir}")
23
24 # Extract version information from libtool.
25 set(_harfbuzz_version_info "@HB_LIBTOOL_VERSION_INFO@")
26 string(REPLACE ":" ";" _harfbuzz_version_info "${_harfbuzz_version_info}")
27 list(GET _harfbuzz_version_info 0
28   _harfbuzz_current)
29 list(GET _harfbuzz_version_info 1
30   _harfbuzz_revision)
31 list(GET _harfbuzz_version_info 2
32   _harfbuzz_age)
33 unset(_harfbuzz_version_info)
34
35 if (APPLE)
36   set(_harfbuzz_lib_suffix ".0${CMAKE_SHARED_LIBRARY_SUFFIX}")
37 elseif (UNIX)
38   set(_harfbuzz_lib_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}.0.${_harfbuzz_current}.${_harfbuzz_revision}")
39 else ()
40   # Unsupported.
41   set(harfbuzz_FOUND 0)
42 endif ()
43
44 # Add the libraries.
45 add_library(harfbuzz::harfbuzz SHARED IMPORTED)
46 set_target_properties(harfbuzz::harfbuzz PROPERTIES
47   INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz"
48   IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz${_harfbuzz_lib_suffix}")
49
50 add_library(harfbuzz::icu SHARED IMPORTED)
51 set_target_properties(harfbuzz::icu PROPERTIES
52   INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz"
53   INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
54   IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-icu${_harfbuzz_lib_suffix}")
55
56 add_library(harfbuzz::subset SHARED IMPORTED)
57 set_target_properties(harfbuzz::subset PROPERTIES
58   INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz"
59   INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
60   IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-subset${_harfbuzz_lib_suffix}")
61
62 # Only add the gobject library if it was built.
63 set(_harfbuzz_have_gobject "@have_gobject@")
64 if (_harfbuzz_have_gobject)
65   add_library(harfbuzz::gobject SHARED IMPORTED)
66   set_target_properties(harfbuzz::gobject PROPERTIES
67     INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz"
68     INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
69     IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-gobject${_harfbuzz_lib_suffix}")
70 endif ()
71
72 # Clean out variables we used in our scope.
73 unset(_harfbuzz_lib_suffix)
74 unset(_harfbuzz_current)
75 unset(_harfbuzz_revision)
76 unset(_harfbuzz_age)
77 unset(_harfbuzz_includedir)
78 unset(_harfbuzz_libdir)
79 unset(_harfbuzz_prefix)
80 unset(exec_prefix)
81 unset(prefix)
82 unset(_harfbuzz_remove_string)