diff --git a/examples/examples.pro b/examples/examples.pro index e86e611d..854677b5 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -1,3 +1,22 @@ CONFIG += ordered TEMPLATE = subdirs -SUBDIRS += testapp + +EXTRASUBDIRS = testapp + + +include(../installerfw.pri) + +!isEqual(IFW_SOURCE_TREE, $$IFW_BUILD_TREE) { + for(SUBDIR, EXTRASUBDIRS) { + mkdir.commands += $$QMAKE_MKDIR $$SUBDIR $${IFW_NEWLINE} + } + QMAKE_EXTRA_TARGETS += mkdir +} + +for(SUBDIR, EXTRASUBDIRS) { + examples.commands += cd $$SUBDIR && $(QMAKE) -r $$PWD/$$SUBDIR && $(MAKE) $${IFW_NEWLINE} +} +!isEqual(IFW_SOURCE_TREE, $$IFW_BUILD_TREE) { + examples.depends = mkdir +} +QMAKE_EXTRA_TARGETS += examples diff --git a/installerfw.pri b/installerfw.pri index 151fd1bd..2d1915ec 100644 --- a/installerfw.pri +++ b/installerfw.pri @@ -2,6 +2,7 @@ error("installerfw.pri already included") } IFW_PRI_INCLUDED = 1 +IFW_NEWLINE = $$escape_expand(\\n\\t) defineReplace(toNativeSeparators) { return($$replace(1, /, $$QMAKE_DIR_SEP)) diff --git a/installerfw.pro b/installerfw.pro index 92cf5664..356dd2e4 100644 --- a/installerfw.pro +++ b/installerfw.pro @@ -1,11 +1,5 @@ CONFIG += ordered TEMPLATE = subdirs -SUBDIRS += src tools -!macx:SUBDIRS += examples - -test.target = test -test.depends = $(TARGET) -QMAKE_EXTRA_TARGETS += test -test.commands = (cd tests && $(QMAKE) && $(MAKE)) +SUBDIRS += src examples tests tools include (doc/doc.pri) diff --git a/tests/tests.pro b/tests/tests.pro index da0f4b60..06876e66 100644 --- a/tests/tests.pro +++ b/tests/tests.pro @@ -1,7 +1,27 @@ CONFIG += ordered TEMPLATE = subdirs -SUBDIRS += downloadspeed \ + +EXTRASUBDIRS = \ + downloadspeed \ environmentvariable \ extractarchiveoperationtest \ fileengineclient \ fileengineserver + + +include(../installerfw.pri) + +!isEqual(IFW_SOURCE_TREE, $$IFW_BUILD_TREE) { + for(SUBDIR, EXTRASUBDIRS) { + mkdir.commands += $$QMAKE_MKDIR $$SUBDIR $${IFW_NEWLINE} + } + QMAKE_EXTRA_TARGETS += mkdir +} + +for(SUBDIR, EXTRASUBDIRS) { + tests.commands += cd $$SUBDIR && $(QMAKE) -r $$PWD/$$SUBDIR && $(MAKE) $${IFW_NEWLINE} +} +!isEqual(IFW_SOURCE_TREE, $$IFW_BUILD_TREE) { + tests.depends = mkdir +} +QMAKE_EXTRA_TARGETS += tests diff --git a/tools/tools.pro b/tools/tools.pro index 963d4a2d..14450f00 100644 --- a/tools/tools.pro +++ b/tools/tools.pro @@ -4,8 +4,28 @@ TEMPLATE = subdirs SUBDIRS += \ archivegen \ binarycreator \ + repogen + +EXTRASUBDIRS = \ extractbinarydata \ repocompare \ - repogen \ repogenfromonlinerepo -win32:SUBDIRS += maddehelper \ No newline at end of file +win32:EXTRASUBDIRS += maddehelper + + +include(../installerfw.pri) + +!isEqual(IFW_SOURCE_TREE, $$IFW_BUILD_TREE) { + for(SUBDIR, EXTRASUBDIRS) { + mkdir.commands += $$QMAKE_MKDIR $$SUBDIR $${IFW_NEWLINE} + } + QMAKE_EXTRA_TARGETS += mkdir +} + +for(SUBDIR, EXTRASUBDIRS) { + tools.commands += cd $$SUBDIR && $(QMAKE) -r $$PWD/$$SUBDIR && $(MAKE) $${IFW_NEWLINE} +} +!isEqual(IFW_SOURCE_TREE, $$IFW_BUILD_TREE) { + tools.depends = mkdir +} +QMAKE_EXTRA_TARGETS += tools