summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-08-09 16:13:56 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-14 23:12:23 +0200
commit807579ff64e1182eede092927403ad9672c18755 (patch)
treef7f035ea8d3931fc2791864cbbfc48e162e4f962
parent910c717461a4d9321d537ddf87c0f642eb2a2902 (diff)
take parsing of qmake mode out of parseCommandLine()
it wouldn't do anything particularly useful when parsing QMAKEFLAGS, so take it out of the common path. Change-Id: I60f1215c4645707e1f99932dd19160e1d1c9d953 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
-rw-r--r--qmake/option.cpp50
1 files changed, 24 insertions, 26 deletions
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 32c6e2a1b4..a0a543e42d 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -220,32 +220,6 @@ Option::parseCommandLine(int argc, char **argv)
for (int x = 0; x < argc; x++) {
if(*argv[x] == '-' && strlen(argv[x]) > 1) { /* options */
QString opt = argv[x] + 1;
-
- //first param is a mode, or we default
- if(x == 1) {
- bool specified = true;
- if(opt == "project") {
- Option::recursive = true;
- Option::qmake_mode = Option::QMAKE_GENERATE_PROJECT;
- } else if(opt == "prl") {
- Option::mkfile::do_deps = false;
- Option::mkfile::do_mocs = false;
- Option::qmake_mode = Option::QMAKE_GENERATE_PRL;
- } else if(opt == "set") {
- Option::qmake_mode = Option::QMAKE_SET_PROPERTY;
- } else if(opt == "unset") {
- Option::qmake_mode = Option::QMAKE_UNSET_PROPERTY;
- } else if(opt == "query") {
- Option::qmake_mode = Option::QMAKE_QUERY_PROPERTY;
- } else if(opt == "makefile") {
- Option::qmake_mode = Option::QMAKE_GENERATE_MAKEFILE;
- } else {
- specified = false;
- }
- if(specified)
- continue;
- }
- //all modes
if(opt == "o" || opt == "output") {
Option::output.setFileName(argv[++x]);
} else if(opt == "after") {
@@ -479,6 +453,30 @@ Option::init(int argc, char **argv)
}
if(argc && argv) {
argv++, argc--;
+ while (argc) {
+ QString opt = *argv;
+ if (opt == "-project") {
+ Option::recursive = true;
+ Option::qmake_mode = Option::QMAKE_GENERATE_PROJECT;
+ } else if (opt == "-prl") {
+ Option::mkfile::do_deps = false;
+ Option::mkfile::do_mocs = false;
+ Option::qmake_mode = Option::QMAKE_GENERATE_PRL;
+ } else if (opt == "-set") {
+ Option::qmake_mode = Option::QMAKE_SET_PROPERTY;
+ } else if (opt == "-unset") {
+ Option::qmake_mode = Option::QMAKE_UNSET_PROPERTY;
+ } else if (opt == "-query") {
+ Option::qmake_mode = Option::QMAKE_QUERY_PROPERTY;
+ } else if (opt == "-makefile") {
+ Option::qmake_mode = Option::QMAKE_GENERATE_MAKEFILE;
+ } else {
+ break;
+ }
+ argv++, argc--;
+ break;
+ }
+
int ret = parseCommandLine(argc, argv);
if(ret != Option::QMAKE_CMDLINE_SUCCESS) {
if ((ret & Option::QMAKE_CMDLINE_SHOW_USAGE) != 0)