Skip to content

Commit d907e08

Browse files
committed
fixes to appveyor build, enable contrib on Linux and MacOS
1 parent cbe8d62 commit d907e08

File tree

6 files changed

+199
-23
lines changed

6 files changed

+199
-23
lines changed

.travis.yml

Lines changed: 104 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,73 +27,176 @@ matrix:
2727
# Exclude the default Python 3.5 build
2828
- python: 3.5
2929
include:
30+
31+
# default builds for MacOS
32+
- os: osx
33+
language: generic
34+
osx_image: xcode8.2
35+
env:
36+
- MB_PYTHON_VERSION=2.7
37+
- ENABLE_CONTRIB=0
38+
- os: osx
39+
language: generic
40+
osx_image: xcode8.2
41+
env:
42+
- MB_PYTHON_VERSION=3.4
43+
- ENABLE_CONTRIB=0
44+
- os: osx
45+
language: generic
46+
osx_image: xcode8.2
47+
env:
48+
- MB_PYTHON_VERSION=3.5
49+
- ENABLE_CONTRIB=0
50+
- os: osx
51+
language: generic
52+
osx_image: xcode8.2
53+
env:
54+
- MB_PYTHON_VERSION=3.6
55+
- ENABLE_CONTRIB=0
56+
57+
# Contrib builds for MacOS
3058
- os: osx
3159
language: generic
3260
osx_image: xcode8.2
3361
env:
3462
- MB_PYTHON_VERSION=2.7
63+
- ENABLE_CONTRIB=1
3564
- os: osx
3665
language: generic
3766
osx_image: xcode8.2
3867
env:
3968
- MB_PYTHON_VERSION=3.4
69+
- ENABLE_CONTRIB=1
4070
- os: osx
4171
language: generic
4272
osx_image: xcode8.2
4373
env:
4474
- MB_PYTHON_VERSION=3.5
75+
- ENABLE_CONTRIB=1
4576
- os: osx
4677
language: generic
4778
osx_image: xcode8.2
4879
env:
4980
- MB_PYTHON_VERSION=3.6
81+
- ENABLE_CONTRIB=1
82+
83+
# default builds for Linux
84+
- os: linux
85+
env:
86+
- MB_PYTHON_VERSION=2.7
87+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
88+
- ENABLE_CONTRIB=0
89+
- os: linux
90+
env:
91+
- MB_PYTHON_VERSION=2.7
92+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
93+
- UNICODE_WIDTH=16
94+
- ENABLE_CONTRIB=0
95+
- os: linux
96+
env:
97+
- MB_PYTHON_VERSION=2.7
98+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
99+
- PLAT=i686
100+
- ENABLE_CONTRIB=0
101+
- os: linux
102+
env:
103+
- MB_PYTHON_VERSION=2.7
104+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
105+
- PLAT=i686
106+
- UNICODE_WIDTH=16
107+
- ENABLE_CONTRIB=0
108+
- os: linux
109+
env:
110+
- MB_PYTHON_VERSION=3.4
111+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
112+
- ENABLE_CONTRIB=0
113+
- os: linux
114+
env:
115+
- MB_PYTHON_VERSION=3.4
116+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
117+
- PLAT=i686
118+
- ENABLE_CONTRIB=0
119+
- os: linux
120+
env:
121+
- MB_PYTHON_VERSION=3.5
122+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
123+
- ENABLE_CONTRIB=0
124+
- os: linux
125+
env:
126+
- MB_PYTHON_VERSION=3.5
127+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
128+
- PLAT=i686
129+
- ENABLE_CONTRIB=0
130+
- os: linux
131+
env:
132+
- MB_PYTHON_VERSION=3.6
133+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
134+
- ENABLE_CONTRIB=0
135+
- os: linux
136+
env:
137+
- MB_PYTHON_VERSION=3.6
138+
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
139+
- PLAT=i686
140+
- ENABLE_CONTRIB=0
141+
142+
# contrib builds for Linux
50143
- os: linux
51144
env:
52145
- MB_PYTHON_VERSION=2.7
53146
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
147+
- ENABLE_CONTRIB=1
54148
- os: linux
55149
env:
56150
- MB_PYTHON_VERSION=2.7
57151
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
58152
- UNICODE_WIDTH=16
153+
- ENABLE_CONTRIB=1
59154
- os: linux
60155
env:
61156
- MB_PYTHON_VERSION=2.7
62157
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
63158
- PLAT=i686
159+
- ENABLE_CONTRIB=1
64160
- os: linux
65161
env:
66162
- MB_PYTHON_VERSION=2.7
67163
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
68164
- PLAT=i686
69165
- UNICODE_WIDTH=16
166+
- ENABLE_CONTRIB=1
70167
- os: linux
71168
env:
72169
- MB_PYTHON_VERSION=3.4
73170
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
171+
- ENABLE_CONTRIB=1
74172
- os: linux
75173
env:
76174
- MB_PYTHON_VERSION=3.4
77175
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
78176
- PLAT=i686
177+
- ENABLE_CONTRIB=1
79178
- os: linux
80179
env:
81180
- MB_PYTHON_VERSION=3.5
82181
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
182+
- ENABLE_CONTRIB=1
83183
- os: linux
84184
env:
85185
- MB_PYTHON_VERSION=3.5
86186
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
87187
- PLAT=i686
188+
- ENABLE_CONTRIB=1
88189
- os: linux
89190
env:
90191
- MB_PYTHON_VERSION=3.6
91192
- DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
193+
- ENABLE_CONTRIB=1
92194
- os: linux
93195
env:
94196
- MB_PYTHON_VERSION=3.6
95197
- DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
96198
- PLAT=i686
199+
- ENABLE_CONTRIB=1
97200

98201
before_install:
99202
- source multibuild/common_utils.sh
@@ -111,5 +214,4 @@ script:
111214

112215
after_success:
113216
# Upload wheels to pypi
114-
- pip install twine
115-
- if [ -n "$TRAVIS_TAG" ]; then twine upload -u ${USER} -p ${PASS} --skip-existing ${TRAVIS_BUILD_DIR}/wheelhouse/opencv*; else echo "Tag not set, deployment skipped."; fi
217+
- source travis/deploy.sh

appveyor.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,8 @@ artifacts:
121121
name: wheels
122122

123123
deploy_script:
124-
- deploy.cmd
124+
- cd %APPVEYOR_BUILD_FOLDER%
125+
126+
- if %ENABLE_CONTRIB% EQU 0 (echo "This is default build. Deplyoment will be done to to PyPI entry opencv-python.") else (echo "This is contrib build. Deplyoment will be done to to PyPI entry opencv-contrib-python.")
127+
128+
- if "%APPVEYOR_REPO_TAG%"=="true" ("%PYTHON%/python.exe" -m twine upload -u %USER% -p %PASS% --skip-existing dist/opencv*) else (echo "Tag not set, deployment skipped.")

deploy.cmd

Lines changed: 0 additions & 13 deletions
This file was deleted.

travis/build-wheels-osx.sh

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ cd opencv
1616
mkdir build
1717
cd build
1818

19-
if [[ $PYTHON_VERSION == 2* ]]; then
19+
if [[ $PYTHON_VERSION == 2* ]] && [[ $ENABLE_CONTRIB == 0 ]]; then
2020
echo 'Config for Py2'
2121
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
2222
-D BUILD_opencv_python3=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
@@ -27,7 +27,7 @@ if [[ $PYTHON_VERSION == 2* ]]; then
2727
-D BUILD_EXAMPLES=OFF ..
2828
fi
2929

30-
if [[ $PYTHON_VERSION == 34 ]]; then
30+
if [[ $PYTHON_VERSION == 34 ]] && [[ $ENABLE_CONTRIB == 0 ]]; then
3131
echo 'Config for Py34'
3232
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
3333
-D BUILD_opencv_python2=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
@@ -38,7 +38,7 @@ if [[ $PYTHON_VERSION == 34 ]]; then
3838
-D BUILD_EXAMPLES=OFF ..
3939
fi
4040

41-
if [[ $PYTHON_VERSION == 35 ]]; then
41+
if [[ $PYTHON_VERSION == 35 ]] && [[ $ENABLE_CONTRIB == 0 ]]; then
4242
echo 'Config for Py35'
4343
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
4444
-D BUILD_opencv_python2=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
@@ -49,7 +49,7 @@ if [[ $PYTHON_VERSION == 35 ]]; then
4949
-D BUILD_EXAMPLES=OFF ..
5050
fi
5151

52-
if [[ $PYTHON_VERSION == 36 ]]; then
52+
if [[ $PYTHON_VERSION == 36 ]] && [[ $ENABLE_CONTRIB == 0 ]]; then
5353
echo 'Config for Py36'
5454
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
5555
-D BUILD_opencv_python2=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
@@ -61,6 +61,51 @@ if [[ $PYTHON_VERSION == 36 ]]; then
6161
fi
6262

6363

64+
if [[ $PYTHON_VERSION == 2* ]] && [[ $ENABLE_CONTRIB == 1 ]]; then
65+
echo 'Config for Py2'
66+
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
67+
-D BUILD_opencv_python3=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
68+
-D PYTHON2_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
69+
-D PYTHON2_LIBRARY=/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/bin \
70+
-D PYTHON2_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 \
71+
-D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF \
72+
-D BUILD_EXAMPLES=OFF ..
73+
fi
74+
75+
if [[ $PYTHON_VERSION == 34 ]] && [[ $ENABLE_CONTRIB == 1 ]]; then
76+
echo 'Config for Py34'
77+
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
78+
-D BUILD_opencv_python2=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
79+
-D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
80+
-D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/bin \
81+
-D PYTHON3_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.4/include/python3.4m \
82+
-D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF \
83+
-D BUILD_EXAMPLES=OFF ..
84+
fi
85+
86+
if [[ $PYTHON_VERSION == 35 ]] && [[ $ENABLE_CONTRIB == 1 ]]; then
87+
echo 'Config for Py35'
88+
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
89+
-D BUILD_opencv_python2=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
90+
-D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
91+
-D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/bin \
92+
-D PYTHON3_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m \
93+
-D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF \
94+
-D BUILD_EXAMPLES=OFF ..
95+
fi
96+
97+
if [[ $PYTHON_VERSION == 36 ]] && [[ $ENABLE_CONTRIB == 1 ]]; then
98+
echo 'Config for Py36'
99+
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/loca -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
100+
-D BUILD_opencv_python2=OFF -D BUILD_opencv_java=OFF -D BUILD_SHARED_LIBS=OFF -D WITH_LAPACK=OFF \
101+
-D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
102+
-D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/bin \
103+
-D PYTHON3_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m \
104+
-D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF \
105+
-D BUILD_EXAMPLES=OFF ..
106+
fi
107+
108+
64109
echo 'Begin build'
65110
make -j4
66111

travis/build-wheels.sh

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
#!/bin/bash
22
set +e
33
echo 'Begin build-wheel...'
4-
/opt/_internal/cpython-3.5.1/bin/pip3.5 install --upgrade git+git://github.com/pypa/auditwheel
54

65
export PYTHON_VERSION=${PYTHON_VERSION/./}
76

@@ -17,7 +16,7 @@ for PYBIN in /opt/python/cp$PYTHON_VERSION*/bin; do
1716
echo 'Begin build'
1817
cd opencv
1918
mkdir build
20-
if [[ $PYTHON_VERSION == 2* ]]; then
19+
if [[ $PYTHON_VERSION == 2* ]] && [[ $ENABLE_CONTRIB == 0 ]]; then
2120
echo 'Config for Py2'
2221
cmake28 -H"." -B"build" -DCMAKE_BUILD_TYPE=Release -DBUILD_opencv_python3=OFF -DBUILD_opencv_java=OFF -DBUILD_SHARED_LIBS=OFF \
2322
-DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DWITH_IPP=OFF \
@@ -30,7 +29,7 @@ for PYBIN in /opt/python/cp$PYTHON_VERSION*/bin; do
3029
-DPYTHON2_NUMPY_VERSION=$($PYBIN/python -c "import numpy; print(numpy.version.version)")
3130
fi
3231

33-
if [[ $PYTHON_VERSION == 3* ]]; then
32+
if [[ $PYTHON_VERSION == 3* ]] && [[ $ENABLE_CONTRIB == 0 ]]; then
3433
echo 'Config for Py3'
3534
cmake28 -H"." -B"build" -DCMAKE_BUILD_TYPE=Release -DBUILD_opencv_python2=OFF -DBUILD_opencv_java=OFF -DBUILD_SHARED_LIBS=OFF \
3635
-DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DWITH_IPP=OFF \
@@ -43,6 +42,32 @@ for PYBIN in /opt/python/cp$PYTHON_VERSION*/bin; do
4342
-DPYTHON3_NUMPY_VERSION=$($PYBIN/python -c "import numpy; print(numpy.version.version)")
4443
fi
4544

45+
if [[ $PYTHON_VERSION == 2* ]] && [[ $ENABLE_CONTRIB == 1 ]]; then
46+
echo 'Config for Py2'
47+
cmake28 -H"." -B"build" -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_opencv_python3=OFF -DBUILD_opencv_java=OFF -DBUILD_SHARED_LIBS=OFF \
48+
-DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DWITH_IPP=OFF \
49+
-DPYTHON2INTERP_FOUND=ON -DPYTHON2LIBS_FOUND=ON \
50+
-DPYTHON2_EXECUTABLE=$PYBIN/python \
51+
-DPYTHON2_VERSION_STRING=$($PYBIN/python -c "from platform import python_version; print python_version()") \
52+
-DPYTHON2_INCLUDE_PATH=$($PYBIN/python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
53+
-DPYTHON2_PACKAGES_PATH=$($PYBIN/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
54+
-DPYTHON2_NUMPY_INCLUDE_DIRS=$($PYBIN/python -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print(os.pathsep.join(numpy.distutils.misc_util.get_numpy_include_dirs()))") \
55+
-DPYTHON2_NUMPY_VERSION=$($PYBIN/python -c "import numpy; print(numpy.version.version)")
56+
fi
57+
58+
if [[ $PYTHON_VERSION == 3* ]] && [[ $ENABLE_CONTRIB == 1 ]]; then
59+
echo 'Config for Py3'
60+
cmake28 -H"." -B"build" -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DBUILD_opencv_python2=OFF -DBUILD_opencv_java=OFF -DBUILD_SHARED_LIBS=OFF \
61+
-DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DWITH_IPP=OFF \
62+
-DPYTHON3INTERP_FOUND=ON -DPYTHON3LIBS_FOUND=ON \
63+
-DPYTHON3_EXECUTABLE=$PYBIN/python \
64+
-DPYTHON3_VERSION_STRING=$($PYBIN/python -c "from platform import python_version; print python_version()") \
65+
-DPYTHON3_INCLUDE_PATH=$($PYBIN/python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
66+
-DPYTHON3_PACKAGES_PATH=$($PYBIN/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
67+
-DPYTHON3_NUMPY_INCLUDE_DIRS=$($PYBIN/python -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print(os.pathsep.join(numpy.distutils.misc_util.get_numpy_include_dirs()))") \
68+
-DPYTHON3_NUMPY_VERSION=$($PYBIN/python -c "import numpy; print(numpy.version.version)")
69+
fi
70+
4671
if [[ $PYTHON_VERSION == 2* ]]; then
4772
echo 'Build for Py2'
4873
(cd build; make -j5 opencv_python2)

travis/deploy.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
pip install twine
2+
3+
if [[ $ENABLE_CONTRIB == 0 ]]; then
4+
echo "This is default build. Deployment will be done to to PyPI entry opencv-python."
5+
else
6+
echo "This is contrib build. Deployment will be done to to PyPI entry opencv-contrib-python."
7+
fi
8+
9+
if [ -n "$TRAVIS_TAG" ]; then
10+
twine upload -u ${USER} -p ${PASS} --skip-existing ${TRAVIS_BUILD_DIR}/wheelhouse/opencv*;
11+
else
12+
echo "Tag not set, deployment skipped.";
13+
fi

0 commit comments

Comments
 (0)