forked from reactos/reactos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure.sh
executable file
·79 lines (63 loc) · 1.66 KB
/
configure.sh
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
#!/bin/sh
if [ "x$ROS_ARCH" = "x" ]; then
echo Could not detect RosBE.
exit 1
fi
BUILD_ENVIRONMENT=MinGW
ARCH=$ROS_ARCH
REACTOS_SOURCE_DIR=$(cd `dirname $0` && pwd)
REACTOS_OUTPUT_PATH=output-$BUILD_ENVIRONMENT-$ARCH
USE_NEW_STYLE=1
usage() {
echo Invalid parameter given.
exit 1
}
CMAKE_GENERATOR="Ninja"
while [ $# -gt 0 ]; do
case $1 in
-D)
shift
if echo "x$1" | grep 'x?*=*' > /dev/null; then
ROS_CMAKEOPTS=$ROS_CMAKEOPTS" -D $1"
else
usage
fi
;;
-D?*=*|-D?*)
ROS_CMAKEOPTS=$ROS_CMAKEOPTS" $1"
;;
makefiles|Makefiles)
CMAKE_GENERATOR="Unix Makefiles"
;;
with-host-tools)
USE_NEW_STYLE=0
;;
*)
usage
esac
shift
done
if [ "$REACTOS_SOURCE_DIR" = "$PWD" ]; then
echo Creating directories in $REACTOS_OUTPUT_PATH
mkdir -p "$REACTOS_OUTPUT_PATH"
cd "$REACTOS_OUTPUT_PATH"
fi
#EXTRA_ARGS=""
if [ $USE_NEW_STYLE -eq 0 ]; then
mkdir -p host-tools
mkdir -p reactos
echo Preparing host tools...
cd host-tools
rm -f CMakeCache.txt
REACTOS_BUILD_TOOLS_DIR="$PWD"
cmake -G "$CMAKE_GENERATOR" -DARCH:STRING=$ARCH $ROS_CMAKEOPTS -DNEW_STYLE_BUILD:BOOL=0 "$REACTOS_SOURCE_DIR"
EXTRA_ARGS="$EXTRA_ARGS -DREACTOS_BUILD_TOOLS_DIR:PATH=$REACTOS_BUILD_TOOLS_DIR"
cd ..
fi
echo Preparing reactos...
if [ $USE_NEW_STYLE -eq 0 ]; then
cd reactos
fi
rm -f CMakeCache.txt host-tools/CMakeCache.txt
cmake -G "$CMAKE_GENERATOR" -DENABLE_CCACHE:BOOL=0 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-gcc.cmake -DARCH:STRING=$ARCH -DNEW_STYLE_BUILD:BOOL=$USE_NEW_STYLE $EXTRA_ARGS $ROS_CMAKEOPTS "$REACTOS_SOURCE_DIR"
echo Configure script complete! Enter directories and execute appropriate build commands \(ex: ninja, make, makex, etc...\).