summaryrefslogtreecommitdiff
path: root/build_and_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build_and_test.sh')
-rw-r--r--build_and_test.sh13
1 files changed, 9 insertions, 4 deletions
diff --git a/build_and_test.sh b/build_and_test.sh
index 873bacf..7ed30c6 100644
--- a/build_and_test.sh
+++ b/build_and_test.sh
@@ -2,6 +2,7 @@ if [ ! -d "build" ]; then
mkdir build
fi
+OS=Linux
COMPILE=gcc
COMPILEPP=g++
OBJ_POSTFIX=.o
@@ -40,6 +41,7 @@ fi
case $(uname | tr '[:upper:]' '[:lower:]') in
*darwin*)
+ OS=macOS
if [ "$2" = "" ]; then
if command -v clang >/dev/null 2>&1; then
echo "C compiler found - Clang"
@@ -54,6 +56,7 @@ case $(uname | tr '[:upper:]' '[:lower:]') in
fi
;;
*msys*|*cygwin*|*mingw*|*nt*|*win*)
+ OS=Windows
EXE_POSTFIX=.exe
if [ "$2" = "" ]; then
if command -v cl.exe >/dev/null 2>&1; then
@@ -92,15 +95,15 @@ case $(uname | tr '[:upper:]' '[:lower:]') in
;;
esac
-echo ""
-
if [ "$COMPILE" = "gcc" ] || [ "$COMPILE" = "clang" ]; then
if [ "$1" = "release" ]; then
FLAGS="-O3"
- elif [ "$COMPILE" = "gcc" ]; then
+ elif [ "$COMPILE" = "gcc" ] && [ "$OS" != "Windows" ]; then
FLAGS="-O0 -fsanitize=undefined,address,leak"
- else
+ elif [ "$OS" != "Windows" ]; then
FLAGS="-O0 -fsanitize=undefined,address"
+ else
+ FLAGS="-O0"
fi
else
if [ "$1" = "release" ]; then
@@ -110,6 +113,8 @@ else
fi
fi
+echo ""
+
$COMPILE ${FLAGS} \
${FLAG_OBJ}"build/kit${OBJ_POSTFIX}" \
"source/kit/_static.c"