microsoft/onnxruntime-extensions
Publicmirrored from https://github.com/microsoft/onnxruntime-extensionsAvailable
cmake/ext_imgcodecs.cmake
140lines · modeblame
1b807949Wenbing Li1 years ago | 1 | # Copyright (c) Microsoft Corporation. All rights reserved. |
| 2 | # Licensed under the MIT License. | |
| 3 | | |
| 4 | set(_IMGCODEC_ROOT_DIR ${dlib_SOURCE_DIR}/dlib/external) | |
| 5 | | |
| 6 | # ---------------------------------------------------------------------------- | |
| 7 | # project libpng | |
| 8 | # | |
| 9 | # ---------------------------------------------------------------------------- | |
| 10 | set (PNG_LIBRARY "libpng_static_c") | |
| 11 | set (libPNG_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/libpng) | |
| 12 | set (zlib_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/zlib) | |
| 13 | | |
| 14 | if(NOT WIN32) | |
| 15 | find_library(M_LIBRARY | |
| 16 | NAMES m | |
| 17 | PATHS /usr/lib /usr/local/lib | |
| 18 | ) | |
| 19 | if(NOT M_LIBRARY) | |
| 20 | message(STATUS "math lib 'libm' not found; floating point support disabled") | |
| 21 | endif() | |
| 22 | else() | |
| 23 | # not needed on windows | |
| 24 | set(M_LIBRARY "") | |
| 25 | endif() | |
| 26 | | |
| 27 | set(lib_srcs | |
| 28 | ${libPNG_SOURCE_DIR}/arm/arm_init.c | |
| 29 | ${libPNG_SOURCE_DIR}/arm/filter_neon_intrinsics.c | |
| 30 | ${libPNG_SOURCE_DIR}/arm/palette_neon_intrinsics.c | |
| 31 | ${libPNG_SOURCE_DIR}//png.c | |
| 32 | ${libPNG_SOURCE_DIR}//pngerror.c | |
| 33 | ${libPNG_SOURCE_DIR}//pngget.c | |
| 34 | ${libPNG_SOURCE_DIR}//pngmem.c | |
| 35 | ${libPNG_SOURCE_DIR}//pngpread.c | |
| 36 | ${libPNG_SOURCE_DIR}//pngread.c | |
| 37 | ${libPNG_SOURCE_DIR}//pngrio.c | |
| 38 | ${libPNG_SOURCE_DIR}//pngrtran.c | |
| 39 | ${libPNG_SOURCE_DIR}//pngrutil.c | |
| 40 | ${libPNG_SOURCE_DIR}//pngset.c | |
| 41 | ${libPNG_SOURCE_DIR}//pngtrans.c | |
| 42 | ${libPNG_SOURCE_DIR}//pngwio.c | |
| 43 | ${libPNG_SOURCE_DIR}//pngwrite.c | |
| 44 | ${libPNG_SOURCE_DIR}//pngwtran.c | |
| 45 | ${libPNG_SOURCE_DIR}//pngwutil.c | |
| 46 | ${zlib_SOURCE_DIR}/adler32.c | |
| 47 | ${zlib_SOURCE_DIR}/compress.c | |
| 48 | ${zlib_SOURCE_DIR}/crc32.c | |
| 49 | ${zlib_SOURCE_DIR}/deflate.c | |
| 50 | ${zlib_SOURCE_DIR}/gzclose.c | |
| 51 | ${zlib_SOURCE_DIR}/gzlib.c | |
| 52 | ${zlib_SOURCE_DIR}/gzread.c | |
| 53 | ${zlib_SOURCE_DIR}/gzwrite.c | |
| 54 | ${zlib_SOURCE_DIR}/infback.c | |
| 55 | ${zlib_SOURCE_DIR}/inffast.c | |
| 56 | ${zlib_SOURCE_DIR}/inflate.c | |
| 57 | ${zlib_SOURCE_DIR}/inftrees.c | |
| 58 | ${zlib_SOURCE_DIR}/trees.c | |
| 59 | ${zlib_SOURCE_DIR}/uncompr.c | |
| 60 | ${zlib_SOURCE_DIR}/zutil.c | |
| 61 | ) | |
| 62 | | |
| 63 | add_library(${PNG_LIBRARY} STATIC EXCLUDE_FROM_ALL ${lib_srcs}) | |
| 64 | target_include_directories(${PNG_LIBRARY} BEFORE PRIVATE ${zlib_SOURCE_DIR}) | |
| 65 | | |
| 66 | if(MSVC) | |
| 67 | target_compile_definitions(${PNG_LIBRARY} PRIVATE -D_CRT_SECURE_NO_DEPRECATE) | |
| 68 | else() | |
| 69 | target_compile_options(${PNG_LIBRARY} PRIVATE -Wno-deprecated-non-prototype) | |
| 70 | endif() | |
| 71 | | |
6b94f4d7Wenbing Li1 years ago | 72 | set_target_properties(${PNG_LIBRARY} |
| 73 | PROPERTIES | |
| 74 | POSITION_INDEPENDENT_CODE ON | |
| 75 | FOLDER externals) | |
| 76 | | |
1b807949Wenbing Li1 years ago | 77 | # ---------------------------------------------------------------------------- |
| 78 | # project libjpeg | |
| 79 | # | |
| 80 | # ---------------------------------------------------------------------------- | |
| 81 | set(JPEG_LIBRARY "libjpeg_static_c") | |
| 82 | set(libJPEG_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/libjpeg) | |
| 83 | | |
| 84 | set(lib_srcs | |
| 85 | ${libJPEG_SOURCE_DIR}/jaricom.c | |
| 86 | ${libJPEG_SOURCE_DIR}/jcapimin.c | |
| 87 | ${libJPEG_SOURCE_DIR}/jcapistd.c | |
| 88 | ${libJPEG_SOURCE_DIR}/jcarith.c | |
| 89 | ${libJPEG_SOURCE_DIR}/jccoefct.c | |
| 90 | ${libJPEG_SOURCE_DIR}/jccolor.c | |
| 91 | ${libJPEG_SOURCE_DIR}/jcdctmgr.c | |
| 92 | ${libJPEG_SOURCE_DIR}/jchuff.c | |
| 93 | ${libJPEG_SOURCE_DIR}/jcinit.c | |
| 94 | ${libJPEG_SOURCE_DIR}/jcmainct.c | |
| 95 | ${libJPEG_SOURCE_DIR}/jcmarker.c | |
| 96 | ${libJPEG_SOURCE_DIR}/jcmaster.c | |
| 97 | ${libJPEG_SOURCE_DIR}/jcomapi.c | |
| 98 | ${libJPEG_SOURCE_DIR}/jcparam.c | |
| 99 | ${libJPEG_SOURCE_DIR}/jcprepct.c | |
| 100 | ${libJPEG_SOURCE_DIR}/jcsample.c | |
| 101 | ${libJPEG_SOURCE_DIR}/jdapimin.c | |
| 102 | ${libJPEG_SOURCE_DIR}/jdapistd.c | |
| 103 | ${libJPEG_SOURCE_DIR}/jdarith.c | |
| 104 | ${libJPEG_SOURCE_DIR}/jdatadst.c | |
| 105 | ${libJPEG_SOURCE_DIR}/jdatasrc.c | |
| 106 | ${libJPEG_SOURCE_DIR}/jdcoefct.c | |
| 107 | ${libJPEG_SOURCE_DIR}/jdcolor.c | |
| 108 | ${libJPEG_SOURCE_DIR}/jddctmgr.c | |
| 109 | ${libJPEG_SOURCE_DIR}/jdhuff.c | |
| 110 | ${libJPEG_SOURCE_DIR}/jdinput.c | |
| 111 | ${libJPEG_SOURCE_DIR}/jdmainct.c | |
| 112 | ${libJPEG_SOURCE_DIR}/jdmarker.c | |
| 113 | ${libJPEG_SOURCE_DIR}/jdmaster.c | |
| 114 | ${libJPEG_SOURCE_DIR}/jdmerge.c | |
| 115 | ${libJPEG_SOURCE_DIR}/jdpostct.c | |
| 116 | ${libJPEG_SOURCE_DIR}/jdsample.c | |
| 117 | ${libJPEG_SOURCE_DIR}/jerror.c | |
| 118 | ${libJPEG_SOURCE_DIR}/jfdctflt.c | |
| 119 | ${libJPEG_SOURCE_DIR}/jfdctfst.c | |
| 120 | ${libJPEG_SOURCE_DIR}/jfdctint.c | |
| 121 | ${libJPEG_SOURCE_DIR}/jidctflt.c | |
| 122 | ${libJPEG_SOURCE_DIR}/jidctfst.c | |
| 123 | ${libJPEG_SOURCE_DIR}/jidctint.c | |
| 124 | ${libJPEG_SOURCE_DIR}/jmemmgr.c | |
| 125 | ${libJPEG_SOURCE_DIR}/jmemnobs.c | |
| 126 | ${libJPEG_SOURCE_DIR}/jquant1.c | |
| 127 | ${libJPEG_SOURCE_DIR}/jquant2.c | |
| 128 | ${libJPEG_SOURCE_DIR}/jutils.c | |
| 129 | ) | |
| 130 | file(GLOB lib_hdrs ${libJPEG_SOURCE_DIR}/*.h) | |
| 131 | add_library(${JPEG_LIBRARY} STATIC EXCLUDE_FROM_ALL ${lib_srcs} ${lib_hdrs}) | |
| 132 | | |
| 133 | if(NOT MSVC) | |
| 134 | set_source_files_properties(jcdctmgr.c PROPERTIES COMPILE_FLAGS "-O1") | |
| 135 | endif() | |
| 136 | target_compile_definitions(${JPEG_LIBRARY} PRIVATE -DNO_MKTEMP) | |
6b94f4d7Wenbing Li1 years ago | 137 | set_target_properties(${JPEG_LIBRARY} |
| 138 | PROPERTIES | |
| 139 | POSITION_INDEPENDENT_CODE ON | |
| 140 | FOLDER externals) |