3
3
# - TegraJPEG_INCLUDE_DIRS
4
4
# - TegraJPEG_LIBRARIES
5
5
6
- # Detect Linux4Tegra distribution
7
- SET (L4T_RELEASE_FILE /etc/nv_tegra_release)
8
- IF (EXISTS ${L4T_RELEASE_FILE} )
9
- SET (TegraJPEG_IS_L4T TRUE )
10
- EXECUTE_PROCESS (
11
- COMMAND sha1sum --quiet -c /etc/nv_tegra_release
12
- RESULT_VARIABLE TegraJPEG_DRIVER_ERROR
13
- OUTPUT_VARIABLE TegraJPEG_DRIVER_OUTPUT
14
- ERROR_QUIET
15
- )
16
- IF (TegraJPEG_DRIVER_ERROR)
17
- MESSAGE (WARNING "Tegra drivers have wrong checksum:\n ${TegraJPEG_DRIVER_OUTPUT} " )
18
- ELSE ()
19
- SET (TegraJPEG_DRIVER_OK TRUE )
20
- ENDIF ()
21
- ENDIF ()
22
-
23
- # Detect L4T version
24
- IF (TegraJPEG_IS_L4T)
25
- FILE (READ ${L4T_RELEASE_FILE} L4T_RELEASE_CONTENT LIMIT 64 OFFSET 2)
26
- STRING (REGEX REPLACE "^R([0-9]*)[^,]*, REVISION: ([0-9.]*).*" "\\ 1" L4T_VER_MAJOR "${L4T_RELEASE_CONTENT} " )
27
- STRING (REGEX REPLACE "^R([0-9]*)[^,]*, REVISION: ([0-9.]*).*" "\\ 2" L4T_VER_MINOR "${L4T_RELEASE_CONTENT} " )
28
- SET (L4T_VER "${L4T_VER_MAJOR} .${L4T_VER_MINOR} " )
29
- MESSAGE (STATUS "Found Linux4Tegra ${L4T_VER} " )
30
- IF (L4T_VER VERSION_LESS 21.3.0)
31
- MESSAGE (WARNING "Linux4Tegra version (${L4T_VER} ) less than minimum requirement (21.3)" )
32
- ELSE ()
33
- SET (TegraJPEG_L4T_OK TRUE )
34
- ENDIF ()
35
-
36
- IF (L4T_VER MATCHES ^21.3)
37
- SET (L4T_SRC_PART r21_Release_v3.0/sources /gstjpeg_src.tbz2)
38
- ELSEIF (L4T_VER MATCHES ^21.4)
39
- SET (L4T_SRC_PART r21_Release_v4.0/source /gstjpeg_src.tbz2)
40
- ELSEIF (L4T_VER MATCHES ^21.5)
41
- SET (L4T_SRC_PART r21_Release_v5.0/source /gstjpeg_src.tbz2)
42
- ELSEIF (L4T_VER MATCHES ^23.1)
43
- SET (L4T_SRC_PART r23_Release_v1.0/source /gstjpeg_src.tbz2)
44
- ELSEIF (L4T_VER MATCHES ^23.2)
45
- SET (L4T_SRC_PART r23_Release_v2.0/source /gstjpeg_src.tbz2)
46
- ELSEIF (L4T_VER MATCHES ^24.1)
47
- SET (L4T_SRC_PART r24_Release_v1.0/24.1_64bit/source /gstjpeg_src.tbz2)
48
- ELSEIF (L4T_VER MATCHES ^24.2)
49
- SET (L4T_SRC_PART r24_Release_v2.0/BSP/sources .tbz2)
50
- ELSEIF (L4T_VER MATCHES ^27.1)
51
- SET (L4T_SRC_PART r27_Release_v1.0/BSP/r27.1.0_sources.tbz2)
52
- ELSEIF (L4T_VER MATCHES ^28.1)
53
- SET (L4T_SRC_PART r28_Release_v1.0/BSP/source_release.tbz2)
54
- ELSEIF (L4T_VER MATCHES ^28.2)
55
- SET (L4T_SRC_PART r28_Release_v2.0/BSP/source_release.tbz2)
56
- ELSE ()
57
- MESSAGE (WARNING "Linux4Tegra version (${L4T_VER} ) is not recognized. Add the new source URL part to FindTegraJPEG.cmake." )
58
- SET (TegraJPEG_L4T_OK FALSE )
59
- ENDIF ()
60
- ENDIF ()
61
-
62
- # Download gstjpeg source
63
- IF (TegraJPEG_L4T_OK)
64
- SET (L4T_SRC_PATH ${DEPENDS_DIR} /source /${L4T_SRC_PART} )
65
- GET_FILENAME_COMPONENT (L4T_SRC_DIR ${L4T_SRC_PATH} DIRECTORY )
66
- IF (NOT EXISTS ${L4T_SRC_PATH} )
67
- MESSAGE (STATUS "Downloading ${L4T_SRC_PART} ..." )
68
- SET (L4T_SRC_URL "http://developer.download.nvidia.com/embedded/L4T/${L4T_SRC_PART} " )
69
- # Do we want checksum for the download?
70
- FILE (DOWNLOAD ${L4T_SRC_URL} ${L4T_SRC_PATH} STATUS L4T_SRC_STATUS)
71
- LIST (GET L4T_SRC_STATUS 0 L4T_SRC_ERROR)
72
- LIST (GET L4T_SRC_STATUS 1 L4T_SRC_MSG)
73
- IF (L4T_SRC_ERROR)
74
- MESSAGE (WARNING "Failed to download ${L4T_SRC_PART} : ${L4T_SRC_MSG} " )
75
- FILE (REMOVE ${L4T_SRC_PATH} )
76
- ENDIF ()
77
- ENDIF ()
78
-
79
- FILE (GLOB_RECURSE L4T_GSTJPEG_PATH ${L4T_SRC_DIR} /gstjpeg_src.tbz2)
80
- IF (NOT L4T_GSTJPEG_PATH)
81
- MESSAGE (STATUS "Extracting ${L4T_SRC_PART} ..." )
82
- EXECUTE_PROCESS (
83
- COMMAND ${CMAKE_COMMAND} -E tar xjf ${L4T_SRC_PATH}
84
- WORKING_DIRECTORY ${L4T_SRC_DIR}
85
- )
86
- FILE (GLOB_RECURSE L4T_GSTJPEG_PATH ${L4T_SRC_DIR} /gstjpeg_src.tbz2)
87
- ENDIF ()
88
-
89
- IF (L4T_GSTJPEG_PATH)
90
- EXECUTE_PROCESS (
91
- COMMAND ${CMAKE_COMMAND} -E tar xjf ${L4T_GSTJPEG_PATH}
92
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
93
- RESULT_VARIABLE L4T_HEADERS_ERROR
94
- ERROR_VARIABLE L4T_HEADERS_MSG
95
- )
96
- IF (L4T_HEADERS_ERROR)
97
- MESSAGE (WARNING "Failed to unpack ${L4T_GSTJPEG_PATH} : ${L4T_HEADERS_MSG} " )
98
- ENDIF ()
99
- ENDIF ()
100
- ENDIF ()
101
-
102
6
FIND_PATH (TegraJPEG_INCLUDE_DIRS
103
- nv_headers /jpeglib.h
7
+ libjpeg-8b /jpeglib.h
104
8
DOC "Found TegraJPEG include directory"
105
- PATHS ${CMAKE_BINARY_DIR} /gstjpeg_src
9
+ PATHS /usr/src/tegra_multimedia_api/ include
106
10
NO_DEFAULT_PATH
107
11
)
108
12
@@ -112,22 +16,15 @@ FIND_LIBRARY(TegraJPEG_LIBRARIES
112
16
PATH_SUFFIXES tegra
113
17
)
114
18
115
- FIND_LIBRARY (TegraJPEG_LIBRARIES
116
- NAMES jpeg
117
- DOC "Found TegraJPEG library (libjpeg.so)"
118
- PATHS /usr/lib/arm-linux-gnueabihf/tegra
119
- NO_DEFAULT_PATH
120
- )
121
-
122
19
IF (TegraJPEG_INCLUDE_DIRS AND TegraJPEG_LIBRARIES)
123
20
INCLUDE (CheckCSourceCompiles)
124
21
set (CMAKE_REQUIRED_INCLUDES ${TegraJPEG_INCLUDE_DIRS} )
125
22
set (CMAKE_REQUIRED_LIBRARIES ${TegraJPEG_LIBRARIES} )
126
- check_c_source_compiles("#include <stdio.h>\n #include <nv_headers /jpeglib.h>\n int main() { struct jpeg_decompress_struct d; jpeg_create_decompress(&d); d.jpegTegraMgr = 0; d.input_frame_buf = 0; return 0; }" TegraJPEG_WORKS)
23
+ check_c_source_compiles("#include <stdio.h>\n #include <libjpeg-8b /jpeglib.h>\n int main() { struct jpeg_decompress_struct d; jpeg_create_decompress(&d); d.jpegTegraMgr = 0; d.input_frame_buf = 0; return 0; }" TegraJPEG_WORKS)
127
24
set (CMAKE_REQUIRED_INCLUDES)
128
25
set (CMAKE_REQUIRED_LIBRARIES)
129
26
ENDIF ()
130
27
131
28
INCLUDE (FindPackageHandleStandardArgs)
132
29
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TegraJPEG FOUND_VAR TegraJPEG_FOUND
133
- REQUIRED_VARS TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_L4T_OK TegraJPEG_DRIVER_OK TegraJPEG_WORKS)
30
+ REQUIRED_VARS TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS)
0 commit comments