Warning, /graphics/krita/cmake/modules/FindLibMyPaint.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020 Ashwin Dhakaita <ashwingpdhakaita@gmail.com> 0002 # SPDX-FileCopyrightText: 2023 L. E. Segovia <amy@amyspark.me> 0003 # SPDX-License-Identifier: BSD-3-Clause 0004 0005 #[=======================================================================[.rst: 0006 FindLibMyPaint 0007 -------------- 0008 0009 Find LibMyPaint headers and libraries. 0010 0011 Imported Targets 0012 ^^^^^^^^^^^^^^^^ 0013 0014 ``LibMyPaint::mypaint`` 0015 The LibMyPaint library, if found. 0016 0017 Result Variables 0018 ^^^^^^^^^^^^^^^^ 0019 0020 This will define the following variables in your project: 0021 0022 ``LibMyPaint_FOUND`` 0023 true if (the requested version of) LibMyPaint is available. 0024 ``LibMyPaint_VERSION`` 0025 the version of LibMyPaint. 0026 ``LibMyPaint_LIBRARIES`` 0027 the libraries to link against to use LibMyPaint. 0028 ``LibMyPaint_INCLUDE_DIRS`` 0029 where to find the LibMyPaint headers. 0030 ``LibMyPaint_COMPILE_OPTIONS`` 0031 this should be passed to target_compile_options(), if the 0032 target is not used for linking 0033 0034 #]=======================================================================] 0035 0036 0037 set(MYPAINT_PKGCONF_CONFIG_DIR CACHE STRING "PkgConfig path for locating the package modules") 0038 foreach(_dir ${CMAKE_PREFIX_PATH}) 0039 list(APPEND MYPAINT_PKGCONF_CONFIG_DIR ${_dir}/lib/cmake/libmypaint) 0040 endforeach() 0041 mark_as_advanced(MYPAINT_PKGCONF_CONFIG_DIR) 0042 0043 find_package(libmypaint QUIET NO_MODULE 0044 HINTS ${MYPAINT_PKGCONF_CONFIG_DIR} /usr/lib/cmake/libmypaint /usr/local/lib/cmake/libmypaint 0045 ) 0046 mark_as_advanced(libmypaint_DIR) 0047 0048 if(libmypaint_FOUND) 0049 0050 # Patch in the missing definitions. 0051 if (TARGET mypaint AND NOT TARGET LibMyPaint::mypaint) 0052 add_library(LibMyPaint::mypaint ALIAS mypaint) 0053 endif() 0054 0055 if (NOT Libmypaint_LIBRARIES) 0056 set(LibMyPaint_LIBRARIES LibMyPaint::mypaint) 0057 endif() 0058 0059 set(LibMyPaint_INCLUDE_DIRS "${libmypaint_INCLUDE_DIRS}") 0060 set(LibMyPaint_VERSION "${libmypaint_VERSION}") 0061 0062 find_package_handle_standard_args(LibMyPaint 0063 FOUND_VAR LibMyPaint_FOUND 0064 REQUIRED_VARS LibMyPaint_INCLUDE_DIRS LibMyPaint_LIBRARIES 0065 VERSION_VAR LibMyPaint_VERSION 0066 NAME_MISMATCHED 0067 # CONFIG_MODE 0068 ) 0069 0070 return() 0071 endif() 0072 0073 find_package(PkgConfig QUIET) 0074 0075 if (PkgConfig_FOUND) 0076 pkg_check_modules(MYPAINT_PKGCONF QUIET libmypaint) 0077 set(LibMyPaint_VERSION ${MYPAINT_PKGCONF_VERSION}) 0078 set(LibMyPaint_COMPILE_OPTIONS "${MYPAINT_PKGCONF_CFLAGS};${MYPAINT_PKGCONF_CFLAGS_OTHER}") 0079 endif () 0080 0081 find_path(LibMyPaint_INCLUDE_DIR 0082 NAMES libmypaint/mypaint-config.h 0083 HINTS ${MYPAINT_PKGCONF_INCLUDE_DIRS} ${MYPAINT_PKGCONF_INCLUDEDIR} 0084 PATH_SUFFIXES libmypaint 0085 ) 0086 0087 find_library(LibMyPaint_LIBRARY 0088 NAMES libmypaint mypaint 0089 HINTS ${MYPAINT_PKGCONF_LIBRARY_DIRS} ${MYPAINT_PKGCONF_LIBDIR} 0090 ) 0091 0092 if (NOT LibMyPaint_VERSION) 0093 file(READ ${LibMyPaint_INCLUDE_DIR}/config.h _version_content) 0094 0095 string(REGEX MATCH "#define PACKAGE_VERSION[ \t]+\"(.+)\"" _version_match ${_version_content}) 0096 0097 if (_version_match) 0098 set(LibMyPaint_VERSION "${CMAKE_MATCH_1}") 0099 else() 0100 if(NOT LibMyPaint_FIND_QUIETLY) 0101 message(WARNING "Failed to get version information from ${LibMyPaint_INCLUDE_DIR}/config.h") 0102 endif() 0103 endif() 0104 endif() 0105 0106 if (LibMyPaint_INCLUDE_DIR AND LibMyPaint_LIBRARY) 0107 set(LibMyPaint_FOUND ON) 0108 else() 0109 set(LibMyPaint_FOUND OFF) 0110 endif() 0111 0112 find_package_handle_standard_args(LibMyPaint 0113 FOUND_VAR LibMyPaint_FOUND 0114 REQUIRED_VARS LibMyPaint_INCLUDE_DIR LibMyPaint_LIBRARY 0115 HANDLE_COMPONENTS 0116 VERSION_VAR LibMyPaint_VERSION 0117 ) 0118 0119 if (LibMyPaint_FOUND) 0120 if (LibMyPaint_LIBRARY AND NOT TARGET LibMyPaint::mypaint) 0121 add_library(LibMyPaint::mypaint UNKNOWN IMPORTED GLOBAL) 0122 set_target_properties(LibMyPaint::mypaint PROPERTIES 0123 IMPORTED_LOCATION "${LibMyPaint_LIBRARY}" 0124 INTERFACE_COMPILE_OPTIONS "${MYPAINT_PKGCONF_CFLAGS_OTHER}" 0125 INTERFACE_INCLUDE_DIRECTORIES "${LibMyPaint_INCLUDE_DIR}" 0126 INTERFACE_LINK_LIBRARIES "${MYPAINT_PKGCONF_LIBRARIES}" 0127 INTERFACE_LINK_DIRECTORIES "${MYPAINT_PKGCONF_LIBDIR}" 0128 ) 0129 endif() 0130 0131 mark_as_advanced( 0132 LibMyPaint_INCLUDE_DIR 0133 LibMyPaint_LIBRARY 0134 ) 0135 0136 set(LibMyPaint_LIBRARIES ${LibMyPaint_LIBRARY}) 0137 set(LibMyPaint_INCLUDE_DIRS ${LibMyPaint_INCLUDE_DIR}) 0138 endif()