microsoft/onnxruntime-extensions
Publicmirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable
cmake/ext_imgcodecs.cmake
131lines · modecode
| 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 | |
| 72 | # ---------------------------------------------------------------------------- |
| 73 | # project libjpeg |
| 74 | # |
| 75 | # ---------------------------------------------------------------------------- |
| 76 | set(JPEG_LIBRARY "libjpeg_static_c") |
| 77 | set(libJPEG_SOURCE_DIR ${_IMGCODEC_ROOT_DIR}/libjpeg) |
| 78 | |
| 79 | set(lib_srcs |
| 80 | ${libJPEG_SOURCE_DIR}/jaricom.c |
| 81 | ${libJPEG_SOURCE_DIR}/jcapimin.c |
| 82 | ${libJPEG_SOURCE_DIR}/jcapistd.c |
| 83 | ${libJPEG_SOURCE_DIR}/jcarith.c |
| 84 | ${libJPEG_SOURCE_DIR}/jccoefct.c |
| 85 | ${libJPEG_SOURCE_DIR}/jccolor.c |
| 86 | ${libJPEG_SOURCE_DIR}/jcdctmgr.c |
| 87 | ${libJPEG_SOURCE_DIR}/jchuff.c |
| 88 | ${libJPEG_SOURCE_DIR}/jcinit.c |
| 89 | ${libJPEG_SOURCE_DIR}/jcmainct.c |
| 90 | ${libJPEG_SOURCE_DIR}/jcmarker.c |
| 91 | ${libJPEG_SOURCE_DIR}/jcmaster.c |
| 92 | ${libJPEG_SOURCE_DIR}/jcomapi.c |
| 93 | ${libJPEG_SOURCE_DIR}/jcparam.c |
| 94 | ${libJPEG_SOURCE_DIR}/jcprepct.c |
| 95 | ${libJPEG_SOURCE_DIR}/jcsample.c |
| 96 | ${libJPEG_SOURCE_DIR}/jdapimin.c |
| 97 | ${libJPEG_SOURCE_DIR}/jdapistd.c |
| 98 | ${libJPEG_SOURCE_DIR}/jdarith.c |
| 99 | ${libJPEG_SOURCE_DIR}/jdatadst.c |
| 100 | ${libJPEG_SOURCE_DIR}/jdatasrc.c |
| 101 | ${libJPEG_SOURCE_DIR}/jdcoefct.c |
| 102 | ${libJPEG_SOURCE_DIR}/jdcolor.c |
| 103 | ${libJPEG_SOURCE_DIR}/jddctmgr.c |
| 104 | ${libJPEG_SOURCE_DIR}/jdhuff.c |
| 105 | ${libJPEG_SOURCE_DIR}/jdinput.c |
| 106 | ${libJPEG_SOURCE_DIR}/jdmainct.c |
| 107 | ${libJPEG_SOURCE_DIR}/jdmarker.c |
| 108 | ${libJPEG_SOURCE_DIR}/jdmaster.c |
| 109 | ${libJPEG_SOURCE_DIR}/jdmerge.c |
| 110 | ${libJPEG_SOURCE_DIR}/jdpostct.c |
| 111 | ${libJPEG_SOURCE_DIR}/jdsample.c |
| 112 | ${libJPEG_SOURCE_DIR}/jerror.c |
| 113 | ${libJPEG_SOURCE_DIR}/jfdctflt.c |
| 114 | ${libJPEG_SOURCE_DIR}/jfdctfst.c |
| 115 | ${libJPEG_SOURCE_DIR}/jfdctint.c |
| 116 | ${libJPEG_SOURCE_DIR}/jidctflt.c |
| 117 | ${libJPEG_SOURCE_DIR}/jidctfst.c |
| 118 | ${libJPEG_SOURCE_DIR}/jidctint.c |
| 119 | ${libJPEG_SOURCE_DIR}/jmemmgr.c |
| 120 | ${libJPEG_SOURCE_DIR}/jmemnobs.c |
| 121 | ${libJPEG_SOURCE_DIR}/jquant1.c |
| 122 | ${libJPEG_SOURCE_DIR}/jquant2.c |
| 123 | ${libJPEG_SOURCE_DIR}/jutils.c |
| 124 | ) |
| 125 | file(GLOB lib_hdrs ${libJPEG_SOURCE_DIR}/*.h) |
| 126 | add_library(${JPEG_LIBRARY} STATIC EXCLUDE_FROM_ALL ${lib_srcs} ${lib_hdrs}) |
| 127 | |
| 128 | if(NOT MSVC) |
| 129 | set_source_files_properties(jcdctmgr.c PROPERTIES COMPILE_FLAGS "-O1") |
| 130 | endif() |
| 131 | target_compile_definitions(${JPEG_LIBRARY} PRIVATE -DNO_MKTEMP) |