Ben Boeckel | d38f37b | 2018-02-23 16:55:53 -0500 | [diff] [blame] | 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) |
Volker Krause | 9e9a36e | 2018-09-27 16:33:49 +0200 | [diff] [blame] | 15 | set(_harfbuzz_libdir_prev_iter "${_harfbuzz_libdir_iter}") |
Ben Boeckel | d38f37b | 2018-02-23 16:55:53 -0500 | [diff] [blame] | 16 | get_filename_component(_harfbuzz_libdir_iter "${_harfbuzz_libdir_iter}" DIRECTORY) |
Volker Krause | 9e9a36e | 2018-09-27 16:33:49 +0200 | [diff] [blame] | 17 | if (_harfbuzz_libdir_prev_iter STREQUAL _harfbuzz_libdir_iter) |
| 18 | break() |
| 19 | endif () |
Ben Boeckel | d38f37b | 2018-02-23 16:55:53 -0500 | [diff] [blame] | 20 | get_filename_component(_harfbuzz_prefix "${_harfbuzz_prefix}" DIRECTORY) |
| 21 | endwhile () |
| 22 | unset(_harfbuzz_libdir_iter) |
| 23 | |
| 24 | # Get the include subdir. |
| 25 | set(_harfbuzz_includedir "@includedir@") |
| 26 | string(REPLACE "${_harfbuzz_remove_string}/" "" _harfbuzz_includedir "${_harfbuzz_includedir}") |
| 27 | |
| 28 | # Extract version information from libtool. |
| 29 | set(_harfbuzz_version_info "@HB_LIBTOOL_VERSION_INFO@") |
| 30 | string(REPLACE ":" ";" _harfbuzz_version_info "${_harfbuzz_version_info}") |
| 31 | list(GET _harfbuzz_version_info 0 |
| 32 | _harfbuzz_current) |
| 33 | list(GET _harfbuzz_version_info 1 |
| 34 | _harfbuzz_revision) |
| 35 | list(GET _harfbuzz_version_info 2 |
| 36 | _harfbuzz_age) |
| 37 | unset(_harfbuzz_version_info) |
| 38 | |
| 39 | if (APPLE) |
| 40 | set(_harfbuzz_lib_suffix ".0${CMAKE_SHARED_LIBRARY_SUFFIX}") |
| 41 | elseif (UNIX) |
| 42 | set(_harfbuzz_lib_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}.0.${_harfbuzz_current}.${_harfbuzz_revision}") |
| 43 | else () |
| 44 | # Unsupported. |
| 45 | set(harfbuzz_FOUND 0) |
| 46 | endif () |
| 47 | |
| 48 | # Add the libraries. |
| 49 | add_library(harfbuzz::harfbuzz SHARED IMPORTED) |
| 50 | set_target_properties(harfbuzz::harfbuzz PROPERTIES |
| 51 | INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
| 52 | IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz${_harfbuzz_lib_suffix}") |
| 53 | |
| 54 | add_library(harfbuzz::icu SHARED IMPORTED) |
| 55 | set_target_properties(harfbuzz::icu PROPERTIES |
| 56 | INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
| 57 | INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz" |
| 58 | IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-icu${_harfbuzz_lib_suffix}") |
| 59 | |
| 60 | add_library(harfbuzz::subset SHARED IMPORTED) |
| 61 | set_target_properties(harfbuzz::subset PROPERTIES |
| 62 | INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
| 63 | INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz" |
| 64 | IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-subset${_harfbuzz_lib_suffix}") |
| 65 | |
| 66 | # Only add the gobject library if it was built. |
| 67 | set(_harfbuzz_have_gobject "@have_gobject@") |
| 68 | if (_harfbuzz_have_gobject) |
| 69 | add_library(harfbuzz::gobject SHARED IMPORTED) |
| 70 | set_target_properties(harfbuzz::gobject PROPERTIES |
| 71 | INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
| 72 | INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz" |
| 73 | IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-gobject${_harfbuzz_lib_suffix}") |
| 74 | endif () |
| 75 | |
| 76 | # Clean out variables we used in our scope. |
| 77 | unset(_harfbuzz_lib_suffix) |
| 78 | unset(_harfbuzz_current) |
| 79 | unset(_harfbuzz_revision) |
| 80 | unset(_harfbuzz_age) |
| 81 | unset(_harfbuzz_includedir) |
| 82 | unset(_harfbuzz_libdir) |
| 83 | unset(_harfbuzz_prefix) |
| 84 | unset(exec_prefix) |
| 85 | unset(prefix) |
| 86 | unset(_harfbuzz_remove_string) |