microsoft/onnxruntime-extensions

Public

mirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
f6940f355009d9e29b08f3185191fa0ab9a8187f

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

cmake/ext_imgcodecs.cmake

166lines · modecode

1# Copyright (c) Microsoft Corporation. All rights reserved.
2# Licensed under the MIT License.
3
4set(_IMGCODEC_ROOT_DIR ${dlib_SOURCE_DIR}/dlib/external)
5
6# ----------------------------------------------------------------------------
7# project libpng
8#
9# ----------------------------------------------------------------------------
10# Default PNG target
11set (PNG_LIBRARY "libpng_static_c")
12
13if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64|ppc64le|powerpc")
14 message(STATUS "Using upstream libpng for PowerPC")
15
16 include(FetchContent)
17
18 FetchContent_Declare(
19 libpng_external
20 GIT_REPOSITORY https://github.com/pnggroup/libpng.git
21 GIT_TAG v1.6.58 # pinned release tag
22 )
23
24 FetchContent_MakeAvailable(libpng_external)
25 # Use libpng's CMake target
26 set (PNG_LIBRARY "png_static")
27
28else()
29 # default (dlib bundled)
30 set(libPNG_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/libpng)
31
32 set (zlib_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/zlib)
33
34 if(NOT WIN32)
35 find_library(M_LIBRARY
36 NAMES m
37 PATHS /usr/lib /usr/local/lib
38 )
39 if(NOT M_LIBRARY)
40 message(STATUS "math lib 'libm' not found; floating point support disabled")
41 endif()
42 else()
43 # not needed on windows
44 set(M_LIBRARY "")
45 endif()
46
47 # Add architecture-specific PNG optimizations
48 set(lib_srcs)
49 list(APPEND lib_srcs
50 ${libPNG_SOURCE_DIR}/arm/arm_init.c
51 ${libPNG_SOURCE_DIR}/arm/filter_neon_intrinsics.c
52 ${libPNG_SOURCE_DIR}/arm/palette_neon_intrinsics.c
53 )
54
55 # Common PNG sources
56 list(APPEND lib_srcs
57 ${libPNG_SOURCE_DIR}//png.c
58 ${libPNG_SOURCE_DIR}//pngerror.c
59 ${libPNG_SOURCE_DIR}//pngget.c
60 ${libPNG_SOURCE_DIR}//pngmem.c
61 ${libPNG_SOURCE_DIR}//pngpread.c
62 ${libPNG_SOURCE_DIR}//pngread.c
63 ${libPNG_SOURCE_DIR}//pngrio.c
64 ${libPNG_SOURCE_DIR}//pngrtran.c
65 ${libPNG_SOURCE_DIR}//pngrutil.c
66 ${libPNG_SOURCE_DIR}//pngset.c
67 ${libPNG_SOURCE_DIR}//pngtrans.c
68 ${libPNG_SOURCE_DIR}//pngwio.c
69 ${libPNG_SOURCE_DIR}//pngwrite.c
70 ${libPNG_SOURCE_DIR}//pngwtran.c
71 ${libPNG_SOURCE_DIR}//pngwutil.c
72 ${zlib_SOURCE_DIR}/adler32.c
73 ${zlib_SOURCE_DIR}/compress.c
74 ${zlib_SOURCE_DIR}/crc32.c
75 ${zlib_SOURCE_DIR}/deflate.c
76 ${zlib_SOURCE_DIR}/gzclose.c
77 ${zlib_SOURCE_DIR}/gzlib.c
78 ${zlib_SOURCE_DIR}/gzread.c
79 ${zlib_SOURCE_DIR}/gzwrite.c
80 ${zlib_SOURCE_DIR}/infback.c
81 ${zlib_SOURCE_DIR}/inffast.c
82 ${zlib_SOURCE_DIR}/inflate.c
83 ${zlib_SOURCE_DIR}/inftrees.c
84 ${zlib_SOURCE_DIR}/trees.c
85 ${zlib_SOURCE_DIR}/uncompr.c
86 ${zlib_SOURCE_DIR}/zutil.c
87 )
88 add_library(${PNG_LIBRARY} STATIC EXCLUDE_FROM_ALL ${lib_srcs})
89 target_include_directories(${PNG_LIBRARY} BEFORE PUBLIC ${zlib_SOURCE_DIR})
90
91 if(MSVC)
92 target_compile_definitions(${PNG_LIBRARY} PRIVATE -D_CRT_SECURE_NO_DEPRECATE)
93 else()
94 target_compile_options(${PNG_LIBRARY} PRIVATE -Wno-deprecated-non-prototype)
95 endif()
96
97 set_target_properties(${PNG_LIBRARY}
98 PROPERTIES
99 POSITION_INDEPENDENT_CODE ON
100 FOLDER externals)
101
102endif()
103# ----------------------------------------------------------------------------
104# project libjpeg
105#
106# ----------------------------------------------------------------------------
107set(JPEG_LIBRARY "libjpeg_static_c")
108set(libJPEG_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/libjpeg)
109
110set(lib_srcs
111 ${libJPEG_SOURCE_DIR}/jaricom.c
112 ${libJPEG_SOURCE_DIR}/jcapimin.c
113 ${libJPEG_SOURCE_DIR}/jcapistd.c
114 ${libJPEG_SOURCE_DIR}/jcarith.c
115 ${libJPEG_SOURCE_DIR}/jccoefct.c
116 ${libJPEG_SOURCE_DIR}/jccolor.c
117 ${libJPEG_SOURCE_DIR}/jcdctmgr.c
118 ${libJPEG_SOURCE_DIR}/jchuff.c
119 ${libJPEG_SOURCE_DIR}/jcinit.c
120 ${libJPEG_SOURCE_DIR}/jcmainct.c
121 ${libJPEG_SOURCE_DIR}/jcmarker.c
122 ${libJPEG_SOURCE_DIR}/jcmaster.c
123 ${libJPEG_SOURCE_DIR}/jcomapi.c
124 ${libJPEG_SOURCE_DIR}/jcparam.c
125 ${libJPEG_SOURCE_DIR}/jcprepct.c
126 ${libJPEG_SOURCE_DIR}/jcsample.c
127 ${libJPEG_SOURCE_DIR}/jdapimin.c
128 ${libJPEG_SOURCE_DIR}/jdapistd.c
129 ${libJPEG_SOURCE_DIR}/jdarith.c
130 ${libJPEG_SOURCE_DIR}/jdatadst.c
131 ${libJPEG_SOURCE_DIR}/jdatasrc.c
132 ${libJPEG_SOURCE_DIR}/jdcoefct.c
133 ${libJPEG_SOURCE_DIR}/jdcolor.c
134 ${libJPEG_SOURCE_DIR}/jddctmgr.c
135 ${libJPEG_SOURCE_DIR}/jdhuff.c
136 ${libJPEG_SOURCE_DIR}/jdinput.c
137 ${libJPEG_SOURCE_DIR}/jdmainct.c
138 ${libJPEG_SOURCE_DIR}/jdmarker.c
139 ${libJPEG_SOURCE_DIR}/jdmaster.c
140 ${libJPEG_SOURCE_DIR}/jdmerge.c
141 ${libJPEG_SOURCE_DIR}/jdpostct.c
142 ${libJPEG_SOURCE_DIR}/jdsample.c
143 ${libJPEG_SOURCE_DIR}/jerror.c
144 ${libJPEG_SOURCE_DIR}/jfdctflt.c
145 ${libJPEG_SOURCE_DIR}/jfdctfst.c
146 ${libJPEG_SOURCE_DIR}/jfdctint.c
147 ${libJPEG_SOURCE_DIR}/jidctflt.c
148 ${libJPEG_SOURCE_DIR}/jidctfst.c
149 ${libJPEG_SOURCE_DIR}/jidctint.c
150 ${libJPEG_SOURCE_DIR}/jmemmgr.c
151 ${libJPEG_SOURCE_DIR}/jmemnobs.c
152 ${libJPEG_SOURCE_DIR}/jquant1.c
153 ${libJPEG_SOURCE_DIR}/jquant2.c
154 ${libJPEG_SOURCE_DIR}/jutils.c
155 )
156file(GLOB lib_hdrs ${libJPEG_SOURCE_DIR}/*.h)
157add_library(${JPEG_LIBRARY} STATIC EXCLUDE_FROM_ALL ${lib_srcs} ${lib_hdrs})
158
159if(NOT MSVC)
160 set_source_files_properties(jcdctmgr.c PROPERTIES COMPILE_FLAGS "-O1")
161endif()
162target_compile_definitions(${JPEG_LIBRARY} PRIVATE -DNO_MKTEMP)
163set_target_properties(${JPEG_LIBRARY}
164 PROPERTIES
165 POSITION_INDEPENDENT_CODE ON
166 FOLDER externals)
167