-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
/
CMakeLists.txt
86 lines (70 loc) · 2.37 KB
/
CMakeLists.txt
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
add_gdal_driver(
TARGET gdal_MRF
SOURCES BitMask2D.h
marfa.h
marfa_dataset.cpp
mrf_band.cpp
mrf_overview.cpp
mrf_util.cpp
Packer.h
Packer_RLE.cpp
Packer_RLE.h
Tif_band.cpp
BUILTIN)
gdal_standard_includes(gdal_MRF)
if (GDAL_USE_JPEG OR GDAL_USE_JPEG_INTERNAL)
target_compile_definitions(gdal_MRF PRIVATE -DHAVE_JPEG)
target_sources(gdal_MRF PRIVATE JPEG_band.cpp)
endif()
if (GDAL_USE_PNG OR GDAL_USE_PNG_INTERNAL)
target_compile_definitions(gdal_MRF PRIVATE -DHAVE_PNG)
target_sources(gdal_MRF PRIVATE PNG_band.cpp)
endif()
if ((GDAL_USE_JPEG OR GDAL_USE_JPEG_INTERNAL) AND (GDAL_USE_PNG OR GDAL_USE_PNG_INTERNAL))
target_sources(gdal_MRF PRIVATE JPNG_band.cpp)
endif()
# Internal libs first
if ((GDAL_USE_JPEG OR GDAL_USE_JPEG_INTERNAL) AND GDAL_USE_JPEG12_INTERNAL)
target_sources(gdal_MRF PRIVATE JPEG12_band.cpp)
target_compile_definitions(gdal_MRF PRIVATE -DJPEG12_SUPPORTED)
target_include_directories(gdal_MRF PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
endif ()
if (GDAL_USE_JPEG_INTERNAL)
gdal_add_vendored_lib(gdal_MRF libjpeg)
endif ()
if (GDAL_USE_PNG_INTERNAL)
gdal_add_vendored_lib(gdal_MRF libpng)
endif ()
if (GDAL_USE_ZLIB_INTERNAL)
gdal_add_vendored_lib(gdal_MRF libz)
endif ()
if (GDAL_USE_LERC OR GDAL_USE_LERC_INTERNAL)
target_sources(gdal_MRF PRIVATE LERC_band.cpp)
gdal_add_vendored_lib(gdal_MRF PRIVATE liblercv1)
target_compile_definitions(gdal_MRF PRIVATE -DLERC)
add_subdirectory(LERCV1)
endif ()
if (GDAL_USE_LERC_INTERNAL)
gdal_add_vendored_lib(gdal_MRF lerc)
endif ()
# Now external libs
if (GDAL_USE_JPEG AND NOT GDAL_USE_JPEG_INTERNAL)
gdal_target_link_libraries(gdal_MRF PRIVATE JPEG::JPEG)
endif ()
if (GDAL_USE_PNG AND NOT GDAL_USE_PNG_INTERNAL)
gdal_target_link_libraries(gdal_MRF PRIVATE PNG::PNG)
endif ()
if (NOT GDAL_USE_ZLIB_INTERNAL)
gdal_target_link_libraries(gdal_MRF PRIVATE ZLIB::ZLIB)
endif ()
if (NOT GDAL_USE_LERC_INTERNAL AND GDAL_USE_LERC)
gdal_target_link_libraries(gdal_MRF PRIVATE LERC::LERC)
endif ()
if (GDAL_USE_ZSTD)
target_compile_definitions(gdal_MRF PRIVATE -DZSTD_SUPPORT)
gdal_target_link_libraries(gdal_MRF PRIVATE ${ZSTD_TARGET})
endif ()
if (GDAL_USE_BRUNSLI)
target_compile_definitions(gdal_MRF PRIVATE -DBRUNSLI)
gdal_target_link_libraries(gdal_MRF PRIVATE BRUNSLI::ENCODE BRUNSLI::DECODE)
endif ()