diff --git a/Modules/Compiler/PGI.cmake b/Modules/Compiler/PGI.cmake index bdabebaeb4..0cbfd8a0b5 100644 --- a/Modules/Compiler/PGI.cmake +++ b/Modules/Compiler/PGI.cmake @@ -18,9 +18,17 @@ macro(__compiler_pgi lang) string(APPEND CMAKE_${lang}_FLAGS_INIT " ") string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -O0") string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -O2 -s") - string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -fast -O3 -Mipa=fast") + string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -fast -O3") + # -Mipa was dropped with PGI 16.3 from Windows versions + if(NOT CMAKE_HOST_WIN32 OR CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 16.3) + string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -Mipa=fast") + endif() string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -gopt") + if(CMAKE_HOST_WIN32) + string(APPEND CMAKE_${lang}_FLAGS_INIT " -Bdynamic") + endif() + # Preprocessing and assembly rules. set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE " -E > ") set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE " -S -o ")