You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

opencv.cmake 9.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. if(MSVC)
  2. set(opencv_CXXFLAGS "${CMAKE_CXX_FLAGS}")
  3. set(opencv_CFLAGS "${CMAKE_C_FLAGS}")
  4. set(opencv_LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
  5. elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
  6. set(opencv_CXXFLAGS "-fstack-protector-all -Wno-uninitialized -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -O2")
  7. set(opencv_CFLAGS "-fstack-protector-all -Wno-uninitialized -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -O2")
  8. set(opencv_LDFLAGS "-Wl")
  9. elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
  10. set(opencv_CXXFLAGS "-fstack-protector-all -Wno-maybe-uninitialized -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -O2")
  11. set(opencv_CFLAGS "-fstack-protector-all -Wno-maybe-uninitialized -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -O2")
  12. set(opencv_CXXFLAGS "${opencv_CXXFLAGS} -Wno-attributes -Wno-unknown-pragmas")
  13. set(opencv_CXXFLAGS "${opencv_CXXFLAGS} -Wno-unused-value -Wno-implicit-fallthrough")
  14. else()
  15. set(opencv_CXXFLAGS "-fstack-protector-all -Wno-maybe-uninitialized -Wno-unused-parameter -D_FORTIFY_SOURCE=2")
  16. set(opencv_CXXFLAGS "${opencv_CXXFLAGS} -O2")
  17. if(NOT ENABLE_GLIBCXX)
  18. set(opencv_CXXFLAGS "${opencv_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
  19. endif()
  20. set(opencv_CFLAGS "-fstack-protector-all -Wno-maybe-uninitialized -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -O2")
  21. set(opencv_LDFLAGS "-Wl,-z,relro,-z,now,-z,noexecstack")
  22. endif()
  23. if(ENABLE_GITEE)
  24. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  25. set(REQ_URL "https://gitee.com/mirrors/opencv/repository/archive/4.5.1.tar.gz")
  26. set(MD5 "e74309207f2fa88fb6cc417d8ea9ff09")
  27. elseif((PYTHON_VERSION MATCHES "3.7") OR (PYTHON_VERSION MATCHES "3.8"))
  28. set(REQ_URL "https://gitee.com/mirrors/opencv/repository/archive/4.2.0.tar.gz")
  29. set(MD5 "00424c7c4acde1e26ebf17aaa155bf23")
  30. else()
  31. message("Could not find 'Python 3.8' or 'Python 3.7' or 'Python 3.9'")
  32. return()
  33. endif()
  34. else()
  35. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  36. set(REQ_URL "https://github.com/opencv/opencv/archive/4.5.1.tar.gz")
  37. set(MD5 "2205d3169238ec1f184438a96de68513")
  38. elseif((PYTHON_VERSION MATCHES "3.7") OR (PYTHON_VERSION MATCHES "3.8"))
  39. set(REQ_URL "https://github.com/opencv/opencv/archive/4.2.0.tar.gz")
  40. set(MD5 "e8cb208ce2723481408b604b480183b6")
  41. else()
  42. message("Could not find 'Python 3.8' or 'Python 3.7' or 'Python 3.9'")
  43. return()
  44. endif()
  45. endif()
  46. if(MSVC)
  47. mindspore_add_pkg(opencv
  48. VER 4.5.1
  49. LIBS opencv_core451.lib opencv_imgcodecs451.lib opencv_imgproc451.lib
  50. LIB_PATH x64/vc15/lib
  51. URL ${REQ_URL}
  52. MD5 ${MD5}
  53. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  54. -DWITH_ADE=OFF
  55. -DBUILD_ZLIB=ON
  56. -DBUILD_JPEG=ON
  57. -DBUILD_PNG=ON
  58. -DBUILD_OPENEXR=ON
  59. -DBUILD_TESTS=OFF
  60. -DBUILD_PERF_TESTS=OFF
  61. -DBUILD_opencv_apps=OFF
  62. -DCMAKE_SKIP_RPATH=TRUE
  63. -DBUILD_opencv_python3=OFF
  64. -DBUILD_opencv_videoio=OFF
  65. -DWITH_FFMPEG=OFF
  66. -DWITH_TIFF=ON
  67. -DBUILD_TIFF=OFF
  68. -DWITH_JASPER=OFF
  69. -DBUILD_JASPER=OFF
  70. -DTIFF_INCLUDE_DIR=${tiff_INC}
  71. -DTIFF_LIBRARY=${tiff_LIB})
  72. elseif(WIN32)
  73. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  74. mindspore_add_pkg(opencv
  75. VER 4.5.1
  76. LIBS libopencv_core451.dll.a libopencv_imgcodecs451.dll.a libopencv_imgproc451.dll.a
  77. LIB_PATH x64/mingw/lib
  78. URL ${REQ_URL}
  79. MD5 ${MD5}
  80. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  81. -DWITH_ADE=OFF
  82. -DBUILD_ZLIB=ON
  83. -DBUILD_JPEG=ON
  84. -DBUILD_PNG=ON
  85. -DBUILD_OPENEXR=ON
  86. -DBUILD_TESTS=OFF
  87. -DBUILD_PERF_TESTS=OFF
  88. -DBUILD_opencv_apps=OFF
  89. -DCMAKE_SKIP_RPATH=TRUE
  90. -DBUILD_opencv_python3=OFF
  91. -DBUILD_opencv_videoio=OFF
  92. -DWITH_FFMPEG=OFF
  93. -DWITH_TIFF=ON
  94. -DBUILD_TIFF=OFF
  95. -DWITH_JASPER=OFF
  96. -DBUILD_JASPER=OFF
  97. -DTIFF_INCLUDE_DIR=${tiff_INC}
  98. -DTIFF_LIBRARY=${tiff_LIB})
  99. elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
  100. mindspore_add_pkg(opencv
  101. VER 4.2.0
  102. LIBS libopencv_core420.dll.a libopencv_imgcodecs420.dll.a libopencv_imgproc420.dll.a
  103. LIB_PATH x64/mingw/lib
  104. URL ${REQ_URL}
  105. MD5 ${MD5}
  106. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  107. -DWITH_ADE=OFF
  108. -DBUILD_ZLIB=ON
  109. -DBUILD_JPEG=ON
  110. -DBUILD_PNG=ON
  111. -DBUILD_OPENEXR=ON
  112. -DBUILD_TESTS=OFF
  113. -DBUILD_PERF_TESTS=OFF
  114. -DBUILD_opencv_apps=OFF
  115. -DCMAKE_SKIP_RPATH=TRUE
  116. -DBUILD_opencv_python3=OFF
  117. -DBUILD_opencv_videoio=OFF
  118. -DWITH_FFMPEG=OFF
  119. -DWITH_TIFF=ON
  120. -DBUILD_TIFF=OFF
  121. -DWITH_JASPER=OFF
  122. -DBUILD_JASPER=OFF
  123. -DWITH_LAPACK=OFF
  124. -DTIFF_INCLUDE_DIR=${tiff_INC}
  125. -DTIFF_LIBRARY=${tiff_LIB})
  126. endif()
  127. else()
  128. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  129. mindspore_add_pkg(opencv
  130. VER 4.5.1
  131. LIBS opencv_core opencv_imgcodecs opencv_imgproc
  132. URL ${REQ_URL}
  133. MD5 ${MD5}
  134. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  135. -DWITH_ADE=OFF
  136. -DBUILD_ZLIB=ON
  137. -DBUILD_JPEG=ON
  138. -DBUILD_PNG=ON
  139. -DBUILD_OPENEXR=ON
  140. -DBUILD_TESTS=OFF
  141. -DBUILD_PERF_TESTS=OFF
  142. -DBUILD_opencv_apps=OFF
  143. -DCMAKE_SKIP_RPATH=TRUE
  144. -DBUILD_opencv_python3=OFF
  145. -DWITH_FFMPEG=OFF
  146. -DWITH_TIFF=ON
  147. -DBUILD_TIFF=OFF
  148. -DWITH_JASPER=OFF
  149. -DBUILD_JASPER=OFF
  150. -DTIFF_INCLUDE_DIR=${tiff_INC}
  151. -DTIFF_LIBRARY=${tiff_LIB})
  152. elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
  153. mindspore_add_pkg(opencv
  154. VER 4.2.0
  155. LIBS opencv_core opencv_imgcodecs opencv_imgproc
  156. URL ${REQ_URL}
  157. MD5 ${MD5}
  158. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  159. -DWITH_ADE=OFF
  160. -DBUILD_ZLIB=ON
  161. -DBUILD_JPEG=ON
  162. -DBUILD_PNG=ON
  163. -DBUILD_OPENEXR=ON
  164. -DBUILD_TESTS=OFF
  165. -DBUILD_PERF_TESTS=OFF
  166. -DBUILD_opencv_apps=OFF
  167. -DCMAKE_SKIP_RPATH=TRUE
  168. -DBUILD_opencv_python3=OFF
  169. -DWITH_FFMPEG=OFF
  170. -DWITH_TIFF=ON
  171. -DBUILD_TIFF=OFF
  172. -DWITH_JASPER=OFF
  173. -DBUILD_JASPER=OFF
  174. -DWITH_LAPACK=OFF
  175. -DTIFF_INCLUDE_DIR=${tiff_INC}
  176. -DTIFF_LIBRARY=${tiff_LIB})
  177. endif()
  178. endif()
  179. if(MSVC)
  180. include_directories(${opencv_INC})
  181. add_library(mindspore::opencv_core ALIAS opencv::opencv_core451.lib)
  182. add_library(mindspore::opencv_imgcodecs ALIAS opencv::opencv_imgcodecs451.lib)
  183. add_library(mindspore::opencv_imgproc ALIAS opencv::opencv_imgproc451.lib)
  184. elseif(WIN32)
  185. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  186. include_directories(${opencv_INC})
  187. add_library(mindspore::opencv_core ALIAS opencv::libopencv_core451.dll.a)
  188. add_library(mindspore::opencv_imgcodecs ALIAS opencv::libopencv_imgcodecs451.dll.a)
  189. add_library(mindspore::opencv_imgproc ALIAS opencv::libopencv_imgproc451.dll.a)
  190. elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
  191. include_directories(${opencv_INC})
  192. add_library(mindspore::opencv_core ALIAS opencv::libopencv_core420.dll.a)
  193. add_library(mindspore::opencv_imgcodecs ALIAS opencv::libopencv_imgcodecs420.dll.a)
  194. add_library(mindspore::opencv_imgproc ALIAS opencv::libopencv_imgproc420.dll.a)
  195. endif()
  196. else()
  197. include_directories(${opencv_INC}/opencv4)
  198. add_library(mindspore::opencv_core ALIAS opencv::opencv_core)
  199. add_library(mindspore::opencv_imgcodecs ALIAS opencv::opencv_imgcodecs)
  200. add_library(mindspore::opencv_imgproc ALIAS opencv::opencv_imgproc)
  201. endif()