-
Notifications
You must be signed in to change notification settings - Fork 0
/
configure
executable file
·112 lines (103 loc) · 3.34 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
#!/bin/sh
# NOTE: this is a simple script wrapper around the cmake command line tools,
# for those used to the autotools configure script conventions
if ! command -v cmake > /dev/null 2>&1; then
echo "ERROR: You need the 'cmake' program to configure the Previous build process."
echo "Please install 'cmake' first, then try again."
exit 1
fi
print_help()
{
echo "This is a simple configure script wrapper around cmake build system."
echo "Parameters are:"
echo " --prefix=<path> Set the install prefix to path"
echo " --enable-debug Enable debug (non-optimized) build"
echo " --disable-rendering-thread Disable threaded rendering (more compatible)"
echo " --disable-dsp Disable DSP emulation"
echo " --disable-tracing Disable tracing messages for debugging"
echo " --disable-osx-bundle Disable application bundling on macOS"
echo " --enable-werror Use -Werror flag to stop on compiler warnings"
echo " --cross-compile-win64_32 Build the 32 bit Windows version using mingw-w64"
echo " --cross-compile-win64_64 Build the 64 bit Windows version using mingw-w64"
echo
echo "Please run cmake directly for full control over the build."
echo
}
cmake_args=""
build_type="Release"
while [ $# -gt 0 ]
do
preq=${1%=*} # get part before =
case $preq
in
--help)
print_help
exit 0
;;
--prefix)
prefix=${1##*=} # get part after =
cmake_args="$cmake_args -DCMAKE_INSTALL_PREFIX:PATH=$prefix"
;;
--enable-debug)
build_type="Debug"
cmake_args="$cmake_args -DCMAKE_BUILD_TYPE:STRING=Debug"
;;
--disable-debug)
build_type="Release"
cmake_args="$cmake_args -DCMAKE_BUILD_TYPE:STRING=Release"
;;
--enable-dsp)
cmake_args="$cmake_args -DENABLE_DSP_EMU:BOOL=1"
;;
--disable-dsp)
cmake_args="$cmake_args -DENABLE_DSP_EMU:BOOL=0"
;;
--enable-tracing)
cmake_args="$cmake_args -DENABLE_TRACING:BOOL=1"
;;
--disable-tracing)
cmake_args="$cmake_args -DENABLE_TRACING:BOOL=0"
;;
--enable-rendering-thread)
cmake_args="$cmake_args -DENABLE_RENDERING_THREAD:BOOL=1"
;;
--disable-rendering-thread)
cmake_args="$cmake_args -DENABLE_RENDERING_THREAD:BOOL=0"
;;
--enable-osx-bundle)
cmake_args="$cmake_args -DENABLE_OSX_BUNDLE:BOOL=1"
;;
--disable-osx-bundle)
cmake_args="$cmake_args -DENABLE_OSX_BUNDLE:BOOL=0"
;;
--enable-werror)
cmake_args="$cmake_args -DENABLE_WERROR:BOOL=1"
;;
--disable-werror)
cmake_args="$cmake_args -DENABLE_WERROR:BOOL=0"
;;
--cross-compile-win64_32)
cmake_args="$cmake_args -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-mingw32-win64_32.cmake"
;;
--cross-compile-win64_64)
cmake_args="$cmake_args -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-mingw32-win64_64.cmake"
;;
*)
echo "Invalid argument: $preq"
echo "Run $0 --help for a list of valid parameters."
exit 2
;;
esac
shift 1
done
# remove previous cmake's cache
rm -rf CMakeCache.txt CMakeFiles/
if [ -e `dirname $0`/CMakeCache.txt ]; then
echo "Source directory is not clean, please run 'make distclean' there first."
exit 1
fi
cmake `dirname $0` $cmake_args || exit 1
echo
echo "Now you must type: make; make install"
echo "to actually build and install the software"
echo