summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeDetermineCompiler.cmake31
-rw-r--r--Modules/Compiler/AppleClang-C-FeatureTests.cmake2
-rw-r--r--Modules/Compiler/AppleClang-C.cmake4
-rw-r--r--Modules/Compiler/AppleClang-CXX-FeatureTests.cmake43
-rw-r--r--Modules/Compiler/AppleClang-CXX.cmake12
-rw-r--r--Modules/Compiler/MSVC-C-FeatureTests.cmake23
-rw-r--r--Modules/Compiler/MSVC-CXX-FeatureTests.cmake97
-rw-r--r--Modules/FindBoost.cmake2
-rw-r--r--Modules/FindMPI.cmake4
-rw-r--r--Modules/FindRuby.cmake4
-rw-r--r--Modules/Platform/Windows-MSVC-C.cmake2
-rw-r--r--Modules/Platform/Windows-MSVC-CXX.cmake9
-rw-r--r--Modules/WriteCompilerDetectionHeader.cmake5
13 files changed, 75 insertions, 163 deletions
diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake
index 0ab3af6..85c8662 100644
--- a/Modules/CMakeDetermineCompiler.cmake
+++ b/Modules/CMakeDetermineCompiler.cmake
@@ -71,16 +71,31 @@ macro(_cmake_find_compiler lang)
unset(_languages)
# Look for a make tool provided by Xcode
- if(CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND" AND CMAKE_HOST_APPLE)
- foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
- execute_process(COMMAND xcrun --find ${comp}
+ if(CMAKE_HOST_APPLE)
+ macro(_query_xcrun compiler_name result_var_keyword result_var)
+ if(NOT "x${result_var_keyword}" STREQUAL "xRESULT_VAR")
+ message(FATAL_ERROR "Bad arguments to macro")
+ endif()
+ execute_process(COMMAND xcrun --find ${compiler_name}
OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_VARIABLE _xcrun_err)
- if(_xcrun_out)
- set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${_xcrun_out}")
- break()
- endif()
- endforeach()
+ set("${result_var}" "${_xcrun_out}")
+ endmacro()
+
+ set(xcrun_result)
+ if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
+ _query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
+ elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
+ foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
+ _query_xcrun("${comp}" RESULT_VAR xcrun_result)
+ if(xcrun_result)
+ break()
+ endif()
+ endforeach()
+ endif()
+ if (xcrun_result)
+ set_property(CACHE CMAKE_${lang}_COMPILER PROPERTY VALUE "${xcrun_result}")
+ endif()
endif()
endmacro()
diff --git a/Modules/Compiler/AppleClang-C-FeatureTests.cmake b/Modules/Compiler/AppleClang-C-FeatureTests.cmake
index ec1d43f..6f3d6a7 100644
--- a/Modules/Compiler/AppleClang-C-FeatureTests.cmake
+++ b/Modules/Compiler/AppleClang-C-FeatureTests.cmake
@@ -1,5 +1,5 @@
-set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 501")
+set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 400")
set(AppleClang_C11 "${_cmake_oldestSupported} && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L")
set(_cmake_feature_test_c_static_assert "${AppleClang_C11}")
diff --git a/Modules/Compiler/AppleClang-C.cmake b/Modules/Compiler/AppleClang-C.cmake
index 10edc74..0665745 100644
--- a/Modules/Compiler/AppleClang-C.cmake
+++ b/Modules/Compiler/AppleClang-C.cmake
@@ -1,7 +1,7 @@
include(Compiler/Clang)
__compiler_clang(C)
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
+if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
@@ -19,7 +19,7 @@ macro(cmake_record_c_compile_features)
record_compiler_features(C "${std_version}" ${list})
endmacro()
- if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
+ if (UNIX AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
_get_appleclang_features(${CMAKE_C11_STANDARD_COMPILE_OPTION} CMAKE_C11_COMPILE_FEATURES)
if (_result EQUAL 0)
_get_appleclang_features(${CMAKE_C99_STANDARD_COMPILE_OPTION} CMAKE_C99_COMPILE_FEATURES)
diff --git a/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake b/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
index 78bdb72..f67082c 100644
--- a/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/AppleClang-CXX-FeatureTests.cmake
@@ -3,7 +3,28 @@
# Generic reference: http://clang.llvm.org/cxx_status.html
# http://clang.llvm.org/docs/LanguageExtensions.html
-set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 501")
+# Note: CXX compiler in Xcode 4.3 does not set __apple_build_version__ and so is
+# not recognized as AppleClang.
+# Xcode_43 - Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
+# Xcode_44 - Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
+# Xcode_45 - Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
+# Xcode_46 - Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
+# Xcode_50 - Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
+# Xcode_51 - Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
+# Xcode_60 - Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
+# Xcode_61 - Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
+
+# There is some non-correspondance. __has_feature(cxx_user_literals) is
+# false for AppleClang 4.0 and 4.1, although it is reported as
+# supported in the reference link for Clang 3.1. The compiler does not pass
+# the CompileFeatures/cxx_user_literals.cpp test.
+# cxx_attributes is listed as not supported until Clang 3.3. It works without
+# warning with AppleClang 5.0, but issues a gcc-compat warning for
+# AppleClang 4.0-4.2.
+# cxx_alignof and cxx_alignas tests work for early AppleClang versions, though
+# they are listed as supported for Clang 3.3 and later.
+
+set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 400")
include("${CMAKE_CURRENT_LIST_DIR}/Clang-CXX-TestableFeatures.cmake")
@@ -16,16 +37,16 @@ set(_cmake_feature_test_cxx_digit_separators "${AppleClang51_CXX14}")
# http://llvm.org/bugs/show_bug.cgi?id=19674
set(_cmake_feature_test_cxx_generic_lambdas "${AppleClang51_CXX14}")
-set(AppleClang51_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_sizeof_member "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_extern_templates "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_func_identifier "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_inline_namespaces "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_long_long_type "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${AppleClang51_CXX11}")
-set(_cmake_feature_test_cxx_variadic_macros "${AppleClang51_CXX11}")
+set(AppleClang40_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
+set(_cmake_feature_test_cxx_enum_forward_declarations "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_sizeof_member "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_extended_friend_declarations "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_extern_templates "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_func_identifier "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_inline_namespaces "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_long_long_type "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_right_angle_brackets "${AppleClang40_CXX11}")
+set(_cmake_feature_test_cxx_variadic_macros "${AppleClang40_CXX11}")
set(AppleClang_CXX98 "${_cmake_oldestSupported} && __cplusplus >= 199711L")
set(_cmake_feature_test_cxx_template_template_parameters "${AppleClang_CXX98}")
diff --git a/Modules/Compiler/AppleClang-CXX.cmake b/Modules/Compiler/AppleClang-CXX.cmake
index eb97f88..a508623 100644
--- a/Modules/Compiler/AppleClang-CXX.cmake
+++ b/Modules/Compiler/AppleClang-CXX.cmake
@@ -5,13 +5,16 @@ if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
endif()
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+endif()
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
+ # AppleClang 5.0 knows this flag, but does not set a __cplusplus macro greater than 201103L
set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
endif()
@@ -23,8 +26,11 @@ macro(cmake_record_cxx_compile_features)
record_compiler_features(CXX "${std_version}" ${list})
endmacro()
- if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
- _get_appleclang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
+ if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
+ set(_result 0)
+ if(CMAKE_CXX14_STANDARD_COMPILE_OPTION)
+ _get_appleclang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
+ endif()
if (_result EQUAL 0)
_get_appleclang_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
endif()
diff --git a/Modules/Compiler/MSVC-C-FeatureTests.cmake b/Modules/Compiler/MSVC-C-FeatureTests.cmake
deleted file mode 100644
index e449358..0000000
--- a/Modules/Compiler/MSVC-C-FeatureTests.cmake
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# Reference: http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-# http://www.visualstudio.com/en-us/news/vs2015-preview-vs.aspx
-
-set(_cmake_oldestSupported "_MSC_VER >= 1300")
-
-set(MSVC_2010 "_MSC_VER >= 1600")
-set(_cmake_feature_test_c_static_assert "${MSVC_2010}")
-set(_cmake_feature_test_c_variadic_macros "${MSVC_2010}")
-
-set(MSVC_2003 "_MSC_VER >= 1300")
-set(_cmake_feature_test_c_function_prototypes "${MSVC_2003}")
-
-# Currently unsupported:
-# restrict requires the __restrict syntax in msvc
-# set(_cmake_feature_test_c_restrict)
-
-# Unset all the variables that we don't need exposed.
-# _cmake_oldestSupported is required by WriteCompilerDetectionHeader
-set(MSVC_2010)
-set(MSVC_2003) \ No newline at end of file
diff --git a/Modules/Compiler/MSVC-CXX-FeatureTests.cmake b/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
deleted file mode 100644
index b238fde..0000000
--- a/Modules/Compiler/MSVC-CXX-FeatureTests.cmake
+++ /dev/null
@@ -1,97 +0,0 @@
-
-# Reference: http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-# http://www.visualstudio.com/en-us/news/vs2015-preview-vs.aspx
-
-
-set(_cmake_oldestSupported "_MSC_VER >= 1600")
-
-set(MSVC_2015 "_MSC_VER >= 1900")
-set(_cmake_feature_test_cxx_alignas "${MSVC_2015}")
-set(_cmake_feature_test_cxx_alignof "${MSVC_2015}")
-set(_cmake_feature_test_cxx_binary_literals "${MSVC_2015}")
-set(_cmake_feature_test_cxx_decltype_auto "${MSVC_2015}")
-set(_cmake_feature_test_cxx_digit_separators "${MSVC_2015}")
-set(_cmake_feature_test_cxx_func_identifier "${MSVC_2015}")
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-# Note 1. While previous version of VisualStudio said they supported this
-# they silently produced bad code, and are now marked as having partial
-# support
-set(_cmake_feature_test_cxx_generalized_initializers "${MSVC_2015}")
-set(_cmake_feature_test_cxx_generic_lambdas "${MSVC_2015}")
-set(_cmake_feature_test_cxx_inheriting_constructors "${MSVC_2015}")
-set(_cmake_feature_test_cxx_inline_namespaces "${MSVC_2015}")
-set(_cmake_feature_test_cxx_lambda_init_captures "${MSVC_2015}")
-set(_cmake_feature_test_cxx_noexcept "${MSVC_2015}")
-set(_cmake_feature_test_cxx_return_type_deduction "${MSVC_2015}")
-set(_cmake_feature_test_cxx_sizeof_member "${MSVC_2015}")
-set(_cmake_feature_test_cxx_thread_local "${MSVC_2015}")
-set(_cmake_feature_test_cxx_unicode_literals "${MSVC_2015}")
-set(_cmake_feature_test_cxx_unrestricted_unions "${MSVC_2015}")
-set(_cmake_feature_test_cxx_user_literals "${MSVC_2015}")
-
-set(MSVC_2013 "_MSC_VER >= 1800")
-set(_cmake_feature_test_cxx_alias_templates "${MSVC_2013}")
-set(_cmake_feature_test_cxx_default_function_template_args "${MSVC_2013}")
-set(_cmake_feature_test_cxx_defaulted_functions "${MSVC_2013}")
-set(_cmake_feature_test_cxx_delegating_constructors "${MSVC_2013}")
-set(_cmake_feature_test_cxx_deleted_functions "${MSVC_2013}")
-set(_cmake_feature_test_cxx_explicit_conversions "${MSVC_2013}")
-set(_cmake_feature_test_cxx_nonstatic_member_init "${MSVC_2013}")
-set(_cmake_feature_test_cxx_raw_string_literals "${MSVC_2013}")
-set(_cmake_feature_test_cxx_uniform_initialization "${MSVC_2013}")
-# Possibly broken:
-# http://thread.gmane.org/gmane.comp.lib.boost.devel/244986/focus=245333
-set(_cmake_feature_test_cxx_variadic_templates "${MSVC_2013}")
-# Microsoft now states they support contextual conversions
-# see footnote 6 at:
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-set(_cmake_feature_test_cxx_contextual_conversions "${MSVC_2013}")
-
-set(MSVC_2012 "_MSC_VER >= 1700")
-set(_cmake_feature_test_cxx_decltype_incomplete_return_types "${MSVC_2012}")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${MSVC_2012}")
-set(_cmake_feature_test_cxx_final "${MSVC_2012}")
-set(_cmake_feature_test_cxx_range_for "${MSVC_2012}")
-set(_cmake_feature_test_cxx_strong_enums "${MSVC_2012}")
-
-set(MSVC_2010 "_MSC_VER >= 1600")
-set(_cmake_feature_test_cxx_auto_function "${MSVC_2010}")
-set(_cmake_feature_test_cxx_auto_type "${MSVC_2010}")
-set(_cmake_feature_test_cxx_decltype "${MSVC_2010}")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${MSVC_2010}")
-set(_cmake_feature_test_cxx_extern_templates "${MSVC_2010}")
-set(_cmake_feature_test_cxx_lambdas "${MSVC_2010}")
-set(_cmake_feature_test_cxx_local_type_template_args "${MSVC_2010}")
-set(_cmake_feature_test_cxx_long_long_type "${MSVC_2010}")
-set(_cmake_feature_test_cxx_nullptr "${MSVC_2010}")
-set(_cmake_feature_test_cxx_override "${MSVC_2010}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${MSVC_2010}")
-set(_cmake_feature_test_cxx_rvalue_references "${MSVC_2010}")
-set(_cmake_feature_test_cxx_static_assert "${MSVC_2010}")
-set(_cmake_feature_test_cxx_template_template_parameters "${MSVC_2010}")
-set(_cmake_feature_test_cxx_trailing_return_types "${MSVC_2010}")
-set(_cmake_feature_test_cxx_variadic_macros "${MSVC_2010}")
-
-# Currently unsupported:
-# http://herbsutter.com/2013/11/18/visual-c-compiler-november-2013-ctp/
-# http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx
-
-# set(_cmake_feature_test_cxx_reference_qualified_functions )
-# set(_cmake_feature_test_cxx_constexpr )
-# set(_cmake_feature_test_cxx_attributes )
-# set(_cmake_feature_test_cxx_aggregate_default_initializers )
-# set(_cmake_feature_test_cxx_attribute_deprecated )
-# set(_cmake_feature_test_cxx_defaulted_move_initializers )
-# set(_cmake_feature_test_cxx_nonstatic_member_init )
-# set(_cmake_feature_test_cxx_relaxed_constexpr )
-# set(_cmake_feature_test_cxx_variable_templates )
-
-
-# Unset all the variables that we don't need exposed.
-# _cmake_oldestSupported is required by WriteCompilerDetectionHeader
-set(MSVC_2015)
-set(MSVC_2013)
-set(MSVC_2012)
-set(MSVC_2010)
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index aad6575..99293c1 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -478,7 +478,7 @@ else()
# The user has not requested an exact version. Among known
# versions, find those that are acceptable to the user request.
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
- "1.56.0" "1.56" "1.55.0" "1.55" "1.54.0" "1.54"
+ "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55" "1.54.0" "1.54"
"1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
"1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47" "1.46.1"
"1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42"
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
index 9192054..545b077 100644
--- a/Modules/FindMPI.cmake
+++ b/Modules/FindMPI.cmake
@@ -175,7 +175,9 @@ set(_MPI_EXEC_NAMES mpiexec mpirun lamexec srun)
set(_MPI_PREFIX_PATH)
if(WIN32)
# MSMPI
- list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_BIN}")
+ file(TO_CMAKE_PATH "$ENV{MSMPI_BIN}" msmpi_bin_path) # The default path ends with a '\' and doesn't mix with ';' when appending.
+ list(APPEND _MPI_PREFIX_PATH "${msmpi_bin_path}")
+ unset(msmpi_bin_path)
list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;InstallRoot]/Bin")
list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_INC}/..") # The SDK is installed separately from the runtime
# MPICH
diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake
index b5ac703..4be16c9 100644
--- a/Modules/FindRuby.cmake
+++ b/Modules/FindRuby.cmake
@@ -58,7 +58,7 @@
set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ruby)
# if 1.9 is required, don't look for ruby18 and ruby1.8, default to version 1.8
-if(Ruby_FIND_VERSION_MAJOR AND Ruby_FIND_VERSION_MINOR)
+if(DEFINED Ruby_FIND_VERSION_MAJOR AND DEFINED Ruby_FIND_VERSION_MINOR)
set(Ruby_FIND_VERSION_SHORT_NODOT "${Ruby_FIND_VERSION_MAJOR}${RUBY_FIND_VERSION_MINOR}")
# we can't construct that if only major version is given
set(_RUBY_POSSIBLE_EXECUTABLE_NAMES
@@ -90,7 +90,7 @@ if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
RESULT_VARIABLE _RUBY_SUCCESS
OUTPUT_VARIABLE _RUBY_OUTPUT
ERROR_QUIET)
- if(_RUBY_SUCCESS OR NOT _RUBY_OUTPUT)
+ if(_RUBY_SUCCESS OR _RUBY_OUTPUT STREQUAL "")
execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['${RBVAR}']"
RESULT_VARIABLE _RUBY_SUCCESS
OUTPUT_VARIABLE _RUBY_OUTPUT
diff --git a/Modules/Platform/Windows-MSVC-C.cmake b/Modules/Platform/Windows-MSVC-C.cmake
index c7792eb..cbe1586 100644
--- a/Modules/Platform/Windows-MSVC-C.cmake
+++ b/Modules/Platform/Windows-MSVC-C.cmake
@@ -3,5 +3,3 @@ if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
set(_FS_C " /FS")
endif()
__windows_compiler_msvc(C)
-
-set(CMAKE_C_STANDARD_DEFAULT 90)
diff --git a/Modules/Platform/Windows-MSVC-CXX.cmake b/Modules/Platform/Windows-MSVC-CXX.cmake
index ad56f68..0e85005 100644
--- a/Modules/Platform/Windows-MSVC-CXX.cmake
+++ b/Modules/Platform/Windows-MSVC-CXX.cmake
@@ -4,12 +4,3 @@ if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
set(_FS_CXX " /FS")
endif()
__windows_compiler_msvc(CXX)
-
-# No version of MSVC has full conformance to C++11. Therefore the
-# __cplusplus macro always evaluates to 98 even if the compilers come with
-# C++11/14/+ features enabled.
-set(CMAKE_CXX_STANDARD_DEFAULT 98)
-
-macro(cmake_record_cxx_compile_features)
- record_compiler_features(CXX "" CMAKE_CXX_COMPILE_FEATURES)
-endmacro()
diff --git a/Modules/WriteCompilerDetectionHeader.cmake b/Modules/WriteCompilerDetectionHeader.cmake
index d4678c7..d61358f 100644
--- a/Modules/WriteCompilerDetectionHeader.cmake
+++ b/Modules/WriteCompilerDetectionHeader.cmake
@@ -36,7 +36,7 @@
# PREFIX ClimbingStats
# OUTPUT_FILES_VAR support_files
# OUTPUT_DIR compilers
-# COMPILERS GNU Clang MSVC
+# COMPILERS GNU Clang
# FEATURES cxx_variadic_templates
# )
# install(FILES
@@ -100,7 +100,7 @@
# write_compiler_detection_header(
# FILE climbingstats_compiler_detection.h
# PREFIX ClimbingStats
-# COMPILERS GNU Clang AppleClang MSVC
+# COMPILERS GNU Clang AppleClang
# FEATURES cxx_variadic_templates
# )
#
@@ -317,7 +317,6 @@ function(write_compiler_detection_header
GNU
Clang
AppleClang
- MSVC
)
set(_hex_compilers ADSP Borland Embarcadero SunPro)