1# Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2# file Copyright.txt or https://cmake.org/licensing for details. 3 4#[=======================================================================[.rst: 5FindJasper 6---------- 7 8Find the Jasper JPEG2000 library. 9 10IMPORTED Targets 11^^^^^^^^^^^^^^^^ 12 13``Jasper::Jasper`` 14 The jasper library, if found. 15 16Result Variables 17^^^^^^^^^^^^^^^^ 18 19This module defines the following variables: 20 21``JASPER_FOUND`` 22 system has Jasper 23``JASPER_INCLUDE_DIRS`` 24 .. versionadded:: 3.22 25 26 the Jasper include directory 27``JASPER_LIBRARIES`` 28 the libraries needed to use Jasper 29``JASPER_VERSION_STRING`` 30 the version of Jasper found 31 32Cache variables 33^^^^^^^^^^^^^^^ 34 35The following cache variables may also be set: 36 37``JASPER_INCLUDE_DIR`` 38 where to find jasper/jasper.h, etc. 39``JASPER_LIBRARY_RELEASE`` 40 where to find the Jasper library (optimized). 41``JASPER_LIBARRY_DEBUG`` 42 where to find the Jasper library (debug). 43#]=======================================================================] 44 45find_path(JASPER_INCLUDE_DIR jasper/jasper.h) 46mark_as_advanced(JASPER_INCLUDE_DIR) 47 48if(NOT JASPER_LIBRARIES) 49 find_package(JPEG) 50 find_library(JASPER_LIBRARY_RELEASE NAMES jasper libjasper) 51 find_library(JASPER_LIBRARY_DEBUG NAMES jasperd) 52 include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake) 53 select_library_configurations(JASPER) 54endif() 55 56if(JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h") 57 file(STRINGS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h" jasper_version_str REGEX "^#define[\t ]+JAS_VERSION[\t ]+\".*\".*") 58 string(REGEX REPLACE "^#define[\t ]+JAS_VERSION[\t ]+\"([^\"]+)\".*" "\\1" JASPER_VERSION_STRING "${jasper_version_str}") 59endif() 60 61include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) 62find_package_handle_standard_args(Jasper 63 REQUIRED_VARS JASPER_LIBRARIES JASPER_INCLUDE_DIR JPEG_LIBRARIES 64 VERSION_VAR JASPER_VERSION_STRING) 65 66if(JASPER_FOUND) 67 set(JASPER_LIBRARIES ${JASPER_LIBRARIES} ${JPEG_LIBRARIES}) 68 set(JASPER_INCLUDE_DIRS ${JASPER_INCLUDE_DIR}) 69 if(NOT TARGET Jasper::Jasper) 70 add_library(Jasper::Jasper UNKNOWN IMPORTED) 71 if(JASPER_INCLUDE_DIRS) 72 set_target_properties(Jasper::Jasper PROPERTIES 73 INTERFACE_INCLUDE_DIRECTORIES "${JASPER_INCLUDE_DIRS}") 74 endif() 75 if(EXISTS "${JASPER_LIBRARY_RELEASE}") 76 set_property(TARGET Jasper::Jasper APPEND PROPERTY 77 IMPORTED CONFIGURATION RELEASE) 78 set_target_properties(Jasper::Jasper PROPERTIES 79 IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" 80 IMPORTED_LOCATION "${JASPER_LIBRARY_RELEASE}") 81 endif() 82 if(EXISTS "${JASPER_LIBRARY_DEBUG}") 83 set_property(TARGET Jasper::Jasper APPEND PROPERTY 84 IMPORTED CONFIGURATION DEBUG) 85 set_target_properties(Jasper::Jasper PROPERTIES 86 IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" 87 IMPORTED_LOCATION "${JASPER_LIBRARY_DEBUG}") 88 endif() 89 endif() 90endif() 91