if [ ! -d "build" ]; then mkdir build fi COMPILE=gcc COMPILEPP=g++ OBJ_POSTFIX=.o EXE_POSTFIX= case $(uname | tr '[:upper:]' '[:lower:]') in *darwin*) if command -v clang >/dev/null 2>&1; then echo "C compiler found - Clang" COMPILE=clang COMPILEPP=clang elif command -v gcc >/dev/null 2>&1; then echo "C compiler found - GCC" else echo "C compiler not found" exit 1 fi ;; *msys*|*cygwin*|*mingw*|*nt*|*win*) echo "C compiler found - MSVC" COMPILE=cl.exe COMPILEPP=cl.exe OBJ_POSTFIX=.obj EXE_POSTFIX=.exe ;; *) if command -v gcc >/dev/null 2>&1; then echo "C compiler found - GCC" elif command -v clang >/dev/null 2>&1; then echo "C compiler found - Clang" COMPILE=clang COMPILEPP=clang else echo "C compiler not found" exit 1 fi ;; esac echo "" $COMPILE -c -o "build/kit${OBJ_POSTFIX}" "source/kit/_static.c" if [ ! $? -eq 0 ]; then exit 1 fi $COMPILE -c -o "build/kit_test${OBJ_POSTFIX}" "source/kit_test/_static.c" if [ ! $? -eq 0 ]; then exit 1 fi $COMPILE -o "build/kit_test_suite${EXE_POSTFIX}" \ "build/kit${OBJ_POSTFIX}" \ "build/kit_test${OBJ_POSTFIX}" \ "source/tests/_static.c" if [ ! $? -eq 0 ]; then exit 1 fi $COMPILE -o "build/test_too_many_assertions${EXE_POSTFIX}" \ "build/kit${OBJ_POSTFIX}" \ "build/kit_test${OBJ_POSTFIX}" \ "source/tests/test_too_many_assertions.c" if [ ! $? -eq 0 ]; then exit 1 fi $COMPILE -o "build/test_too_many_tests${EXE_POSTFIX}" \ "build/kit${OBJ_POSTFIX}" \ "build/kit_test${OBJ_POSTFIX}" \ "source/tests/test_too_many_tests.c" if [ ! $? -eq 0 ]; then exit 1 fi $COMPILEPP -o "build/test_cpp${EXE_POSTFIX}" \ "build/kit${OBJ_POSTFIX}" \ "build/kit_test${OBJ_POSTFIX}" \ "source/tests/test_cpp.cpp" if [ ! $? -eq 0 ]; then exit 1 fi $COMPILEPP -o "build/test_signals${EXE_POSTFIX}" \ "build/kit${OBJ_POSTFIX}" \ "build/kit_test${OBJ_POSTFIX}" \ "source/tests/test_signals.cpp" if [ ! $? -eq 0 ]; then exit 1 fi echo "Run tests" echo "" STATUS=0 ./build/kit_test_suite if [ ! $? -eq 0 ]; then STATUS=1 fi ./build/test_too_many_assertions --quiet if [ $? -eq 0 ]; then echo "too many assertions - OK" else echo "too many assertions - FAILED (code $?)" STATUS=1 fi ./build/test_too_many_tests --quiet if [ $? -eq 0 ]; then echo "too many tests - OK" else echo "too many tests - FAILED (code $?)" STATUS=1 fi ./build/test_cpp --quiet if [ $? -eq 0 ]; then echo "cpp - OK" else echo "cpp - FAILED (code $?)" STATUS=1 fi ./build/test_signals --quiet if [ $? -eq 0 ]; then echo "signals - OK" else echo "signals - FAILED (code $?)" STATUS=1 fi exit $STATUS