I use the 'make' system to run a command line compilation of a design using Quartus.
Here is my Makefile:
DESIGN=DE0_PDP8
all:: generate report
generate::
$(QUARTUS_BIN)/quartus_map $(DESIGN) --write_settings_files=off
$(QUARTUS_BIN)/quartus_fit $(DESIGN) --write_settings_files=off --seed=1
$(QUARTUS_BIN)/quartus_asm $(DESIGN) --write_settings_files=off
$(QUARTUS_BIN)/quartus_sta $(DESIGN)
$(QUARTUS_BIN)/quartus_sta -t generate_timing.tcl $(DESIGN) 10
$(QUARTUS_BIN)/quartus_eda $(DESIGN) --write_settings_files=off -c $(DESIGN)
$(QUARTUS_BIN)/quartus_cpf -c $(DESIGN).cof
report::
@-echo ' '
-egrep --color -i '\([0-9]+ violated\)' TQ_*.rpt
@-echo ' '
-egrep -vi '^this panel reports' TQ_fmax_summary.rpt
@-echo ' '
clean::
-rm -f $(DESIGN).*.rpt $(DESIGN).*.summary $(DESIGN).*.smsg $(DESIGN).map
-rm -f $(DESIGN)_assignment_defaults.qdf TQ_*.rpt PLL*.txt meminit.txt
-rm -f $(DESIGN).done $(DESIGN).map $(DESIGN).pof $(DESIGN).sof $(DESIGN).jic
-rm -f $(DESIGN).pin $(DESIGN).jdi $(DESIGN).qws $(DESIGN).*.ddb $(DESIGN).sld
-rm -rf db incremental_db simulation
# the end
To setup the Quartus environment (I use multiple versions, this sets up 16.0) I first run this shell script:
#!/bin/bash
#
export QUARTUS_BASE=/cygdrive/C/Tools/Altera/16.0
export QUARTUS_ROOTDIR=${QUARTUS_BASE}/quartus
if [ -e ${QUARTUS_BASE}/quartus/bin64 ] ; then
export QUARTUS_BIN=${QUARTUS_BASE}/quartus/bin64
else
export QUARTUS_BIN=${QUARTUS_BASE}/quartus/bin
fi
export QSYS_ROOTDIR=${QUARTUS_BASE}/quartus/sopc_builder/bin
export SOPC_KIT_NIOS2=${QUARTUS_BASE}/nios2eds
#
echo QUARTUS_BASE=${QUARTUS_BASE}
echo QUARTUS_ROOTDIR=${QUARTUS_ROOTDIR}
echo QUARTUS_BIN=${QUARTUS_BIN}
echo QSYS_ROOTDIR=${QSYS_ROOTDIR}
echo SOPC_KIT_NIOS2=${SOPC_KIT_NIOS2}
#
# the end
Then in the design directory I just type 'make' and wait for it to finish. No GUI needed. I run under CYGWIN unix environment on Win10 64b.