• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if(MSVC)
2    set(opencv_CXXFLAGS "${CMAKE_CXX_FLAGS}")
3    set(opencv_CFLAGS "${CMAKE_C_FLAGS}")
4    set(opencv_LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
5elseif(${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")
9elseif(${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")
14else()
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")
22endif()
23
24if(ENABLE_GITEE)
25    if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
26        set(REQ_URL "https://gitee.com/mirrors/opencv/repository/archive/4.5.1.tar.gz")
27        set(MD5 "59fd2c5449f8a3a64dd699b1b3b52dac")
28    elseif((PYTHON_VERSION MATCHES "3.7") OR (PYTHON_VERSION MATCHES "3.8"))
29        set(REQ_URL "https://gitee.com/mirrors/opencv/repository/archive/4.2.0.tar.gz")
30        set(MD5 "a60c420b4f0e4a4a7b570995367fc443")
31    else()
32        message("Could not find 'Python 3.8' or 'Python 3.7' or 'Python 3.9'")
33        return()
34    endif()
35else()
36    if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
37        set(REQ_URL "https://github.com/opencv/opencv/archive/4.5.1.tar.gz")
38        set(MD5 "2205d3169238ec1f184438a96de68513")
39    elseif((PYTHON_VERSION MATCHES "3.7") OR (PYTHON_VERSION MATCHES "3.8"))
40        set(REQ_URL "https://github.com/opencv/opencv/archive/4.2.0.tar.gz")
41        set(MD5 "e8cb208ce2723481408b604b480183b6")
42    else()
43        message("Could not find 'Python 3.8' or 'Python 3.7' or 'Python 3.9'")
44        return()
45    endif()
46endif()
47
48if(MSVC)
49    mindspore_add_pkg(opencv
50            VER 4.5.1
51            LIBS opencv_core451.lib opencv_imgcodecs451.lib opencv_imgproc451.lib
52            LIB_PATH x64/*/lib
53            URL ${REQ_URL}
54            MD5 ${MD5}
55            CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
56            -DWITH_ADE=OFF
57            -DBUILD_ZLIB=ON
58            -DBUILD_JPEG=ON
59            -DBUILD_PNG=ON
60            -DBUILD_OPENEXR=ON
61            -DBUILD_TESTS=OFF
62            -DBUILD_PERF_TESTS=OFF
63            -DBUILD_opencv_apps=OFF
64            -DCMAKE_SKIP_RPATH=TRUE
65            -DBUILD_opencv_python3=OFF
66            -DBUILD_opencv_videoio=OFF
67            -DWITH_FFMPEG=OFF
68            -DWITH_TIFF=ON
69            -DBUILD_TIFF=OFF
70            -DWITH_JASPER=OFF
71            -DBUILD_JASPER=OFF
72            -DTIFF_INCLUDE_DIR=${tiff_INC}
73            -DTIFF_LIBRARY=${tiff_LIB})
74elseif(WIN32)
75    if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
76        mindspore_add_pkg(opencv
77                VER 4.5.1
78                LIBS libopencv_core451.dll.a libopencv_imgcodecs451.dll.a libopencv_imgproc451.dll.a
79                LIB_PATH x64/mingw/lib
80                URL ${REQ_URL}
81                MD5 ${MD5}
82                CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
83                -DWITH_ADE=OFF
84                -DBUILD_ZLIB=ON
85                -DBUILD_JPEG=ON
86                -DBUILD_PNG=ON
87                -DBUILD_OPENEXR=ON
88                -DBUILD_TESTS=OFF
89                -DBUILD_PERF_TESTS=OFF
90                -DBUILD_opencv_apps=OFF
91                -DCMAKE_SKIP_RPATH=TRUE
92                -DBUILD_opencv_python3=OFF
93                -DBUILD_opencv_videoio=OFF
94                -DWITH_FFMPEG=OFF
95                -DWITH_TIFF=ON
96                -DBUILD_TIFF=OFF
97                -DWITH_JASPER=OFF
98                -DBUILD_JASPER=OFF
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                -DWITH_LAPACK=OFF
126                -DTIFF_INCLUDE_DIR=${tiff_INC}
127                -DTIFF_LIBRARY=${tiff_LIB})
128    endif()
129else()
130    if("${BUILD_LITE}" STREQUAL "on"  OR PYTHON_VERSION MATCHES "3.9")
131        mindspore_add_pkg(opencv
132                VER 4.5.1
133                LIBS opencv_core opencv_imgcodecs opencv_imgproc
134                URL ${REQ_URL}
135                MD5  ${MD5}
136                CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
137                -DWITH_ADE=OFF
138                -DBUILD_ZLIB=ON
139                -DBUILD_JPEG=ON
140                -DBUILD_PNG=ON
141                -DBUILD_OPENEXR=ON
142                -DBUILD_TESTS=OFF
143                -DBUILD_PERF_TESTS=OFF
144                -DBUILD_opencv_apps=OFF
145                -DCMAKE_SKIP_RPATH=TRUE
146                -DBUILD_opencv_python3=OFF
147                -DWITH_FFMPEG=OFF
148                -DWITH_TIFF=ON
149                -DBUILD_TIFF=OFF
150                -DWITH_JASPER=OFF
151                -DBUILD_JASPER=OFF
152                -DTIFF_INCLUDE_DIR=${tiff_INC}
153                -DTIFF_LIBRARY=${tiff_LIB})
154    elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
155        mindspore_add_pkg(opencv
156                VER 4.2.0
157                LIBS opencv_core opencv_imgcodecs opencv_imgproc
158                URL ${REQ_URL}
159                MD5  ${MD5}
160                CMAKE_OPTION -DCMAKE_BUILD_TYPE=Release -DWITH_PROTOBUF=OFF -DWITH_WEBP=OFF -DWITH_IPP=OFF
161                -DWITH_ADE=OFF
162                -DBUILD_ZLIB=ON
163                -DBUILD_JPEG=ON
164                -DBUILD_PNG=ON
165                -DBUILD_OPENEXR=ON
166                -DBUILD_TESTS=OFF
167                -DBUILD_PERF_TESTS=OFF
168                -DBUILD_opencv_apps=OFF
169                -DCMAKE_SKIP_RPATH=TRUE
170                -DBUILD_opencv_python3=OFF
171                -DWITH_FFMPEG=OFF
172                -DWITH_TIFF=ON
173                -DBUILD_TIFF=OFF
174                -DWITH_JASPER=OFF
175                -DBUILD_JASPER=OFF
176                -DWITH_LAPACK=OFF
177                -DTIFF_INCLUDE_DIR=${tiff_INC}
178                -DTIFF_LIBRARY=${tiff_LIB})
179    endif()
180endif()
181
182if(MSVC)
183    include_directories(${opencv_INC})
184    add_library(mindspore::opencv_core ALIAS opencv::opencv_core451.lib)
185    add_library(mindspore::opencv_imgcodecs ALIAS opencv::opencv_imgcodecs451.lib)
186    add_library(mindspore::opencv_imgproc ALIAS opencv::opencv_imgproc451.lib)
187elseif(WIN32)
188    if("${BUILD_LITE}" STREQUAL "on" OR PYTHON_VERSION MATCHES "3.9")
189        include_directories(${opencv_INC})
190        add_library(mindspore::opencv_core ALIAS opencv::libopencv_core451.dll.a)
191        add_library(mindspore::opencv_imgcodecs ALIAS opencv::libopencv_imgcodecs451.dll.a)
192        add_library(mindspore::opencv_imgproc ALIAS opencv::libopencv_imgproc451.dll.a)
193    elseif(PYTHON_VERSION MATCHES "3.8" OR PYTHON_VERSION MATCHES "3.7")
194        include_directories(${opencv_INC})
195        add_library(mindspore::opencv_core ALIAS opencv::libopencv_core420.dll.a)
196        add_library(mindspore::opencv_imgcodecs ALIAS opencv::libopencv_imgcodecs420.dll.a)
197        add_library(mindspore::opencv_imgproc ALIAS opencv::libopencv_imgproc420.dll.a)
198    endif()
199else()
200    include_directories(${opencv_INC}/opencv4)
201    add_library(mindspore::opencv_core ALIAS opencv::opencv_core)
202    add_library(mindspore::opencv_imgcodecs ALIAS opencv::opencv_imgcodecs)
203    add_library(mindspore::opencv_imgproc ALIAS opencv::opencv_imgproc)
204endif()
205