#!/usr/bin/env bash set -e refine_nasm_options="" while [ -n "$*" ]; do case "$1" in -f ) shift refine_nasm_options+=" -f $1" shift ;; -c | --param* | -m* | -pipe | -thread ) # unknown options under nasm & yasm shift ;; -g* ) # ignore debug format shift ;; -MD ) # before CMake v3.18, its ninja build rule always passes `-MD $DEP_FILE`` # to ASM_COMPILER. both nasm and GNU assembler accepts this option, but # somehow the ninja generator fails to pass the argument. so # just drop it. shift ;; -W* ) # Warning/error option shift ;; -f* ) shift ;; -I | -isystem ) shift refine_nasm_options+=" -i $1" shift ;; -O* ) # ignore C optimisations shift ;; * ) # Keep other options refine_nasm_options+=" $1" shift ;; esac done nasm $refine_nasm_options true