isEmpty(QMAKE_QSETTINGSGENERATOR): qtPrepareTool(QMAKE_QSETTINGSGENERATOR, qsettingsgenerator)

isEmpty(QSETTINGSGENERATOR_DIR): QSETTINGSGENERATOR_DIR = .
isEmpty(MOC_DIR): MOC_DIR = .
debug_and_release {
	CONFIG(debug, debug|release):SUFFIX = /debug
	CONFIG(release, debug|release):SUFFIX = /release
}
QSETTINGSGENERATOR_DIR = $$QSETTINGSGENERATOR_DIR$$SUFFIX

{
	qsettingsgenerator_c.name = qsettingsgenerator ${QMAKE_FILE_BASE}.h
	qsettingsgenerator_c.input = SETTINGS_DEFINITIONS
	qsettingsgenerator_c.variable_out = QSETTINGSGENERATOR_HEADERS
	qsettingsgenerator_c.commands = $$QMAKE_QSETTINGSGENERATOR --in ${QMAKE_FILE_IN} --header ${QMAKE_FILE_OUT} --impl $$QSETTINGSGENERATOR_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
	qsettingsgenerator_c.output = $$QSETTINGSGENERATOR_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
	qsettingsgenerator_c.CONFIG += target_predeps
	qsettingsgenerator_c.depends += $$QMAKE_QSETTINGSGENERATOR_EXE
	QMAKE_EXTRA_COMPILERS += qsettingsgenerator_c

	qsettingsgenerator_qml.name = qsettingsgenerator qml_${QMAKE_FILE_BASE}.h
	qsettingsgenerator_qml.input = QML_SETTINGS_DEFINITIONS
	qsettingsgenerator_qml.variable_out = QSETTINGSGENERATOR_HEADERS
	qsettingsgenerator_qml.commands = $$QMAKE_QSETTINGSGENERATOR --qml --in ${QMAKE_FILE_IN} --header ${QMAKE_FILE_OUT} --impl $$QSETTINGSGENERATOR_DIR/qml_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
	qsettingsgenerator_qml.output = $$QSETTINGSGENERATOR_DIR/qml_${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
	qsettingsgenerator_qml.CONFIG += target_predeps
	qsettingsgenerator_qml.depends += $$QMAKE_QSETTINGSGENERATOR_EXE
	QMAKE_EXTRA_COMPILERS += qsettingsgenerator_qml

	qsettingsgenerator_m.name = qsettingsgenerator ${QMAKE_FILE_BASE}.moc
	qsettingsgenerator_m.input = QSETTINGSGENERATOR_HEADERS
	qsettingsgenerator_m.variable_out = GENERATED_SOURCES
	qsettingsgenerator_m.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
	qsettingsgenerator_m.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
	qsettingsgenerator_m.CONFIG += target_predeps
	qsettingsgenerator_m.depends += $$QMAKE_QSETTINGSGENERATOR_EXE $$WIN_INCLUDETEMP $$moc_predefs.output
	qsettingsgenerator_m.dependency_type = TYPE_C
	QMAKE_EXTRA_COMPILERS += qsettingsgenerator_m

	qsettingsgenerator_s.name = qsettingsgenerator ${QMAKE_FILE_BASE}.cpp
	qsettingsgenerator_s.input = QSETTINGSGENERATOR_HEADERS
	qsettingsgenerator_s.variable_out = GENERATED_SOURCES
	qsettingsgenerator_s.commands = $$escape_expand(\\n) # force creation of rule
	qsettingsgenerator_s.output = $$QSETTINGSGENERATOR_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
	qsettingsgenerator_s.CONFIG += target_predeps
	QMAKE_EXTRA_COMPILERS += qsettingsgenerator_s
}

INCLUDEPATH += $$absolute_path($$QSETTINGSGENERATOR_DIR, $$OUT_PWD)
QMAKE_DIR_REPLACE += QSETTINGSGENERATOR_DIR
QMAKE_DIR_REPLACE_SANE += QSETTINGSGENERATOR_DIR