From e62a5f55b1c77b2b610367c82dd59f0cad270438 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 4 Feb 2013 12:26:28 +0100 Subject: qmake/MSVC: fix parsing of the /openmp option Task-number: QTBUG-29143 Change-Id: I6b1ce0babf51701fa404b821b22060a87c4f46b2 Reviewed-by: Oswald Buddenhagen (cherry picked from commit be8c47b1404257e33d6b7866101167726a3d1c30) Reviewed-by: Joerg Bornemann --- qmake/generators/win32/msvc_objectmodel.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp index ae237e7..af475d0 100644 --- a/qmake/generators/win32/msvc_objectmodel.cpp +++ b/qmake/generators/win32/msvc_objectmodel.cpp @@ -1080,11 +1080,20 @@ bool VCCLCompilerTool::parseOption(const char* option) } found = false; break; case 'o': - if (second == 'p' && third == 'e' && fourth == 'n') { - OpenMP = _True; - break; + { + const char *str = option + 2; + const size_t len = strlen(str); + if (len >= 5 && len <= 6 && strncmp(str, "penmp", 5) == 0) { + if (len == 5) { + OpenMP = _True; + break; + } else if (str[5] == '-') { + OpenMP = _False; + break; + } } found = false; break; + } case 's': if(second == 'h' && third == 'o' && fourth == 'w') { ShowIncludes = _True; -- cgit v0.12