@@ -15,6 +15,8 @@ function pre_build_osx {
15
15
local build_dir=" $repo_dir /opencv/build"
16
16
local num_cpus=$( sysctl -n hw.ncpu)
17
17
num_cpus=${num_cpus:- 4}
18
+ local travis_start_time=$(( $TRAVIS_TIMER_START_TIME / 10 ** 9 ))
19
+ local time_limit=$(( 30 * 60 ))
18
20
19
21
cd " $repo_dir "
20
22
git submodule sync
@@ -44,7 +46,6 @@ function pre_build_osx {
44
46
-DBUILD_TESTS=OFF
45
47
-DBUILD_PERF_TESTS=OFF
46
48
-DBUILD_DOCS=OFF
47
- -DBUILD_LIST=core,imgproc,videoio,python3 # FIXME: experiments
48
49
)
49
50
if [ $ENABLE_CONTRIB -ne 0 ]; then
50
51
CMAKE_OPTS+=(-DOPENCV_EXTRA_MODULES_PATH=" $repo_dir /opencv_contrib/modules" )
@@ -128,13 +129,18 @@ function pre_build_osx {
128
129
)
129
130
for m in " ${CV_MODULES[@]} " ; do
130
131
if make help | grep -w " $m " ; then
132
+ # Check time limit (3min should be enough for a module to built)
133
+ local projected_time=$(( $(date +% s) - travis_start_time + 3 * 60 ))
134
+ if [ $projected_time -ge $time_limit ]; then
135
+ echo " *** Not enough time to build $m : $(( projected_time/ 60 )) m (${projected_time} s)"
136
+ return 1
137
+ fi
131
138
make -j${num_cpus} " $m "
139
+ local elapsed_time=$(( $(date +% s) - travis_start_time))
140
+ echo " Elapsed time: " $(( elapsed_time/ 60 )) " m (${elapsed_time} s)"
132
141
fi
133
142
done
134
143
make -j${num_cpus}
135
-
136
- # Print ccache stats
137
- ccache -s
138
144
}
139
145
140
146
function build_osx {
@@ -170,7 +176,7 @@ function build_osx {
170
176
function build_bdist_osx_wheel {
171
177
local repo_dir=$( abspath ${1:- $REPO_DIR } )
172
178
[ -z " $repo_dir " ] && echo " repo_dir not defined" && exit 1
173
- pre_build_osx " $repo_dir "
179
+ pre_build_osx " $repo_dir " || return $?
174
180
if [ -n " $BUILD_DEPENDS " ]; then
175
181
pip install $( pip_opts) $BUILD_DEPENDS
176
182
fi
0 commit comments