##// END OF EJS Templates
Added Simulator target to run code on x86 and debug functions....
Added Simulator target to run code on x86 and debug functions. Fixed some bugs on terminal widget.

File last commit:

r47:7126c4937e8d dev_alexis
r63:68dfbccdd813 dev_alexis
Show More
exclusive_builds.prf
100 lines | 4.5 KiB | application/pics-rules | TextLexer
# fixExclusiveOutputDirs(1config, 2config)
# Change all output paths that references 2config to have the string 1config in them
defineTest(fixExclusiveOutputDirs) {
unset(firstBuild)
unset(secondBuild)
unset(appendFirstBuild)
firstBuild = $$1
secondBuild = $$2
count(ARGS, 2, greaterThan):isEqual($$list($$lower($$3)), false):appendFirstBuild = false
else:appendFirstBuild = true
isEmpty(QMAKE_DIR_REPLACE):QMAKE_DIR_REPLACE += OBJECTS_DIR MOC_DIR RCC_DIR
lessThan(firstBuild, $$secondBuild):eval($${firstBuild}_and_$${secondBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
else:eval($${secondBuild}_and_$${firstBuild}_target:QMAKE_DIR_REPLACE += DESTDIR)
for(fix, QMAKE_DIR_REPLACE) {
isEmpty($$fix)|isEqual($$fix, .) {
eval($$fix = $${firstBuild})
} else:contains($$list($$first($$fix)), .*$${secondBuild}.*) {
eval($$fix ~= s/$${secondBuild}/$${firstBuild}/gi)
} else:isEqual(appendFirstBuild, true):!contains($$list($$first($$fix)), .*$${firstBuild}.*) {
contains($$list($${first($$fix)}), .*/$):eval($$fix = $${first($$fix)}$${firstBuild})
else:eval($$fix = $${first($$fix)}-$${firstBuild})
}
export($$fix)
}
return(true)
}
# addExclusiveBuilds(1config, 1name, 2config, 2name)
# Adds two BUILDS which are exclusive to each other.
defineTest(addExclusiveBuilds) {
unset(firstBuild)
unset(firstBuildName)
unset(secondBuild)
unset(secondBuildName)
firstBuild = $$1
firstBuildName = $$2
secondBuild = $$3
secondBuildName = $$4
contains(TEMPLATE, subdirs) {
eval(sub_$${firstBuildName}.target = $$firstBuild)
export(sub_$${firstBuildName}.target)
eval(sub_$${firstBuildName}.CONFIG = recursive)
export(sub_$${firstBuildName}.CONFIG)
eval(sub_$${secondBuildName}.target = $$secondBuild)
export(sub_$${secondBuildName}.target)
eval(sub_$${secondBuildName}.CONFIG = recursive)
export(sub_$${secondBuildName}.CONFIG)
QMAKE_EXTRA_TARGETS += sub_$${firstBuildName} sub_$${secondBuildName}
export(QMAKE_EXTRA_TARGETS)
} else:!build_pass {
first_BUILDS =
second_BUILDS =
suffix_BUILDS = Build
isEmpty(BUILDS): BUILDPERMUTATIONS = $$suffix_BUILDS
else: BUILDPERMUTATIONS = $$BUILDS
for(permutation, BUILDPERMUTATIONS) {
permutation ~= s/$${suffix_BUILDS}$//
isEmpty(permutation): permutationName =
else: permutationName = -$$permutation
# Makefile target rule
eval($${firstBuildName}$${permutation}.target = $${firstBuild}$$lower($${permutationName}))
export($${firstBuildName}$${permutation}.target)
# IDE name
eval($${firstBuildName}$${permutation}.name = $${firstBuildName}$${permutationName})
export($${firstBuildName}$${permutation}.name)
# prl import CONFIG option
eval($${firstBuildName}$${permutation}.PRL_CONFIG = $${firstBuild}$${permutation})
export($${firstBuildName}$${permutation}.PRL_CONFIG)
# Individual CONFIG option
eval($${firstBuildName}$${permutation}.CONFIG = $${firstBuild} $${firstBuildName}Build $$eval($${permutation}.CONFIG))
export($${firstBuildName}$${permutation}.CONFIG)
eval($${secondBuildName}$${permutation}.target = $${secondBuild}$$lower($${permutationName}))
export($${secondBuildName}$${permutation}.target)
eval($${secondBuildName}$${permutation}.name = $${secondBuildName}$${permutationName})
export($${secondBuildName}$${permutation}.name)
eval($${secondBuildName}$${permutation}.PRL_CONFIG = $${secondBuild}$${permutation})
export($${secondBuildName}$${permutation}.PRL_CONFIG)
eval($${secondBuildName}$${permutation}.CONFIG = $${secondBuild} $${secondBuildName}Build $$eval($${permutation}.CONFIG))
export($${secondBuildName}$${permutation}.CONFIG)
first_BUILDS += $${firstBuildName}$${permutation}
second_BUILDS += $${secondBuildName}$${permutation}
}
# A mutual exclusive block.
CONFIG($${firstBuild}, $${firstBuild}|$${secondBuild}): BUILDS = $$first_BUILDS $$second_BUILDS
else: BUILDS = $$second_BUILDS $$first_BUILDS
export(BUILDS)
} else {
eval($${firstBuildName}Build:fixExclusiveOutputDirs($$firstBuild, $$secondBuild, false))
eval($${secondBuildName}Build:fixExclusiveOutputDirs($$secondBuild, $$firstBuild, false))
}
return(true)
}