#!/bin/bash

clang++ -std=c++14 \
        -O0 \
        -I"/home/vittorioromeo/OHWorkspace/ecs_thesis/project/include" \
        -I"/home/vittorioromeo/OHWorkspace/vrm_core/include" \
        -I"/home/vittorioromeo/OHWorkspace/vrm_pp/include" \
        -pedantic \
        -W \
        -Wall \
        -Wextra \
        -Wno-unused-local-typedefs \
        -Wwrite-strings \
        -Wshadow \
        -Wundef \
        -Wno-missing-field-initializers \
        -Wpointer-arith \
        -Wcast-align \
        -Wno-unreachable-code \
        -Wnon-virtual-dtor \
        -Woverloaded-virtual \
        -Weverything \
        -Wno-c++98-compat \
        -Wno-c++98-compat-pedantic \
        -Wno-missing-prototypes \
        -Wno-newline-eof \
        -Wno-reserved-id-macro \
        -Wno-exit-time-destructors \
        -Wno-global-constructors \
        -Wno-missing-variable-declarations \
        -Wno-header-hygiene \
        -Wno-conversion \
        -Wno-float-equal \
        -Wno-old-style-cast \
        -Wno-unused-macros \
        -Wno-class-varargs \
        -Wno-padded \
        -Wno-weak-vtables \
        -Wno-date-time \
        -Wno-unneeded-member-function \
        -Wno-covered-switch-default \
        -Wno-range-loop-analysis \
        -lpthread \
        -lsfml-system \
        -lsfml-graphics \
        -lsfml-window \
        -g3 \
        -fno-omit-frame-pointer \
        -Wno-unused-variable \
        -fsanitize=undefined \
        -fsanitize=address \
        $1 -o /tmp/x.x && echo "Compiled." && /tmp/x.x "${@:2}"
