-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfigure
executable file
·136 lines (119 loc) · 3.05 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
#!/bin/sh
set -e
# defaults
USE_BLAS=0
USE_OPENCV=0
USE_EXTERN=0
BLAS_HOME=
BUILD_LIB=0
BUILD_EXAMPLES=0
BUILD_TESTS=0
BUILD_BENCHMARKS=0
BUILD_GTEST=0
BUILD_GBENCH=0
VERBOSE=0
parse_args() {
for i in "$@"; do
case $i in
--prefix=*)
PREFIX="${i#*=}"
;;
--with-blas=*)
BLAS_HOME="${i#*=}"
;;
--use-blas)
USE_BLAS=1
;;
--use-opencv)
USE_OPENCV=1
;;
--lib)
BUILD_LIB=1
;;
--examples)
BUILD_EXAMPLES=1
;;
--tests)
BUILD_TESTS=1
;;
--no-tests)
BUILD_TESTS=0
;;
--build-gtest)
BUILD_GTEST=1
;;
--benchmarks)
BUILD_BENCHMARKS=1
;;
--build-gbench)
BUILD_GBENCH=1
;;
--no-benchmarks)
BUILD_BENCHMARKS=0
;;
--extern)
USE_EXTERN=1
;;
--verbose)
VERBOSE=1
;;
--quiet)
QUIET=1
;;
*)
echo "unknown argument $i"
exit 1
;;
esac
done
}
. ./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() {
pass_cmake_flag_from_env STDTENSOR_GIT_URL
add_cmake_flag EXECUTABLE_OUTPUT_PATH $PWD/bin
add_cmake_flag CMAKE_BUILD_TYPE Release
add_cmake_flag CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}
# add_cmake_flag CMAKE_MESSAGE_LOG_LEVEL ERROR
# add_cmake_flag USE_OPT 1
add_cmake_flag USE_OPENBLAS ${USE_BLAS}
if [ ! -z "${BLAS_HOME}" ]; then
add_cmake_flag BLAS_HOME ${BLAS_HOME}
fi
add_cmake_flag BUILD_BENCHMARKS ${BUILD_BENCHMARKS}
add_cmake_flag BUILD_EXAMPLES ${BUILD_EXAMPLES}
add_cmake_flag BUILD_LIB ${BUILD_LIB}
add_cmake_flag BUILD_PACKAGES 1
add_cmake_flag BUILD_TESTS ${BUILD_TESTS}
add_cmake_flag CMAKE_INSTALL_PREFIX ${PREFIX}
add_cmake_flag USE_EXTERN ${USE_EXTERN}
if [ ${USE_EXTERN} -eq 1 ]; then
add_cmake_flag LIBRARY_OUTPUT_PATH $PWD/lib
fi
if [ ${BUILD_EXAMPLES} -eq 1 ]; then
pass_cmake_flag_from_env STDTRACER_GIT_URL
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: depend on a tag for release version
add_cmake_flag STDTRACER_GIT_TAG $(get_dep stdtracer)
add_cmake_flag STDTENSOR_GIT_TAG $(get_dep stdtensor)
add_cmake_flag CMAKE_EXPORT_COMPILE_COMMANDS ${VERBOSE}
add_cmake_flag CMAKE_VERBOSE_MAKEFILE ${VERBOSE}
}
main() {
parse_args $@
config_cmake
}
main $@