From 807579ff64e1182eede092927403ad9672c18755 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 9 Aug 2012 16:13:56 +0200 Subject: 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 --- qmake/option.cpp | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) (limited to 'qmake') 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) -- cgit v1.2.3