summaryrefslogtreecommitdiff
path: root/Modules/Compiler/PGI.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/Compiler/PGI.cmake')
-rw-r--r--Modules/Compiler/PGI.cmake38
1 files changed, 19 insertions, 19 deletions
diff --git a/Modules/Compiler/PGI.cmake b/Modules/Compiler/PGI.cmake
index 162e3c9b8..0cbfd8a0b 100644
--- a/Modules/Compiler/PGI.cmake
+++ b/Modules/Compiler/PGI.cmake
@@ -1,16 +1,6 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
-#=============================================================================
-# Copyright 2002-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-# License text for the above reference.)
# This module is shared by multiple languages; use include blocker.
if(__COMPILER_PGI)
@@ -18,18 +8,28 @@ if(__COMPILER_PGI)
endif()
set(__COMPILER_PGI 1)
+include(Compiler/CMakeCommonCompilerMacros)
+
macro(__compiler_pgi lang)
# Feature flags.
set(CMAKE_${lang}_VERBOSE_FLAG "-v")
# Initial configuration flags.
- set(CMAKE_${lang}_FLAGS_INIT "")
- set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g -O0")
- set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-O2 -s")
- set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-fast -O3 -Mipa=fast")
- set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -gopt")
+ 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 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 "<CMAKE_${lang}_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
- set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+ set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+ set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
endmacro()