mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 18:29:37 -06:00
Merge topic 'suncc-cxx11'
2731a91cUpdate SunPro flags used for CMake itself to support C++1186edc5b6Choose compiler-specific flags earlier in CMake's own build7b2d529bcmBase32: Cast pointer subtraction result to size explicitly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !813
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user