blob: a19179c002ecb41bf626484a3c5723f732328517 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file LICENSE.rst or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindJasper
----------
Finds the JasPer Image Coding Toolkit for handling image data in a variety of
formats, such as the JPEG-2000:
.. code-block:: cmake
find_package(Jasper [<version>] [...])
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following :ref:`Imported Targets`:
``Jasper::Jasper``
.. versionadded:: 3.22
Target encapsulating the JasPer library usage requirements, available only if
the library is found.
Result Variables
^^^^^^^^^^^^^^^^
This module defines the following variables:
``Jasper_FOUND``
.. versionadded:: 3.3
Boolean indicating whether (the requested version of) JasPer was found.
``Jasper_VERSION``
.. versionadded:: 4.2
The version of JasPer found.
``JASPER_INCLUDE_DIRS``
.. versionadded:: 3.22
The include directories needed to use the JasPer library.
``JASPER_LIBRARIES``
The libraries needed to use JasPer.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``JASPER_INCLUDE_DIR``
The directory containing the ``jasper/jasper.h`` and other headers needed to
use the JasPer library.
``JASPER_LIBRARY_RELEASE``
The path to the release (optimized) variant of the JasPer library.
``JASPER_LIBRARY_DEBUG``
The path to the debug variant of the JasPer library.
Deprecated Variables
^^^^^^^^^^^^^^^^^^^^
The following variables are provided for backward compatibility:
``JASPER_FOUND``
.. deprecated:: 4.2
Use ``Jasper_FOUND``, which has the same value.
Boolean indicating whether (the requested version of) JasPer was found.
``JASPER_VERSION_STRING``
.. deprecated:: 4.2
Superseded by the ``Jasper_VERSION``.
The version of JasPer found.
Examples
^^^^^^^^
Finding the JasPer library and linking it to a project target:
.. code-block:: cmake
find_package(Jasper)
target_link_libraries(project_target PRIVATE Jasper::Jasper)
#]=======================================================================]
cmake_policy(PUSH)
cmake_policy(SET CMP0159 NEW) # file(STRINGS) with REGEX updates CMAKE_MATCH_<n>
find_path(JASPER_INCLUDE_DIR jasper/jasper.h)
mark_as_advanced(JASPER_INCLUDE_DIR)
if(NOT JASPER_LIBRARIES)
find_package(JPEG QUIET)
find_library(JASPER_LIBRARY_RELEASE NAMES jasper libjasper)
find_library(JASPER_LIBRARY_DEBUG NAMES jasperd)
include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
select_library_configurations(JASPER)
endif()
if(JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h")
file(STRINGS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h" jasper_version_str REGEX "^#define[\t ]+JAS_VERSION[\t ]+\".*\".*")
string(REGEX REPLACE "^#define[\t ]+JAS_VERSION[\t ]+\"([^\"]+)\".*" "\\1" Jasper_VERSION "${jasper_version_str}")
set(JASPER_VERSION_STRING "${Jasper_VERSION}")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Jasper
REQUIRED_VARS JASPER_LIBRARIES JASPER_INCLUDE_DIR
VERSION_VAR Jasper_VERSION)
if(Jasper_FOUND)
set(JASPER_LIBRARIES ${JASPER_LIBRARIES})
if(JPEG_FOUND)
list(APPEND JASPER_LIBRARIES ${JPEG_LIBRARIES})
endif()
set(JASPER_INCLUDE_DIRS ${JASPER_INCLUDE_DIR})
if(NOT TARGET Jasper::Jasper)
add_library(Jasper::Jasper UNKNOWN IMPORTED)
if(JASPER_INCLUDE_DIRS)
set_target_properties(Jasper::Jasper PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${JASPER_INCLUDE_DIRS}")
endif()
if(EXISTS "${JASPER_LIBRARY_RELEASE}")
set_property(TARGET Jasper::Jasper APPEND PROPERTY
IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(Jasper::Jasper PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
IMPORTED_LOCATION_RELEASE "${JASPER_LIBRARY_RELEASE}")
endif()
if(EXISTS "${JASPER_LIBRARY_DEBUG}")
set_property(TARGET Jasper::Jasper APPEND PROPERTY
IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(Jasper::Jasper PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
IMPORTED_LOCATION_DEBUG "${JASPER_LIBRARY_DEBUG}")
endif()
endif()
endif()
cmake_policy(POP)
|