Merge branch 'upstream-KWSys' into update-kwsys

# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-03-25 (6a109a7b)
diff --git a/Source/kwsys/CMakeLists.txt b/Source/kwsys/CMakeLists.txt
index d6d43f5..b66cbbd 100644
--- a/Source/kwsys/CMakeLists.txt
+++ b/Source/kwsys/CMakeLists.txt
@@ -88,7 +88,7 @@
 # any outside mailing list and no documentation of the change will be
 # written.
 
-cmake_minimum_required(VERSION 3.9...3.22 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.13...3.31 FATAL_ERROR)
 
 # Some configure checks depend upon the deployment target. Clear checks when
 # the deployment target changes.
@@ -317,7 +317,7 @@
 
 #-----------------------------------------------------------------------------
 # Adjust compiler flags for some platforms.
-if(NOT CMAKE_COMPILER_IS_GNUCXX)
+if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
   if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
     string(REGEX MATCH "-timplicit_local"
       KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}")
@@ -1038,7 +1038,7 @@
     if(CTEST_TEST_KWSYS)
       configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ExtraTest.cmake.in"
         "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
-      set_directory_properties(PROPERTIES TEST_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
+      set_property(DIRECTORY APPEND PROPERTY TEST_INCLUDE_FILES "${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
     endif()
 
     set(KWSYS_TEST_ARGS_testCommandLineArguments
diff --git a/Source/kwsys/kwsysPlatformTests.cmake b/Source/kwsys/kwsysPlatformTests.cmake
index 6c006bc..7cfdd6e 100644
--- a/Source/kwsys/kwsysPlatformTests.cmake
+++ b/Source/kwsys/kwsysPlatformTests.cmake
@@ -171,51 +171,46 @@
 #
 # Compile test named by ${var} and store INFO strings extracted from binary.
 macro(KWSYS_PLATFORM_INFO_TEST lang var description)
-  # We can implement this macro on CMake 2.6 and above.
-  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6)
-    set(${var} "")
-  else()
-    # Choose a location for the result binary.
-    set(KWSYS_PLATFORM_INFO_FILE
-      ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${var}.bin)
+  # Choose a location for the result binary.
+  set(KWSYS_PLATFORM_INFO_FILE
+    ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${var}.bin)
 
-    # Compile the test binary.
-    if(NOT EXISTS ${KWSYS_PLATFORM_INFO_FILE})
-      message(STATUS "${description}")
-      try_compile(${var}_COMPILED
-        ${CMAKE_CURRENT_BINARY_DIR}
-        ${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}}
-        COMPILE_DEFINITIONS -DTEST_${var}
-          ${KWSYS_PLATFORM_${lang}_TEST_DEFINES}
-          ${KWSYS_PLATFORM_${lang}_TEST_EXTRA_FLAGS}
-        OUTPUT_VARIABLE OUTPUT
-        COPY_FILE ${KWSYS_PLATFORM_INFO_FILE}
-        )
-      if(CMAKE_VERSION VERSION_LESS 3.26)
-        if(${var}_COMPILED)
-          file(APPEND
-            ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
-            "${description} compiled with the following output:\n${OUTPUT}\n\n")
-        else()
-          file(APPEND
-            ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
-            "${description} failed to compile with the following output:\n${OUTPUT}\n\n")
-        endif()
-      endif()
+  # Compile the test binary.
+  if(NOT EXISTS ${KWSYS_PLATFORM_INFO_FILE})
+    message(STATUS "${description}")
+    try_compile(${var}_COMPILED
+      ${CMAKE_CURRENT_BINARY_DIR}
+      ${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}}
+      COMPILE_DEFINITIONS -DTEST_${var}
+        ${KWSYS_PLATFORM_${lang}_TEST_DEFINES}
+        ${KWSYS_PLATFORM_${lang}_TEST_EXTRA_FLAGS}
+      OUTPUT_VARIABLE OUTPUT
+      COPY_FILE ${KWSYS_PLATFORM_INFO_FILE}
+      )
+    if(CMAKE_VERSION VERSION_LESS 3.26)
       if(${var}_COMPILED)
-        message(STATUS "${description} - compiled")
+        file(APPEND
+          ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+          "${description} compiled with the following output:\n${OUTPUT}\n\n")
       else()
-        message(STATUS "${description} - failed")
+        file(APPEND
+          ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+          "${description} failed to compile with the following output:\n${OUTPUT}\n\n")
       endif()
     endif()
-
-    # Parse info strings out of the compiled binary.
     if(${var}_COMPILED)
-      file(STRINGS ${KWSYS_PLATFORM_INFO_FILE} ${var} REGEX "INFO:[A-Za-z0-9]+\\[[^]]*\\]")
+      message(STATUS "${description} - compiled")
     else()
-      set(${var} "")
+      message(STATUS "${description} - failed")
     endif()
-
-    set(KWSYS_PLATFORM_INFO_FILE)
   endif()
+
+  # Parse info strings out of the compiled binary.
+  if(${var}_COMPILED)
+    file(STRINGS ${KWSYS_PLATFORM_INFO_FILE} ${var} REGEX "INFO:[A-Za-z0-9]+\\[[^]]*\\]")
+  else()
+    set(${var} "")
+  endif()
+
+  set(KWSYS_PLATFORM_INFO_FILE)
 endmacro()