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