#
#  W A R N I N G
#  -------------
#
# This file is not part of the Qt API.  It exists purely as an
# implementation detail.  It may change from version to version
# without notice, or even be removed.
#
# We mean it.
#

#
# Set up extra compiler for PCH disabled sources
#
no_pch_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN}
msvc: no_pch_compiler.commands += -Fo${QMAKE_FILE_OUT}
else: no_pch_compiler.commands += -o ${QMAKE_FILE_OUT}
no_pch_compiler.dependency_type = TYPE_C
no_pch_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
no_pch_compiler.input = NO_PCH_SOURCES
no_pch_compiler.variable_out = OBJECTS
no_pch_compiler.name = compiling[no_pch] ${QMAKE_FILE_IN}
silent: no_pch_compiler.commands = @echo compiling[no_pch] ${QMAKE_FILE_IN} && $$no_pch_compiler.commands
QMAKE_EXTRA_COMPILERS += no_pch_compiler
