microsoft/onnxruntime-extensions
Publicmirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable
cmake/externals/opencv.cmake
153lines · modecode
| 1 | set(BUILD_ANDROID_EXAMPLES OFF CACHE INTERNAL "") |
| 2 | set(BUILD_ANDROID_PROJECTS OFF CACHE INTERNAL "") |
| 3 | set(BUILD_ANDROID_SERVICE OFF CACHE INTERNAL "") |
| 4 | set(BUILD_DOCS OFF CACHE INTERNAL "") |
| 5 | set(BUILD_FAT_JAVA_LIB OFF CACHE INTERNAL "") |
| 6 | set(BUILD_IPP_IW OFF CACHE INTERNAL "") |
| 7 | set(BUILD_ITT OFF CACHE INTERNAL "") |
| 8 | set(BUILD_JASPER OFF CACHE INTERNAL "") |
| 9 | set(BUILD_JAVA OFF CACHE INTERNAL "") |
| 10 | set(BUILD_JPEG OFF CACHE INTERNAL "") |
| 11 | set(BUILD_OBJC OFF CACHE INTERNAL "") |
| 12 | set(BUILD_OPENJPEG OFF CACHE INTERNAL "") |
| 13 | set(BUILD_PNG OFF CACHE INTERNAL "") |
| 14 | set(BUILD_opencv_apps OFF CACHE INTERNAL "") |
| 15 | set(BUILD_opencv_calib3d OFF CACHE INTERNAL "") |
| 16 | set(BUILD_opencv_dnn OFF CACHE INTERNAL "") |
| 17 | set(BUILD_opencv_features2d OFF CACHE INTERNAL "") |
| 18 | set(BUILD_opencv_flann OFF CACHE INTERNAL "") |
| 19 | set(BUILD_opencv_gapi OFF CACHE INTERNAL "") |
| 20 | set(BUILD_opencv_highgui OFF CACHE INTERNAL "") |
| 21 | set(BUILD_opencv_imgcodecs OFF CACHE INTERNAL "") |
| 22 | set(BUILD_opencv_java OFF CACHE INTERNAL "") |
| 23 | set(BUILD_opencv_js OFF CACHE INTERNAL "") |
| 24 | set(BUILD_opencv_ml OFF CACHE INTERNAL "") |
| 25 | set(BUILD_opencv_objc OFF CACHE INTERNAL "") |
| 26 | set(BUILD_opencv_objdetect OFF CACHE INTERNAL "") |
| 27 | set(BUILD_opencv_photo OFF CACHE INTERNAL "") |
| 28 | set(BUILD_opencv_python2 OFF CACHE INTERNAL "") |
| 29 | set(BUILD_opencv_python3 OFF CACHE INTERNAL "") |
| 30 | set(BUILD_opencv_stitching OFF CACHE INTERNAL "") |
| 31 | set(BUILD_opencv_ts OFF CACHE INTERNAL "") |
| 32 | set(BUILD_opencv_video OFF CACHE INTERNAL "") |
| 33 | set(BUILD_opencv_videoio OFF CACHE INTERNAL "") |
| 34 | set(BUILD_opencv_world OFF CACHE INTERNAL "") |
| 35 | set(BUILD_OPENEXR OFF CACHE INTERNAL "") |
| 36 | set(BUILD_TBB OFF CACHE INTERNAL "") |
| 37 | set(BUILD_TIFF OFF CACHE INTERNAL "") |
| 38 | set(BUILD_WEBP OFF CACHE INTERNAL "") |
| 39 | set(BUILD_WITH_STATIC_CRT OFF CACHE INTERNAL "") |
| 40 | if(IOS) |
| 41 | # tell OpenCV to build zlib so we can link to the static library |
| 42 | set(BUILD_ZLIB ON CACHE INTERNAL "") |
| 43 | else() |
| 44 | set(BUILD_ZLIB OFF CACHE INTERNAL "") |
| 45 | endif() |
| 46 | set(ENABLE_FAST_MATH OFF CACHE INTERNAL "") |
| 47 | set(ENABLE_PRECOMPILED_HEADERS OFF CACHE INTERNAL "") |
| 48 | set(WITH_ANDROID_MEDIANDK OFF CACHE INTERNAL "") |
| 49 | set(WITH_AVFOUNDATION OFF CACHE INTERNAL "") |
| 50 | set(WITH_CAP_IOS OFF CACHE INTERNAL "") |
| 51 | set(WITH_CAROTENE OFF CACHE INTERNAL "") |
| 52 | set(WITH_CLP OFF CACHE INTERNAL "") |
| 53 | set(WITH_CPUFEATURES OFF CACHE INTERNAL "") |
| 54 | set(WITH_DIRECTX OFF CACHE INTERNAL "") |
| 55 | set(WITH_DSHOW OFF CACHE INTERNAL "") |
| 56 | set(WITH_EIGEN OFF CACHE INTERNAL "") |
| 57 | set(WITH_FFMPEG OFF CACHE INTERNAL "") |
| 58 | set(WITH_GDCM OFF CACHE INTERNAL "") |
| 59 | set(WITH_GSTREAMER OFF CACHE INTERNAL "") |
| 60 | set(WITH_GTK OFF CACHE INTERNAL "") |
| 61 | set(WITH_HALIDE OFF CACHE INTERNAL "") |
| 62 | set(WITH_HPX OFF CACHE INTERNAL "") |
| 63 | set(WITH_IMGCODEC_HDR OFF CACHE INTERNAL "") |
| 64 | set(WITH_IMGCODEC_PFM OFF CACHE INTERNAL "") |
| 65 | set(WITH_IMGCODEC_PXM OFF CACHE INTERNAL "") |
| 66 | set(WITH_IMGCODEC_SUNRASTER OFF CACHE INTERNAL "") |
| 67 | set(WITH_INF_ENGINE OFF CACHE INTERNAL "") |
| 68 | set(WITH_IPP OFF CACHE INTERNAL "") |
| 69 | set(WITH_ITT OFF CACHE INTERNAL "") |
| 70 | set(WITH_JASPER OFF CACHE INTERNAL "") |
| 71 | set(WITH_JPEG OFF CACHE INTERNAL "") |
| 72 | set(WITH_MSMF OFF CACHE INTERNAL "") |
| 73 | set(WITH_NGRAPH OFF CACHE INTERNAL "") |
| 74 | set(WITH_ONNX OFF CACHE INTERNAL "") |
| 75 | set(WITH_OPENCL OFF CACHE INTERNAL "") |
| 76 | set(WITH_OPENCL_SVM OFF CACHE INTERNAL "") |
| 77 | set(WITH_OPENEXR OFF CACHE INTERNAL "") |
| 78 | set(WITH_OPENJPEG OFF CACHE INTERNAL "") |
| 79 | set(WITH_OPENMP OFF CACHE INTERNAL "") |
| 80 | set(WITH_OPENVX OFF CACHE INTERNAL "") |
| 81 | set(WITH_PNG OFF CACHE INTERNAL "") |
| 82 | set(WITH_PROTOBUF OFF CACHE INTERNAL "") |
| 83 | set(WITH_PTHREADS_PF OFF CACHE INTERNAL "") |
| 84 | set(WITH_QUIRC OFF CACHE INTERNAL "") |
| 85 | set(WITH_TBB OFF CACHE INTERNAL "") |
| 86 | set(WITH_TENGINE OFF CACHE INTERNAL "") |
| 87 | set(WITH_TIFF OFF CACHE INTERNAL "") |
| 88 | set(WITH_V4L OFF CACHE INTERNAL "") |
| 89 | set(WITH_VULKAN OFF CACHE INTERNAL "") |
| 90 | set(WITH_WEBP OFF CACHE INTERNAL "") |
| 91 | set(WITH_WIN32UI OFF CACHE INTERNAL "") |
| 92 | |
| 93 | if (OCOS_ENABLE_OPENCV_CODECS) |
| 94 | set(BUILD_opencv_imgcodecs ON CACHE INTERNAL "") |
| 95 | |
| 96 | set(BUILD_JPEG ON CACHE INTERNAL "") |
| 97 | set(BUILD_PNG ON CACHE INTERNAL "") |
| 98 | |
| 99 | set(WITH_JPEG ON CACHE INTERNAL "") |
| 100 | set(WITH_PNG ON CACHE INTERNAL "") |
| 101 | endif() |
| 102 | |
| 103 | set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "") |
| 104 | set(BUILD_DOCS OFF CACHE INTERNAL "") |
| 105 | set(BUILD_EXAMPLES OFF CACHE INTERNAL "") |
| 106 | set(BUILD_TESTS OFF CACHE INTERNAL "") |
| 107 | |
| 108 | if(IOS) |
| 109 | # copy what OpenCV's platforms/ios/build_framework.py does and set CPU_BASELINE=DETECT |
| 110 | # https://github.com/opencv/opencv/blob/4223495e6cd67011f86b8ecd9be1fa105018f3b1/platforms/ios/build_framework.py#L253 |
| 111 | set(CPU_BASELINE DETECT) |
| 112 | endif() |
| 113 | |
| 114 | FetchContent_Declare( |
| 115 | opencv |
| 116 | GIT_REPOSITORY https://github.com/opencv/opencv.git |
| 117 | GIT_TAG 4.5.4 |
| 118 | GIT_SHALLOW TRUE |
| 119 | -DBUILD_DOCS:BOOL=FALSE |
| 120 | -DBUILD_EXAMPLES:BOOL=FALSE |
| 121 | -DBUILD_TESTS:BOOL=FALSE |
| 122 | -DBUILD_SHARED_LIBS:BOOL=FALSE |
| 123 | -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/opencv |
| 124 | -DCV_TRACE:BOOL=FALSE |
| 125 | PATCH_COMMAND git checkout . && git apply --whitespace=fix --ignore-space-change --ignore-whitespace ${CMAKE_CURRENT_SOURCE_DIR}/cmake/externals/opencv-no-rtti.patch |
| 126 | ) |
| 127 | |
| 128 | FetchContent_MakeAvailable(opencv) |
| 129 | set(opencv_INCLUDE_DIRS "") |
| 130 | list(APPEND opencv_INCLUDE_DIRS ${OPENCV_CONFIG_FILE_INCLUDE_DIR}) |
| 131 | list(APPEND opencv_INCLUDE_DIRS |
| 132 | ${OPENCV_MODULE_opencv_core_LOCATION}/include |
| 133 | ${OPENCV_MODULE_opencv_imgproc_LOCATION}/include) |
| 134 | set(opencv_LIBS "") |
| 135 | list(APPEND opencv_LIBS opencv_core opencv_imgproc) |
| 136 | |
| 137 | if (OCOS_ENABLE_OPENCV_CODECS) |
| 138 | list(APPEND opencv_INCLUDE_DIRS ${OPENCV_MODULE_opencv_imgcodecs_LOCATION}/include) |
| 139 | list(APPEND opencv_LIBS opencv_imgcodecs) |
| 140 | endif() |
| 141 | |
| 142 | # unset it to avoid affecting other projects. |
| 143 | unset(EXECUTABLE_OUTPUT_PATH CACHE) |
| 144 | |
| 145 | if (CMAKE_SYSTEM_NAME MATCHES "Windows") |
| 146 | set(opencv_projs gen_opencv_java_source gen_opencv_js_source gen_opencv_python_source) |
| 147 | list(APPEND opencv_projs gen_opencv_objc_source gen_opencv_objc_source_ios gen_opencv_objc_source_osx) |
| 148 | list(APPEND opencv_projs opencv_highgui_plugins opencv_videoio_plugins) |
| 149 | foreach(p ${opencv_projs}) |
| 150 | set_target_properties(${p} PROPERTIES FOLDER "externals/opencv") |
| 151 | endforeach() |
| 152 | endif() |
| 153 | |
| 154 | |