rasterizer

c++ software renderer

build_linux.sh

969 B
 1#!/bin/bash
 2set -e
 3
 4ROOT="$(dirname "$(realpath "$0")")"
 5SRC_FILES="src/*.cpp"
 6
 7# =====================
 8# ==== Parse flags ====
 9# =====================
10for arg in "$@"; do
11    if [[ "$arg" == "-r" ]]; then
12        BUILD="Release"
13    fi
14done
15
16
17# ===================
18# === Directories ===
19# ===================
20mkdir -p build
21# mkdir -p external
22
23
24# ====================
25# === Dependencies ===
26# ====================
27# sudo apt install libsdl2-dev
28# sudo dnf install SDL2-devel
29SDL_CFLAGS=$(sdl2-config --cflags)
30SDL_LDFLAGS=$(sdl2-config --libs)
31
32
33# =========================
34# === Compilation Flags ===
35# =========================
36if [ "$BUILD" == "Release" ]; then
37    CFLAGS="-std=c++20 -O2"
38    LFLAGS=""
39else
40    CFLAGS="-std=c++20 -g -O0"
41    LFLAGS=""
42fi
43
44
45# ===================
46# === Compilation ===
47# ===================
48pushd build > /dev/null
49g++ \
50  $CFLAGS \
51  $SDL_CFLAGS \
52  $ROOT/$SRC_FILES \
53  $LFLAGS \
54  $SDL_LDFLAGS \
55  -o renderer
56popd > /dev/null