-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathbuild-all.sh
More file actions
executable file
·88 lines (76 loc) · 2.48 KB
/
build-all.sh
File metadata and controls
executable file
·88 lines (76 loc) · 2.48 KB
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
#!/bin/bash -x
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE}[0]) && pwd)
source ${SCRIPT_DIR}/setenv.sh
BRANCH="$@"
[[ -z "${BRANCH}" ]] && BRANCH="-b nyfix"
# assuming apr is installed via brew on mac
if [[ ${OS} =~ "darwin" ]]; then
OPENMAMA_APR_ROOT="-DDEFAULT_APR_ROOT=/usr/local/Cellar/apr/1.7.0/libexec/"
fi
# stop on error
set -e
# clean out build, install directories
rm -rf ${BUILD_ROOT} && mkdir ${BUILD_ROOT}
pushd ${BUILD_ROOT}
rm -rf ${INSTALL_BASE} && mkdir ${INSTALL_BASE}
# build type
CMAKE_BUILD_TYPE="Debug"
#CMAKE_BUILD_TYPE="RelWithDebInfo"
# build flags
CMAKE_C_FLAGS="-fno-omit-frame-pointer -DNYFIX_LOG"
CMAKE_CXX_FLAGS="-fno-omit-frame-pointer -DNYFIX_LOG"
# libzmq
rm -rf libzmq || true
git clone --single-branch ${BRANCH} https://github.com/nyfix/libzmq.git
pushd libzmq
rm -rf build || true
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS}" \
-DENABLE_CURVE=Off -DENABLE_WS=Off \
..
make; make install
popd
# Google test
if [[ ${OS} =~ "Ubuntu" ]]; then
# we need to build Google Test on Ubuntu (!?)
rm -rf gtest || true
mkdir gtest
pushd gtest
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASE} /usr/src/googletest/
make && make install
popd
fi
# OpenMAMA
rm -rf OpenMAMA || true
git clone --single-branch ${BRANCH} https://github.com/nyfix/OpenMAMA.git
pushd OpenMAMA
rm -rf build || true
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -std=c++11" -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS}" \
-DWITH_UNITTEST=On -DINSTALL_RUNTIME_DEPENDENCIES=Off ${OPENMAMA_APR_ROOT} \
..
make; make install
popd
# OpenMAMA-omnm
rm -rf OpenMAMA-omnm || true
git clone --single-branch ${BRANCH} https://github.com/nyfix/OpenMAMA-omnm.git
pushd OpenMAMA-omnm
rm -rf build || true
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DMAMA_ROOT=${INSTALL_BASE} \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS}" \
..
make; make install
popd
# OZ
pushd ${SCRIPT_DIR}/..
rm -rf build || true
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASE} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DMAMA_ROOT=${INSTALL_BASE} -DZMQ_ROOT=${INSTALL_BASE} \
-DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}" -DCMAKE_C_FLAGS="${CMAKE_C_FLAGS}" \
..
make; make install
popd
popd