41 lines
998 B
Bash
Executable File
41 lines
998 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -ex
|
|
original_dir=$PWD
|
|
build_dir=build
|
|
C_COMPILER_PATH=clang
|
|
CXX_COMPILER_PATH=clang++
|
|
ASM_COMPILER_PATH=clang
|
|
|
|
case $BIRTH_OS in
|
|
windows)
|
|
C_COMPILER_OPT_ARG="-DCMAKE_C_COMPILER_TARGET=x86_64-pc-windows-msvc"
|
|
CXX_COMPILER_OPT_ARG="-DCMAKE_CXX_COMPILER_TARGET=x86_64-pc-windows-msvc"
|
|
ASM_COMPILER_OPT_ARG="-DCMAKE_ASM_COMPILER_TARGET=x86_64-pc-windows-msvc"
|
|
;;
|
|
*)
|
|
C_COMPILER_OPT_ARG=""
|
|
CXX_COMPILER_OPT_ARG=""
|
|
ASM_COMPILER_OPT_ARG=""
|
|
;;
|
|
esac
|
|
|
|
mkdir -p $build_dir
|
|
cmake . \
|
|
-B$build_dir \
|
|
-G Ninja \
|
|
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
|
|
-DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
|
|
-DCMAKE_C_COMPILER=$C_COMPILER_PATH \
|
|
-DCMAKE_CXX_COMPILER=$CXX_COMPILER_PATH \
|
|
-DCMAKE_ASM_COMPILER=$ASM_COMPILER_PATH \
|
|
$C_COMPILER_OPT_ARG \
|
|
$CXX_COMPILER_OPT_ARG \
|
|
$ASM_COMPILER_OPT_ARG
|
|
cd $build_dir
|
|
ninja -v
|
|
cd $original_dir
|
|
|
|
if [ "$#" -ne 0 ]; then
|
|
$build_dir/runner $@
|
|
fi
|