#! /usr/bin/env bash target=$1 buildType=$2 project=$(pwd)/ if [[ $target == gba ]]; then toolchain="-DCMAKE_TOOLCHAIN_FILE=cmake/modules/GBA.cmake" nostalgiaBuildType="GBA" else nostalgiaBuildType="Native" fi if [[ $buildType == asan ]]; then buildTypeArg="Debug" sanitizerStatus="ON" elif [[ $buildType == debug ]]; then buildTypeArg="Debug" sanitizerStatus="OFF" elif [[ $buildType == release ]]; then buildTypeArg="Release" sanitizerStatus="OFF" fi buildConfig=${target}-${buildType} if [[ $NOSTALGIA_QT_PATH != "" ]]; then qtPath="-DNOSTALGIA_QT_PATH=${NOSTALGIA_QT_PATH}" fi buildDir="${project}/build/${buildConfig}" mkdir -p $buildDir cmake -S $project -B $buildDir -GNinja \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ -DCMAKE_BUILD_TYPE=${buildTypeArg} \ -DUSE_ASAN=${sanitizerStatus} \ -DNOSTALGIA_IDE_BUILD=OFF \ -DNOSTALGIA_BUILD_CONFIG=${buildConfig} \ -DNOSTALGIA_BUILD_TYPE=${nostalgiaBuildType} \ $qtPath \ $toolchain mkdir -p dist echo ${buildConfig} > .current_build rm -f compile_commands.json ln -s build/${buildConfig}/compile_commands.json