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.3 kB

4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  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 -s")
  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 "2205d3169238ec1f184438a96de68513")
  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 "e8cb208ce2723481408b604b480183b6")
  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/*/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. -DCV_TRACE=OFF # cause memory usage increacing
  71. -DTIFF_INCLUDE_DIR=${tiff_INC}
  72. -DTIFF_LIBRARY=${tiff_LIB})
  73. elseif(WIN32)
  74. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  75. mindspore_add_pkg(opencv
  76. VER 4.5.1
  77. LIBS libopencv_core451.dll.a libopencv_imgcodecs451.dll.a libopencv_imgproc451.dll.a
  78. LIB_PATH x64/mingw/lib
  79. URL ${REQ_URL}
  80. MD5 ${MD5}
  81. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  82. -DWITH_ADE=OFF
  83. -DBUILD_ZLIB=ON
  84. -DBUILD_JPEG=ON
  85. -DBUILD_PNG=ON
  86. -DBUILD_OPENEXR=ON
  87. -DBUILD_TESTS=OFF
  88. -DBUILD_PERF_TESTS=OFF
  89. -DBUILD_opencv_apps=OFF
  90. -DCMAKE_SKIP_RPATH=TRUE
  91. -DBUILD_opencv_python3=OFF
  92. -DBUILD_opencv_videoio=OFF
  93. -DWITH_FFMPEG=OFF
  94. -DWITH_TIFF=ON
  95. -DBUILD_TIFF=OFF
  96. -DWITH_JASPER=OFF
  97. -DBUILD_JASPER=OFF
  98. -DCV_TRACE=OFF # cause memory usage increacing
  99. -DTIFF_INCLUDE_DIR=${tiff_INC}
  100. -DTIFF_LIBRARY=${tiff_LIB})
  101. elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
  102. mindspore_add_pkg(opencv
  103. VER 4.2.0
  104. LIBS libopencv_core420.dll.a libopencv_imgcodecs420.dll.a libopencv_imgproc420.dll.a
  105. LIB_PATH x64/mingw/lib
  106. URL ${REQ_URL}
  107. MD5 ${MD5}
  108. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  109. -DWITH_ADE=OFF
  110. -DBUILD_ZLIB=ON
  111. -DBUILD_JPEG=ON
  112. -DBUILD_PNG=ON
  113. -DBUILD_OPENEXR=ON
  114. -DBUILD_TESTS=OFF
  115. -DBUILD_PERF_TESTS=OFF
  116. -DBUILD_opencv_apps=OFF
  117. -DCMAKE_SKIP_RPATH=TRUE
  118. -DBUILD_opencv_python3=OFF
  119. -DBUILD_opencv_videoio=OFF
  120. -DWITH_FFMPEG=OFF
  121. -DWITH_TIFF=ON
  122. -DBUILD_TIFF=OFF
  123. -DWITH_JASPER=OFF
  124. -DBUILD_JASPER=OFF
  125. -DCV_TRACE=OFF # cause memory usage increacing
  126. -DWITH_LAPACK=OFF
  127. -DTIFF_INCLUDE_DIR=${tiff_INC}
  128. -DTIFF_LIBRARY=${tiff_LIB})
  129. endif()
  130. else()
  131. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  132. mindspore_add_pkg(opencv
  133. VER 4.5.1
  134. LIBS opencv_core opencv_imgcodecs opencv_imgproc
  135. URL ${REQ_URL}
  136. MD5 ${MD5}
  137. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  138. -DWITH_ADE=OFF
  139. -DBUILD_ZLIB=ON
  140. -DBUILD_JPEG=ON
  141. -DBUILD_PNG=ON
  142. -DBUILD_OPENEXR=ON
  143. -DBUILD_TESTS=OFF
  144. -DBUILD_PERF_TESTS=OFF
  145. -DBUILD_opencv_apps=OFF
  146. -DCMAKE_SKIP_RPATH=TRUE
  147. -DBUILD_opencv_python3=OFF
  148. -DWITH_FFMPEG=OFF
  149. -DWITH_TIFF=ON
  150. -DBUILD_TIFF=OFF
  151. -DWITH_JASPER=OFF
  152. -DBUILD_JASPER=OFF
  153. -DCV_TRACE=OFF # cause memory usage increacing
  154. -DTIFF_INCLUDE_DIR=${tiff_INC}
  155. -DTIFF_LIBRARY=${tiff_LIB})
  156. elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
  157. mindspore_add_pkg(opencv
  158. VER 4.2.0
  159. LIBS opencv_core opencv_imgcodecs opencv_imgproc
  160. URL ${REQ_URL}
  161. MD5 ${MD5}
  162. CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
  163. -DWITH_ADE=OFF
  164. -DBUILD_ZLIB=ON
  165. -DBUILD_JPEG=ON
  166. -DBUILD_PNG=ON
  167. -DBUILD_OPENEXR=ON
  168. -DBUILD_TESTS=OFF
  169. -DBUILD_PERF_TESTS=OFF
  170. -DBUILD_opencv_apps=OFF
  171. -DCMAKE_SKIP_RPATH=TRUE
  172. -DBUILD_opencv_python3=OFF
  173. -DWITH_FFMPEG=OFF
  174. -DWITH_TIFF=ON
  175. -DBUILD_TIFF=OFF
  176. -DWITH_JASPER=OFF
  177. -DBUILD_JASPER=OFF
  178. -DCV_TRACE=OFF # cause memory usage increacing
  179. -DWITH_LAPACK=OFF
  180. -DTIFF_INCLUDE_DIR=${tiff_INC}
  181. -DTIFF_LIBRARY=${tiff_LIB})
  182. endif()
  183. endif()
  184. if(MSVC)
  185. include_directories(${opencv_INC})
  186. add_library(mindspore::opencv_core ALIAS opencv::opencv_core451.lib)
  187. add_library(mindspore::opencv_imgcodecs ALIAS opencv::opencv_imgcodecs451.lib)
  188. add_library(mindspore::opencv_imgproc ALIAS opencv::opencv_imgproc451.lib)
  189. elseif(WIN32)
  190. if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
  191. include_directories(${opencv_INC})
  192. add_library(mindspore::opencv_core ALIAS opencv::libopencv_core451.dll.a)
  193. add_library(mindspore::opencv_imgcodecs ALIAS opencv::libopencv_imgcodecs451.dll.a)
  194. add_library(mindspore::opencv_imgproc ALIAS opencv::libopencv_imgproc451.dll.a)
  195. elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
  196. include_directories(${opencv_INC})
  197. add_library(mindspore::opencv_core ALIAS opencv::libopencv_core420.dll.a)
  198. add_library(mindspore::opencv_imgcodecs ALIAS opencv::libopencv_imgcodecs420.dll.a)
  199. add_library(mindspore::opencv_imgproc ALIAS opencv::libopencv_imgproc420.dll.a)
  200. endif()
  201. else()
  202. include_directories(${opencv_INC}/opencv4)
  203. add_library(mindspore::opencv_core ALIAS opencv::opencv_core)
  204. add_library(mindspore::opencv_imgcodecs ALIAS opencv::opencv_imgcodecs)
  205. add_library(mindspore::opencv_imgproc ALIAS opencv::opencv_imgproc)
  206. endif()