Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/imgcodecs/CMakeLists.txt
16337 views
1
set(the_description "Image I/O")
2
ocv_add_module(imgcodecs opencv_imgproc WRAP java python)
3
4
# ----------------------------------------------------------------------------
5
# CMake file for imgcodecs. See root CMakeLists.txt
6
# Some parts taken from version of Hartmut Seichter, HIT Lab NZ.
7
# Jose Luis Blanco, 2008
8
# ----------------------------------------------------------------------------
9
10
ocv_clear_vars(GRFMT_LIBS)
11
12
if(HAVE_WINRT_CX AND NOT WINRT)
13
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /ZW")
14
endif()
15
16
if(HAVE_PNG OR HAVE_TIFF OR HAVE_OPENEXR)
17
ocv_include_directories(${ZLIB_INCLUDE_DIRS})
18
list(APPEND GRFMT_LIBS ${ZLIB_LIBRARIES})
19
endif()
20
21
if(HAVE_JPEG)
22
ocv_include_directories(${JPEG_INCLUDE_DIR} ${${JPEG_LIBRARY}_BINARY_DIR})
23
list(APPEND GRFMT_LIBS ${JPEG_LIBRARIES})
24
endif()
25
26
if(HAVE_WEBP)
27
add_definitions(-DHAVE_WEBP)
28
ocv_include_directories(${WEBP_INCLUDE_DIR})
29
list(APPEND GRFMT_LIBS ${WEBP_LIBRARIES})
30
endif()
31
32
if(HAVE_PNG)
33
add_definitions(${PNG_DEFINITIONS})
34
ocv_include_directories(${PNG_INCLUDE_DIR})
35
list(APPEND GRFMT_LIBS ${PNG_LIBRARIES})
36
endif()
37
38
if(HAVE_GDCM)
39
ocv_include_directories(${GDCM_INCLUDE_DIRS})
40
list(APPEND GRFMT_LIBS ${GDCM_LIBRARIES})
41
endif()
42
43
if(HAVE_TIFF)
44
ocv_include_directories(${TIFF_INCLUDE_DIR})
45
list(APPEND GRFMT_LIBS ${TIFF_LIBRARIES})
46
endif()
47
48
if(HAVE_JASPER)
49
ocv_include_directories(${JASPER_INCLUDE_DIR})
50
list(APPEND GRFMT_LIBS ${JASPER_LIBRARIES})
51
endif()
52
53
if(HAVE_OPENEXR)
54
include_directories(SYSTEM ${OPENEXR_INCLUDE_PATHS})
55
list(APPEND GRFMT_LIBS ${OPENEXR_LIBRARIES})
56
endif()
57
58
if(HAVE_GDAL)
59
include_directories(SYSTEM ${GDAL_INCLUDE_DIR})
60
list(APPEND GRFMT_LIBS ${GDAL_LIBRARY})
61
endif()
62
63
if(HAVE_IMGCODEC_HDR)
64
add_definitions(-DHAVE_IMGCODEC_HDR)
65
endif()
66
67
if(HAVE_IMGCODEC_SUNRASTER)
68
add_definitions(-DHAVE_IMGCODEC_SUNRASTER)
69
endif()
70
71
if(HAVE_IMGCODEC_PXM)
72
add_definitions(-DHAVE_IMGCODEC_PXM)
73
endif()
74
75
if (HAVE_IMGCODEC_PFM)
76
add_definitions(-DHAVE_IMGCODEC_PFM)
77
endif()
78
79
file(GLOB grfmt_hdrs ${CMAKE_CURRENT_LIST_DIR}/src/grfmt*.hpp)
80
file(GLOB grfmt_srcs ${CMAKE_CURRENT_LIST_DIR}/src/grfmt*.cpp)
81
82
list(APPEND grfmt_hdrs ${CMAKE_CURRENT_LIST_DIR}/src/bitstrm.hpp)
83
list(APPEND grfmt_srcs ${CMAKE_CURRENT_LIST_DIR}/src/bitstrm.cpp)
84
list(APPEND grfmt_hdrs ${CMAKE_CURRENT_LIST_DIR}/src/rgbe.hpp)
85
list(APPEND grfmt_srcs ${CMAKE_CURRENT_LIST_DIR}/src/rgbe.cpp)
86
list(APPEND grfmt_hdrs ${CMAKE_CURRENT_LIST_DIR}/src/exif.hpp)
87
list(APPEND grfmt_srcs ${CMAKE_CURRENT_LIST_DIR}/src/exif.cpp)
88
89
source_group("Src\\grfmts" FILES ${grfmt_hdrs} ${grfmt_srcs})
90
91
set(imgcodecs_hdrs
92
${CMAKE_CURRENT_LIST_DIR}/src/precomp.hpp
93
${CMAKE_CURRENT_LIST_DIR}/src/utils.hpp
94
)
95
96
set(imgcodecs_srcs
97
${CMAKE_CURRENT_LIST_DIR}/src/loadsave.cpp
98
${CMAKE_CURRENT_LIST_DIR}/src/utils.cpp
99
)
100
101
file(GLOB imgcodecs_ext_hdrs
102
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/*.hpp"
103
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.hpp"
104
"${CMAKE_CURRENT_LIST_DIR}/include/opencv2/${name}/*.h"
105
)
106
107
if(IOS)
108
list(APPEND imgcodecs_srcs ${CMAKE_CURRENT_LIST_DIR}/src/ios_conversions.mm)
109
list(APPEND IMGCODECS_LIBRARIES "-framework Accelerate" "-framework CoreGraphics" "-framework QuartzCore" "-framework AssetsLibrary")
110
endif()
111
if(APPLE_FRAMEWORK)
112
list(APPEND IMGCODECS_LIBRARIES "-framework UIKit")
113
endif()
114
115
if(UNIX)
116
#these variables are set by CHECK_MODULE macro
117
foreach(P ${IMGCODECS_INCLUDE_DIRS})
118
ocv_include_directories(${P})
119
endforeach()
120
121
foreach(P ${IMGCODECS_LIBRARY_DIRS})
122
link_directories(${P})
123
endforeach()
124
endif()
125
126
source_group("Src" FILES ${imgcodecs_srcs} ${imgcodecs_hdrs})
127
source_group("Include" FILES ${imgcodecs_ext_hdrs})
128
ocv_set_module_sources(HEADERS ${imgcodecs_ext_hdrs} SOURCES ${imgcodecs_srcs} ${imgcodecs_hdrs} ${grfmt_srcs} ${grfmt_hdrs})
129
ocv_module_include_directories()
130
131
ocv_create_module(${GRFMT_LIBS} ${IMGCODECS_LIBRARIES})
132
133
macro(ocv_imgcodecs_configure_target)
134
if(APPLE)
135
add_apple_compiler_options(the_module)
136
endif()
137
138
if(MSVC)
139
set_target_properties(${the_module} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /NODEFAULTLIB:libcmt.lib /DEBUG")
140
endif()
141
142
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-deprecated-declarations)
143
endmacro()
144
145
if(NOT BUILD_opencv_world)
146
ocv_imgcodecs_configure_target()
147
endif()
148
149
ocv_add_accuracy_tests()
150
ocv_add_perf_tests()
151
152