summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2014-04-15 16:52:30 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2014-04-25 15:59:57 (GMT)
commitb0f277db3885cf75b4a153442a3e30ecedfab049 (patch)
treeee8b33d7f74b99fef38dcfa3c446c8a416b793ee /Modules
parentfd8bb3427858017754d5b08a2eb1f57116feebb6 (diff)
downloadCMake-b0f277db3885cf75b4a153442a3e30ecedfab049.zip
CMake-b0f277db3885cf75b4a153442a3e30ecedfab049.tar.gz
CMake-b0f277db3885cf75b4a153442a3e30ecedfab049.tar.bz2
HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwards
Old versions of aCC need a special compiler flag to get full C++98 template support as e.g. CMake itself or the Complex and ComplexOneConfig tests need. The same versions need a special flag to get a proper C++ library, too.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Compiler/HP-CXX.cmake9
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/Compiler/HP-CXX.cmake b/Modules/Compiler/HP-CXX.cmake
index 44470ca..6411dac 100644
--- a/Modules/Compiler/HP-CXX.cmake
+++ b/Modules/Compiler/HP-CXX.cmake
@@ -2,3 +2,12 @@ set(CMAKE_CXX_VERBOSE_FLAG "-v")
set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+
+# HP aCC since version 3.80 supports the flag +hpxstd98 to get ANSI C++98
+# template support. It is known that version 6.25 doesn't need that flag.
+# Current assumption: the flag is needed for every version from 3.80 to 4
+# to get it working.
+if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4 AND
+ NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.80)
+ set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "+hpxstd98")
+endif()