diff options
Diffstat (limited to 'mkspecs/features/ivigenerator.prf')
-rw-r--r-- | mkspecs/features/ivigenerator.prf | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/mkspecs/features/ivigenerator.prf b/mkspecs/features/ivigenerator.prf index 90f04c5..ff01a28 100644 --- a/mkspecs/features/ivigenerator.prf +++ b/mkspecs/features/ivigenerator.prf @@ -79,23 +79,38 @@ IVI_GENERATOR_OPTIONS = --format=$$QFACE_FORMAT --force for (ANNOTATION, QFACE_ANNOTATIONS) { file = $$absolute_path($$ANNOTATION, $$_PRO_FILE_PWD_) - IVI_GENERATOR_OPTIONS += -A $$system_path($$file) + IVI_GENERATOR_OPTIONS += -A $$system_quote($$system_path($$file)) qface_sources.depends += $$file OTHER_FILES += $$file } +for (IMPORT, QFACE_IMPORT_PATH) { + dir = $$absolute_path($$IMPORT, $$_PRO_FILE_PWD_) + + IVI_GENERATOR_OPTIONS += -I $$system_quote($$system_path($$dir)) +} + # Windows doesn't offer any other way to sleep for a time inside non-interactive scripts -equals(QMAKE_HOST.os, Windows): SLEEP = ping -n 2 127.0.0.1 >nul -else: SLEEP = sleep 1 +equals(QMAKE_HOST.os, Windows): { + SLEEP = ping -n 2 127.0.0.1 >nul + TOUCH = type nul > +} else { + SLEEP = sleep 1 + TOUCH = touch +} -qface_sources.target = $$relative_path($$PRI, $$OUT_PWD) -qface_sources.commands = $$SLEEP && $$ENV $$system_path($$IVI_GENERATOR) $$IVI_GENERATOR_OPTIONS $$system_path($$QFACE_ABS_PWD/$${QFACE_FILE}) $$system_path($$QFACE_OUTPUT_DIR) +qface_sources.target = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) +qface_sources.commands += $(DEL_FILE) $$system_quote($$system_path($$OUT_PWD/.stamp-ivigenerator)) && +qface_sources.commands += $$SLEEP && $$ENV $$system_path($$IVI_GENERATOR) $$IVI_GENERATOR_OPTIONS $$system_quote($$system_path($$QFACE_ABS_PWD/$${QFACE_FILE})) $$system_quote($$system_path($$QFACE_OUTPUT_DIR)) && +qface_sources.commands += $$TOUCH $$system_quote($$system_path($$OUT_PWD/.stamp-ivigenerator)) qface_sources.depends = $$IVI_GENERATOR_PATH/generate.py qface_sources.depends += $$QFACE_ABS_PWD/$${QFACE_FILE} -qface_sources.depends += $$files($$IVI_GENERATOR_PATH/common/*) +qface_sources.depends += $$files($$IVI_GENERATOR_PATH/templates/common/*) + +QMAKE_CLEAN += $$relative_path(.stamp-ivigenerator, $$OUT_PWD) # Add all templates of the generator format as dependency -QFACE_TEMPLATE_PWD = $$IVI_GENERATOR_PATH/templates_$${QFACE_FORMAT} +QFACE_TEMPLATE_PWD = $$IVI_GENERATOR_PATH/templates/$${QFACE_FORMAT} exists($$QFACE_TEMPLATE_PWD) { qface_sources.depends += $$files($${QFACE_TEMPLATE_PWD}/*) } else: exists($${QFACE_FORMAT}) { @@ -114,14 +129,14 @@ exists($$QFACE_YAML) { QFACE_HEADERS_OUTPUT_TARGET = $${QFACE_HEADERS_OUTPUT_DIR}/$$lower($${QFACE_MODULE_NAME})module.h qface_headers.target = $$relative_path($$QFACE_HEADERS_OUTPUT_TARGET, $$OUT_PWD) qface_headers.commands = $${QMAKE_COPY_FILE} $${QFACE_OUTPUT_DIR}/*.h $${QFACE_HEADERS_OUTPUT_DIR} - qface_headers.depends = $$relative_path($$PRI, $$OUT_PWD) $$IVI_GENERATOR_PATH/generate.py + qface_headers.depends = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) $$IVI_GENERATOR_PATH/generate.py } # Reevaluate the Makefile after the generation has finished Makefile.target = Makefile # The relative_path is needed here as qmake will use a relative_path for the output files # when using a QMAKE_EXTRA_COMPILER -Makefile.depends = $$relative_path($$PRI, $$OUT_PWD) +Makefile.depends = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) # Make the qmake_all target work for usage inside QtCreator # Because of the Makefile target the generator is called before the actual Makefile @@ -170,7 +185,7 @@ QMAKE_EXTRA_TARGETS += Makefile qface_sources # Afterwards the sub makefiles are read (Makefile.debug/release), which have been # regenerated before starting NMAKE on them. win32-msvc* { - qmake.depends = $$relative_path($$PRI, $$OUT_PWD) + qmake.depends = $$relative_path(.stamp-ivigenerator, $$OUT_PWD) debug.depends = qmake debug-make_first.depends = qmake |