Warning, /graphics/krita/cmake/modules/FindJPEGXL.cmake is written in an unsupported language. File is not indexed.
0001 # Copyright (C) 2021 Sony Interactive Entertainment Inc. 0002 # 0003 # Redistribution and use in source and binary forms, with or without 0004 # modification, are permitted provided that the following conditions 0005 # are met: 0006 # 1. Redistributions of source code must retain the above copyright 0007 # notice, this list of conditions and the following disclaimer. 0008 # 2. Redistributions in binary form must reproduce the above copyright 0009 # notice, this list of conditions and the following disclaimer in the 0010 # documentation and/or other materials provided with the distribution. 0011 # 0012 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 0013 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 0014 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 0015 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 0016 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0017 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0018 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0019 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0020 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0021 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 0022 # THE POSSIBILITY OF SUCH DAMAGE. 0023 0024 #[=======================================================================[.rst: 0025 FindJPEGXL 0026 --------- 0027 0028 Find JPEGXL headers and libraries. 0029 0030 Imported Targets 0031 ^^^^^^^^^^^^^^^^ 0032 0033 ``JPEGXL::jxl`` 0034 The JPEGXL library, if found. 0035 0036 Result Variables 0037 ^^^^^^^^^^^^^^^^ 0038 0039 This will define the following variables in your project: 0040 0041 ``JPEGXL_FOUND`` 0042 true if (the requested version of) JPEGXL is available. 0043 ``JPEGXL_VERSION`` 0044 the version of JPEGXL. 0045 ``JPEGXL_LIBRARIES`` 0046 the libraries to link against to use JPEGXL. 0047 ``JPEGXL_INCLUDE_DIRS`` 0048 where to find the JPEGXL headers. 0049 ``JPEGXL_COMPILE_OPTIONS`` 0050 this should be passed to target_compile_options(), if the 0051 target is not used for linking 0052 0053 #]=======================================================================] 0054 0055 find_package(PkgConfig QUIET) 0056 if (PkgConfig_FOUND) 0057 pkg_check_modules(PC_JPEGXL QUIET libjxl) 0058 set(JPEGXL_COMPILE_OPTIONS "${PC_JPEGXL_CFLAGS_OTHER}") 0059 set(JPEGXL_VERSION ${PC_JPEGXL_VERSION}) 0060 0061 pkg_check_modules(PC_JPEGXL_THREADS QUIET libjxl_threads) 0062 set(JPEGXL_THREADS_COMPILE_OPTIONS ${PC_JPEGXL_THREADS_CFLAGS_OTHER}) 0063 endif () 0064 0065 find_path(JPEGXL_INCLUDE_DIR 0066 NAMES jxl/decode.h 0067 HINTS ${PC_JPEGXL_INCLUDEDIR} ${PC_JPEGXL_INCLUDE_DIRS} ${JPEGXL_INCLUDE_DIR} 0068 ) 0069 0070 find_library(JPEGXL_LIBRARY 0071 NAMES ${JPEGXL_NAMES} jxl 0072 HINTS ${PC_JPEGXL_LIBDIR} ${PC_JPEGXL_LIBRARY_DIRS} 0073 ) 0074 0075 find_library(JPEGXL_THREADS_LIBRARY 0076 NAMES ${JPEGXL_NAMES} jxl_threads 0077 HINTS ${PC_JPEGXL_LIBDIR} ${PC_JPEGXL_LIBRARY_DIRS} ${PC_JPEGXL_THREADS_LIBDIR} ${PC_JPEGXL_THREADS_LIBRARY_DIRS} 0078 ) 0079 0080 include(FindPackageHandleStandardArgs) 0081 find_package_handle_standard_args(JPEGXL 0082 FOUND_VAR JPEGXL_FOUND 0083 REQUIRED_VARS JPEGXL_LIBRARY JPEGXL_INCLUDE_DIR 0084 VERSION_VAR JPEGXL_VERSION 0085 ) 0086 0087 if (JPEGXL_LIBRARY AND NOT TARGET JPEGXL::jxl) 0088 add_library(JPEGXL::jxl UNKNOWN IMPORTED GLOBAL) 0089 set_target_properties(JPEGXL::jxl PROPERTIES 0090 IMPORTED_LOCATION "${JPEGXL_LIBRARY}" 0091 INTERFACE_COMPILE_OPTIONS "${JPEGXL_COMPILE_OPTIONS}" 0092 INTERFACE_INCLUDE_DIRECTORIES "${JPEGXL_INCLUDE_DIR}" 0093 ) 0094 endif () 0095 0096 if (JPEGXL_THREADS_LIBRARY AND NOT TARGET JPEGXL::jxl_threads) 0097 add_library(JPEGXL::jxl_threads UNKNOWN IMPORTED GLOBAL) 0098 set_target_properties(JPEGXL::jxl_threads PROPERTIES 0099 IMPORTED_LOCATION "${JPEGXL_THREADS_LIBRARY}" 0100 INTERFACE_COMPILE_OPTIONS "${JPEGXL_THREADS_COMPILE_OPTIONS}" 0101 INTERFACE_INCLUDE_DIRECTORIES "${JPEGXL_INCLUDE_DIR}" 0102 ) 0103 endif () 0104 0105 mark_as_advanced(JPEGXL_INCLUDE_DIR JPEGXL_LIBRARY JPEGXL_THREADS_LIBRARY) 0106 0107 if (JPEGXL_FOUND) 0108 set(JPEGXL_LIBRARIES ${JPEGXL_LIBRARY}) 0109 set(JPEGXL_INCLUDE_DIRS ${JPEGXL_INCLUDE_DIR}) 0110 endif () 0111 0112 if (JPEGXL_THREADS_LIBRARY) 0113 list(APPEND JPEGXL_LIBRARIES ${JPEGXL_THREADS_LIBRARY}) 0114 endif ()