Warning, /graphics/krita/cmake/modules/FindFriBidi.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2022 L. E. Segovia <amy@amyspark.me> 0002 # SPDX-FileCopyrightText: 2023 Alvin Wong <alvin@alvinhc.com> 0003 # SPDX-License-Identifier: BSD-3-Clause 0004 0005 #[=======================================================================[.rst: 0006 FindFriBidi 0007 -------------- 0008 0009 Find FriBidi headers and libraries. 0010 0011 Imported Targets 0012 ^^^^^^^^^^^^^^^^ 0013 0014 ``FriBidi::FriBidi`` 0015 The FriBidi library, if found. 0016 0017 Result Variables 0018 ^^^^^^^^^^^^^^^^ 0019 0020 This will define the following variables in your project: 0021 0022 ``FriBidi_FOUND`` 0023 true if (the requested version of) FriBidi is available. 0024 ``FriBidi_VERSION`` 0025 the version of FriBidi. 0026 ``FriBidi_LIBRARIES`` 0027 the libraries to link against to use FriBidi. 0028 ``FriBidi_INCLUDE_DIRS`` 0029 where to find the FriBidi headers. 0030 ``FriBidi_COMPILE_OPTIONS`` 0031 this should be passed to target_compile_options(), if the 0032 target is not used for linking 0033 0034 #]=======================================================================] 0035 0036 include(FindPackageHandleStandardArgs) 0037 0038 find_package(PkgConfig QUIET) 0039 0040 if (PkgConfig_FOUND) 0041 pkg_check_modules(PC_FRIBIDI QUIET fribidi) 0042 set(FriBidi_VERSION ${PC_FRIBIDI_VERSION}) 0043 set(FriBidi_COMPILE_OPTIONS "${PC_FRIBIDI_CFLAGS} ${PC_FRIBIDI_CFLAGS_OTHER}") 0044 endif () 0045 0046 find_path(FriBidi_INCLUDE_DIR 0047 NAMES fribidi/fribidi.h 0048 HINTS ${PC_FRIBIDI_INCLUDEDIR} ${PC_FRIBIDI_INCLUDE_DIRS} 0049 ) 0050 if(FriBidi_INCLUDE_DIR) 0051 set(FriBidi_INCLUDE_DIR ${FriBidi_INCLUDE_DIR}/fribidi) 0052 endif() 0053 0054 find_library(FriBidi_LIBRARY 0055 NAMES ${FriBidi_NAMES} fribidi 0056 HINTS ${PC_FRIBIDI_LIBDIR} ${PC_FRIBIDI_LIBRARY_DIRS} 0057 ) 0058 0059 if (NOT FriBidi_VERSION AND FriBidi_INCLUDE_DIR) 0060 file(READ ${FriBidi_INCLUDE_DIR}/fribidi-config.h _fribidi_version_content) 0061 0062 string(REGEX MATCH "#define FRIBIDI_VERSION[ \t]+\"([0-9.]+)\"\n" _version_match ${_fribidi_version_content}) 0063 0064 if (_version_match) 0065 set(FriBidi_VERSION "${CMAKE_MATCH_1}") 0066 else() 0067 if(NOT FriBidi_FIND_QUIETLY) 0068 message(WARNING "Failed to get version information from ${FriBidi_INCLUDE_DIR}/fribidi-config.h") 0069 endif() 0070 endif() 0071 endif() 0072 0073 if (FriBidi_INCLUDE_DIR AND FriBidi_LIBRARY) 0074 set(FriBidi_FOUND ON) 0075 else() 0076 set(FriBidi_FOUND OFF) 0077 endif() 0078 0079 find_package_handle_standard_args(FriBidi 0080 FOUND_VAR FriBidi_FOUND 0081 REQUIRED_VARS FriBidi_INCLUDE_DIR FriBidi_LIBRARY 0082 HANDLE_COMPONENTS 0083 VERSION_VAR FriBidi_VERSION 0084 ) 0085 0086 if (FriBidi_FOUND) 0087 if (FriBidi_LIBRARY AND NOT TARGET FriBidi::FriBidi) 0088 add_library(FriBidi::FriBidi UNKNOWN IMPORTED GLOBAL) 0089 set_target_properties(FriBidi::FriBidi PROPERTIES 0090 IMPORTED_LOCATION "${FriBidi_LIBRARY}" 0091 INTERFACE_COMPILE_OPTIONS "${PC_FRIBIDI_CFLAGS_OTHER}" 0092 INTERFACE_INCLUDE_DIRECTORIES "${FriBidi_INCLUDE_DIR}" 0093 INTERFACE_LINK_LIBRARIES "${PC_FRIBIDI_LINK_LIBRARIES}" 0094 INTERFACE_LINK_DIRECTORIES "${PC_FRIBIDI_LIBDIR}" 0095 ) 0096 endif () 0097 0098 mark_as_advanced( 0099 FriBidi_INCLUDE_DIR 0100 FriBidi_LIBRARY 0101 ) 0102 0103 set(FriBidi_LIBRARIES ${FriBidi_LIBRARY}) 0104 set(FriBidi_INCLUDE_DIRS ${FriBidi_INCLUDE_DIR}) 0105 endif()