parent
0ca3557048
commit
ef2e380342
5 changed files with 101 additions and 1 deletions
@ -0,0 +1,86 @@ |
||||
# Set these variables so that the `${prefix}/lib` expands to something we can |
||||
# remove. |
||||
set(_harfbuzz_remove_string "REMOVE_ME") |
||||
set(exec_prefix "${_harfbuzz_remove_string}") |
||||
set(prefix "${_harfbuzz_remove_string}") |
||||
|
||||
# Compute the installation prefix by stripping components from our current |
||||
# location. |
||||
get_filename_component(_harfbuzz_prefix "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY) |
||||
get_filename_component(_harfbuzz_prefix "${_harfbuzz_prefix}" DIRECTORY) |
||||
set(_harfbuzz_libdir "@libdir@") |
||||
string(REPLACE "${_harfbuzz_remove_string}/" "" _harfbuzz_libdir "${_harfbuzz_libdir}") |
||||
set(_harfbuzz_libdir_iter "${_harfbuzz_libdir}") |
||||
while (_harfbuzz_libdir_iter) |
||||
set(_harfbuzz_libdir_prev_iter "${_harfbuzz_libdir_iter}") |
||||
get_filename_component(_harfbuzz_libdir_iter "${_harfbuzz_libdir_iter}" DIRECTORY) |
||||
if (_harfbuzz_libdir_prev_iter STREQUAL _harfbuzz_libdir_iter) |
||||
break() |
||||
endif () |
||||
get_filename_component(_harfbuzz_prefix "${_harfbuzz_prefix}" DIRECTORY) |
||||
endwhile () |
||||
unset(_harfbuzz_libdir_iter) |
||||
|
||||
# Get the include subdir. |
||||
set(_harfbuzz_includedir "@includedir@") |
||||
string(REPLACE "${_harfbuzz_remove_string}/" "" _harfbuzz_includedir "${_harfbuzz_includedir}") |
||||
|
||||
# Extract version information from libtool. |
||||
set(_harfbuzz_version_info "@HB_LIBTOOL_VERSION_INFO@") |
||||
string(REPLACE ":" ";" _harfbuzz_version_info "${_harfbuzz_version_info}") |
||||
list(GET _harfbuzz_version_info 0 |
||||
_harfbuzz_current) |
||||
list(GET _harfbuzz_version_info 1 |
||||
_harfbuzz_revision) |
||||
list(GET _harfbuzz_version_info 2 |
||||
_harfbuzz_age) |
||||
unset(_harfbuzz_version_info) |
||||
|
||||
if (APPLE) |
||||
set(_harfbuzz_lib_suffix ".0${CMAKE_SHARED_LIBRARY_SUFFIX}") |
||||
elseif (UNIX) |
||||
set(_harfbuzz_lib_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}.0.${_harfbuzz_current}.${_harfbuzz_revision}") |
||||
else () |
||||
# Unsupported. |
||||
set(harfbuzz_FOUND 0) |
||||
endif () |
||||
|
||||
# Add the libraries. |
||||
add_library(harfbuzz::harfbuzz SHARED IMPORTED) |
||||
set_target_properties(harfbuzz::harfbuzz PROPERTIES |
||||
INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
||||
IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz${_harfbuzz_lib_suffix}") |
||||
|
||||
add_library(harfbuzz::icu SHARED IMPORTED) |
||||
set_target_properties(harfbuzz::icu PROPERTIES |
||||
INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
||||
INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz" |
||||
IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-icu${_harfbuzz_lib_suffix}") |
||||
|
||||
add_library(harfbuzz::subset SHARED IMPORTED) |
||||
set_target_properties(harfbuzz::subset PROPERTIES |
||||
INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
||||
INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz" |
||||
IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-subset${_harfbuzz_lib_suffix}") |
||||
|
||||
# Only add the gobject library if it was built. |
||||
set(_harfbuzz_have_gobject "@have_gobject@") |
||||
if (_harfbuzz_have_gobject) |
||||
add_library(harfbuzz::gobject SHARED IMPORTED) |
||||
set_target_properties(harfbuzz::gobject PROPERTIES |
||||
INTERFACE_INCLUDE_DIRECTORIES "${_harfbuzz_prefix}/${_harfbuzz_includedir}/harfbuzz" |
||||
INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz" |
||||
IMPORTED_LOCATION "${_harfbuzz_prefix}/${_harfbuzz_libdir}/libharfbuzz-gobject${_harfbuzz_lib_suffix}") |
||||
endif () |
||||
|
||||
# Clean out variables we used in our scope. |
||||
unset(_harfbuzz_lib_suffix) |
||||
unset(_harfbuzz_current) |
||||
unset(_harfbuzz_revision) |
||||
unset(_harfbuzz_age) |
||||
unset(_harfbuzz_includedir) |
||||
unset(_harfbuzz_libdir) |
||||
unset(_harfbuzz_prefix) |
||||
unset(exec_prefix) |
||||
unset(prefix) |
||||
unset(_harfbuzz_remove_string) |
Loading…
Reference in new issue