diff options
-rw-r--r-- | CMakeLists.txt | 19 | ||||
-rw-r--r-- | CompileFlags.cmake | 9 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmBase32.cxx | 2 | ||||
-rw-r--r-- | Tests/RunCMake/Framework/FrameworkTypeSHARED-build-stdout.txt | 4 | ||||
-rw-r--r-- | Tests/RunCMake/Framework/FrameworkTypeSTATIC-build-stdout.txt | 3 |
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.* |