summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt19
-rw-r--r--CompileFlags.cmake9
-rw-r--r--Source/CMakeVersion.cmake2
-rw-r--r--Source/cmBase32.cxx2
-rw-r--r--Tests/RunCMake/Framework/FrameworkTypeSHARED-build-stdout.txt4
-rw-r--r--Tests/RunCMake/Framework/FrameworkTypeSTATIC-build-stdout.txt3
6 files changed, 27 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4dcf2f0..eb46c3b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -55,14 +55,22 @@ if(NOT DEFINED CMAKE_C_STANDARD AND NOT CMake_NO_C_STANDARD)
endif()
endif()
if(NOT DEFINED CMAKE_CXX_STANDARD AND NOT CMake_NO_CXX_STANDARD)
- include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx14_cstdio.cmake)
- if(NOT CMake_CXX14_CSTDIO_BROKEN)
- set(CMAKE_CXX_STANDARD 14)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.14)
+ set(CMAKE_CXX_STANDARD 98)
else()
- set(CMAKE_CXX_STANDARD 11)
+ include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx14_cstdio.cmake)
+ if(NOT CMake_CXX14_CSTDIO_BROKEN)
+ set(CMAKE_CXX_STANDARD 14)
+ else()
+ set(CMAKE_CXX_STANDARD 11)
+ endif()
endif()
endif()
if(NOT CMake_TEST_EXTERNAL_CMAKE)
+ # include special compile flags for some compilers
+ include(CompileFlags.cmake)
+
+ # check for available C++ features
include(${CMake_SOURCE_DIR}/Source/Checks/cm_cxx_features.cmake)
endif()
@@ -648,9 +656,6 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
include(${CMake_SOURCE_DIR}/Tests/CMakeInstall.cmake)
endif()
- # include special compile flags for some compilers
- include(CompileFlags.cmake)
-
# no clue why we are testing for this here
include(CheckSymbolExists)
CHECK_SYMBOL_EXISTS(unsetenv "stdlib.h" HAVE_UNSETENV)
diff --git a/CompileFlags.cmake b/CompileFlags.cmake
index d70e3af..d1f4f13 100644
--- a/CompileFlags.cmake
+++ b/CompileFlags.cmake
@@ -61,7 +61,14 @@ endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03")
+ if (NOT CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD EQUAL 98)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03")
+ elseif(CMAKE_VERSION VERSION_LESS 3.8.20170502)
+ # CMake knows how to add this flag for compilation as C++11,
+ # but has not been taught that SunPro needs it for linking too.
+ # Add it in a place that will be used for both.
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ endif()
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=stlport4")
endif()
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 5580156..b9921ef 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 8)
-set(CMake_VERSION_PATCH 20170508)
+set(CMake_VERSION_PATCH 20170510)
#set(CMake_VERSION_RC 1)
diff --git a/Source/cmBase32.cxx b/Source/cmBase32.cxx
index 091d619..1dac212 100644
--- a/Source/cmBase32.cxx
+++ b/Source/cmBase32.cxx
@@ -58,7 +58,7 @@ std::string cmBase32Encoder::encodeString(const unsigned char* input,
input += blockSize;
}
- size_t remain(end - input);
+ size_t remain = static_cast<size_t>(end - input);
if (remain != 0) {
// Temporary source buffer filled up with 0s
unsigned char extended[blockSize];
diff --git a/Tests/RunCMake/Framework/FrameworkTypeSHARED-build-stdout.txt b/Tests/RunCMake/Framework/FrameworkTypeSHARED-build-stdout.txt
index 8d90f5f..f664db9 100644
--- a/Tests/RunCMake/Framework/FrameworkTypeSHARED-build-stdout.txt
+++ b/Tests/RunCMake/Framework/FrameworkTypeSHARED-build-stdout.txt
@@ -1 +1,3 @@
-.*/Framework: Mach-O[^\n]* dynamically linked shared library.*
+.*/Framework:( Mach-O universal binary with [^
+]*)? Mach-O[^
+]* dynamically linked shared library.*
diff --git a/Tests/RunCMake/Framework/FrameworkTypeSTATIC-build-stdout.txt b/Tests/RunCMake/Framework/FrameworkTypeSTATIC-build-stdout.txt
index c9f50b6..532cfed 100644
--- a/Tests/RunCMake/Framework/FrameworkTypeSTATIC-build-stdout.txt
+++ b/Tests/RunCMake/Framework/FrameworkTypeSTATIC-build-stdout.txt
@@ -1 +1,2 @@
-.*/Framework: current ar archive random library.*
+.*/Framework:( Mach-O universal binary with [^
+]*)? current ar archive random library.*