mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
KWSys 2025-03-25 (6a109a7b)
Code extracted from: https://gitlab.kitware.com/utils/kwsys.git at commit 6a109a7b7e7985b39d7dc22c6515888b2921cf90 (master). Upstream Shortlog ----------------- Brad King (2): a3f10d75 Drop unused code for compatibility with CMake < 2.6 f555ff3a Require CMake 3.13 or higher, enable policies through 3.31 Peter Kokot (2): 03be1fd7 Replace CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID 1a2e54be CTest: Replace deprecated TEST_INCLUDE_FILE with TEST_INCLUDE_FILES
This commit is contained in:

committed by
Brad King

parent
25ea535aba
commit
7bf8891b88
@@ -88,7 +88,7 @@
|
|||||||
# any outside mailing list and no documentation of the change will be
|
# any outside mailing list and no documentation of the change will be
|
||||||
# written.
|
# 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
|
# Some configure checks depend upon the deployment target. Clear checks when
|
||||||
# the deployment target changes.
|
# the deployment target changes.
|
||||||
@@ -317,7 +317,7 @@ endif()
|
|||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Adjust compiler flags for some platforms.
|
# 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.*")
|
if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
|
||||||
string(REGEX MATCH "-timplicit_local"
|
string(REGEX MATCH "-timplicit_local"
|
||||||
KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}")
|
KWSYS_CXX_FLAGS_HAVE_IMPLICIT_LOCAL "${CMAKE_CXX_FLAGS}")
|
||||||
@@ -1038,7 +1038,7 @@ if(KWSYS_STANDALONE OR CMake_SOURCE_DIR)
|
|||||||
if(CTEST_TEST_KWSYS)
|
if(CTEST_TEST_KWSYS)
|
||||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ExtraTest.cmake.in"
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ExtraTest.cmake.in"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/ExtraTest.cmake")
|
"${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()
|
endif()
|
||||||
|
|
||||||
set(KWSYS_TEST_ARGS_testCommandLineArguments
|
set(KWSYS_TEST_ARGS_testCommandLineArguments
|
||||||
|
@@ -171,51 +171,46 @@ endmacro()
|
|||||||
#
|
#
|
||||||
# Compile test named by ${var} and store INFO strings extracted from binary.
|
# Compile test named by ${var} and store INFO strings extracted from binary.
|
||||||
macro(KWSYS_PLATFORM_INFO_TEST lang var description)
|
macro(KWSYS_PLATFORM_INFO_TEST lang var description)
|
||||||
# We can implement this macro on CMake 2.6 and above.
|
# Choose a location for the result binary.
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6)
|
set(KWSYS_PLATFORM_INFO_FILE
|
||||||
set(${var} "")
|
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${var}.bin)
|
||||||
else()
|
|
||||||
# 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.
|
# Compile the test binary.
|
||||||
if(NOT EXISTS ${KWSYS_PLATFORM_INFO_FILE})
|
if(NOT EXISTS ${KWSYS_PLATFORM_INFO_FILE})
|
||||||
message(STATUS "${description}")
|
message(STATUS "${description}")
|
||||||
try_compile(${var}_COMPILED
|
try_compile(${var}_COMPILED
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}}
|
${CMAKE_CURRENT_SOURCE_DIR}/${KWSYS_PLATFORM_TEST_FILE_${lang}}
|
||||||
COMPILE_DEFINITIONS -DTEST_${var}
|
COMPILE_DEFINITIONS -DTEST_${var}
|
||||||
${KWSYS_PLATFORM_${lang}_TEST_DEFINES}
|
${KWSYS_PLATFORM_${lang}_TEST_DEFINES}
|
||||||
${KWSYS_PLATFORM_${lang}_TEST_EXTRA_FLAGS}
|
${KWSYS_PLATFORM_${lang}_TEST_EXTRA_FLAGS}
|
||||||
OUTPUT_VARIABLE OUTPUT
|
OUTPUT_VARIABLE OUTPUT
|
||||||
COPY_FILE ${KWSYS_PLATFORM_INFO_FILE}
|
COPY_FILE ${KWSYS_PLATFORM_INFO_FILE}
|
||||||
)
|
)
|
||||||
if(CMAKE_VERSION VERSION_LESS 3.26)
|
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()
|
|
||||||
if(${var}_COMPILED)
|
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()
|
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()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Parse info strings out of the compiled binary.
|
|
||||||
if(${var}_COMPILED)
|
if(${var}_COMPILED)
|
||||||
file(STRINGS ${KWSYS_PLATFORM_INFO_FILE} ${var} REGEX "INFO:[A-Za-z0-9]+\\[[^]]*\\]")
|
message(STATUS "${description} - compiled")
|
||||||
else()
|
else()
|
||||||
set(${var} "")
|
message(STATUS "${description} - failed")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(KWSYS_PLATFORM_INFO_FILE)
|
|
||||||
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]+\\[[^]]*\\]")
|
||||||
|
else()
|
||||||
|
set(${var} "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(KWSYS_PLATFORM_INFO_FILE)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
Reference in New Issue
Block a user