-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfigure
executable file
·137 lines (120 loc) · 3.11 KB
/
configure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/bin/bash
set -e
PREFIX=$(pwd)/local
CUDA_HOME=/usr/local/cuda
BUILD_BENCHMARKS=0
BUILD_EXAMPLES=0
BUILD_GBENCH=0
BUILD_GTEST=0
BUILD_LIB=0
BUILD_TESTS=0
HAVE_CUDA=0
USE_OPENCV=0
VERBOSE=0
parse_args() {
for i in "$@"; do
case $i in
--prefix=*)
PREFIX="${i#*=}"
;;
--use-opencv)
USE_OPENCV=1
;;
--examples)
BUILD_EXAMPLES=1
;;
--tests)
BUILD_TESTS=1
;;
--no-tests)
BUILD_TESTS=0
;;
--benchmarks)
BUILD_BENCHMARKS=1
;;
--no-benchmarks)
BUILD_BENCHMARKS=0
;;
--no-cuda)
HAVE_CUDA=0
;;
--build-lib)
BUILD_LIB=1
;;
--build-gtest)
BUILD_GTEST=1
;;
--build-gbench)
BUILD_GBENCH=1
;;
--with-cuda=*)
CUDA_HOME="${i#*=}"
echo "configure --with-cuda=$CUDA_HOME"
;;
--release=*)
RELEASE="${i#*=}"
;;
--verbose)
VERBOSE=1
;;
--quiet)
QUIET=1
;;
*)
echo "unknown argument $i"
exit 1
;;
esac
done
if [ -f $CUDA_HOME/include/cuda_runtime.h ]; then
HAVE_CUDA=1
fi
}
. ./auto/cmake
add_cmake_prefixes() {
add_cmake_prefix $HOME/local
add_cmake_prefix $HOME/local/gtest
add_cmake_prefix $HOME/local/openblas
}
add_cmake_flags() {
add_cmake_flag CMAKE_INSTALL_PREFIX ${PREFIX}
add_cmake_flag BUILD_TESTS ${BUILD_TESTS}
add_cmake_flag BUILD_BENCHMARKS ${BUILD_BENCHMARKS}
add_cmake_flag BUILD_EXAMPLES ${BUILD_EXAMPLES}
if [ ${HAVE_CUDA} -eq 1 ]; then
add_cmake_flag HAVE_CUDA ${HAVE_CUDA}
add_cmake_flag CUDA_HOME $CUDA_HOME
fi
if [ ${BUILD_LIB} -eq 1 ]; then
add_cmake_flag BUILD_LIB ${BUILD_LIB}
fi
if [ ${BUILD_EXAMPLES} -eq 1 ]; then
add_cmake_flag USE_OPENCV ${USE_OPENCV}
fi
if [ ${BUILD_TESTS} -eq 1 ] && [ ${BUILD_GTEST} -eq 1 ]; then
add_cmake_flag BUILD_GTEST ${BUILD_GTEST}
pass_cmake_flag_from_env GTEST_GIT_URL
fi
if [ ${BUILD_BENCHMARKS} -eq 1 ] && [ ${BUILD_GBENCH} -eq 1 ]; then
add_cmake_flag BUILD_GBENCH ${BUILD_GBENCH}
pass_cmake_flag_from_env GBENCH_GIT_URL
fi
# FIXME:
# 23/23 Test #23: test-zip .........................***Exception: SegFault 1.51 sec
# add_cmake_flag CMAKE_BUILD_TYPE Release
add_cmake_flag CMAKE_RUNTIME_OUTPUT_DIRECTORY $PWD/bin
add_cmake_flag LIBRARY_OUTPUT_PATH $PWD/lib # TODO: upgrade to CMAKE_LIBRARY_OUTPUT_DIRECTORY
add_cmake_flag CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}
add_cmake_flag CMAKE_EXPORT_COMPILE_COMMANDS ${VERBOSE}
# add_cmake_flag BUILD_DOCS 1
# add_cmake_flag CMAKE_FIND_DEBUG_MODE 1
if [ ! -z "$RELEASE" ]; then
add_cmake_flag CPACK_PACKAGE_VERSION $RELEASE
add_cmake_flag BUILD_RELEASE 1
fi
}
main() {
parse_args $@
config_cmake
}
main $@