mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 13:20:47 -06:00
Modules: refactor compiler find to use modern foreach
This commit is contained in:
@@ -67,7 +67,7 @@ if (NOT _INCLUDED_FILE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_C_ABI_FILES})
|
foreach(f IN LISTS CMAKE_C_ABI_FILES)
|
||||||
include(${f})
|
include(${f})
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(CMAKE_C_ABI_FILES)
|
unset(CMAKE_C_ABI_FILES)
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
|||||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
||||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||||
|
|
||||||
foreach (lang C OBJC OBJCXX)
|
foreach (lang IN ITEMS C OBJC OBJCXX)
|
||||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ if (NOT _INCLUDED_FILE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_CXX_ABI_FILES})
|
foreach(f IN LISTS CMAKE_CXX_ABI_FILES)
|
||||||
include(${f})
|
include(${f})
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(CMAKE_CXX_ABI_FILES)
|
unset(CMAKE_CXX_ABI_FILES)
|
||||||
@@ -182,7 +182,7 @@ if(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Initialize CXX link type selection flags from C versions.
|
# Initialize CXX link type selection flags from C versions.
|
||||||
foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
|
foreach(type IN ITEMS SHARED_LIBRARY SHARED_MODULE EXE)
|
||||||
if(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
|
if(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
|
||||||
set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
|
set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
|
||||||
${CMAKE_${type}_LINK_STATIC_C_FLAGS})
|
${CMAKE_${type}_LINK_STATIC_C_FLAGS})
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ macro(_cmake_find_compiler lang)
|
|||||||
set(_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_LIST}")
|
set(_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_LIST}")
|
||||||
set(CMAKE_${lang}_COMPILER_LIST "")
|
set(CMAKE_${lang}_COMPILER_LIST "")
|
||||||
# Prefer vendors of compilers from reference languages.
|
# Prefer vendors of compilers from reference languages.
|
||||||
foreach(l ${_languages})
|
foreach(l IN LISTS _languages)
|
||||||
list(APPEND CMAKE_${lang}_COMPILER_LIST
|
list(APPEND CMAKE_${lang}_COMPILER_LIST
|
||||||
${_${lang}_COMPILER_NAMES_${CMAKE_${l}_COMPILER_ID}})
|
${_${lang}_COMPILER_NAMES_${CMAKE_${l}_COMPILER_ID}})
|
||||||
endforeach()
|
endforeach()
|
||||||
@@ -33,7 +33,7 @@ macro(_cmake_find_compiler lang)
|
|||||||
|
|
||||||
# Look for directories containing compilers of reference languages.
|
# Look for directories containing compilers of reference languages.
|
||||||
set(_${lang}_COMPILER_HINTS "${CMAKE_${lang}_COMPILER_HINTS}")
|
set(_${lang}_COMPILER_HINTS "${CMAKE_${lang}_COMPILER_HINTS}")
|
||||||
foreach(l ${_languages})
|
foreach(l IN LISTS _languages)
|
||||||
if(CMAKE_${l}_COMPILER AND IS_ABSOLUTE "${CMAKE_${l}_COMPILER}")
|
if(CMAKE_${l}_COMPILER AND IS_ABSOLUTE "${CMAKE_${l}_COMPILER}")
|
||||||
get_filename_component(_hint "${CMAKE_${l}_COMPILER}" PATH)
|
get_filename_component(_hint "${CMAKE_${l}_COMPILER}" PATH)
|
||||||
if(IS_DIRECTORY "${_hint}")
|
if(IS_DIRECTORY "${_hint}")
|
||||||
@@ -99,7 +99,7 @@ macro(_cmake_find_compiler lang)
|
|||||||
if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
|
if (CMAKE_${lang}_COMPILER MATCHES "^/usr/bin/(.+)$")
|
||||||
_query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
|
_query_xcrun("${CMAKE_MATCH_1}" RESULT_VAR xcrun_result)
|
||||||
elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
|
elseif (CMAKE_${lang}_COMPILER STREQUAL "CMAKE_${lang}_COMPILER-NOTFOUND")
|
||||||
foreach(comp ${CMAKE_${lang}_COMPILER_LIST})
|
foreach(comp IN LISTS CMAKE_${lang}_COMPILER_LIST)
|
||||||
_query_xcrun("${comp}" RESULT_VAR xcrun_result)
|
_query_xcrun("${comp}" RESULT_VAR xcrun_result)
|
||||||
if(xcrun_result)
|
if(xcrun_result)
|
||||||
break()
|
break()
|
||||||
|
|||||||
@@ -140,11 +140,11 @@ if(NOT CMAKE_Fortran_COMPILER_ID_RUN)
|
|||||||
set(CMAKE_Fortran_COMPILER_ID_TOOL_MATCH_INDEX 2)
|
set(CMAKE_Fortran_COMPILER_ID_TOOL_MATCH_INDEX 2)
|
||||||
|
|
||||||
set(_version_info "")
|
set(_version_info "")
|
||||||
foreach(m MAJOR MINOR PATCH TWEAK)
|
foreach(m IN ITEMS MAJOR MINOR PATCH TWEAK)
|
||||||
set(_COMP "_${m}")
|
set(_COMP "_${m}")
|
||||||
string(APPEND _version_info "
|
string(APPEND _version_info "
|
||||||
#if defined(COMPILER_VERSION${_COMP})")
|
#if defined(COMPILER_VERSION${_COMP})")
|
||||||
foreach(d 1 2 3 4 5 6 7 8)
|
foreach(d RANGE 1 8)
|
||||||
string(APPEND _version_info "
|
string(APPEND _version_info "
|
||||||
# undef DEC
|
# undef DEC
|
||||||
# undef HEX
|
# undef HEX
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ if (NOT _INCLUDED_FILE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(CMAKE_Fortran_SIZEOF_DATA_PTR)
|
if(CMAKE_Fortran_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_Fortran_ABI_FILES})
|
foreach(f IN LISTS CMAKE_Fortran_ABI_FILES)
|
||||||
include(${f})
|
include(${f})
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(CMAKE_Fortran_ABI_FILES)
|
unset(CMAKE_Fortran_ABI_FILES)
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ if (NOT _INCLUDED_FILE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(CMAKE_OBJC_SIZEOF_DATA_PTR)
|
if(CMAKE_OBJC_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_OBJC_ABI_FILES})
|
foreach(f IN LISTS CMAKE_OBJC_ABI_FILES)
|
||||||
include(${f})
|
include(${f})
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(CMAKE_OBJC_ABI_FILES)
|
unset(CMAKE_OBJC_ABI_FILES)
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ if (CMAKE_OBJC_COMPILER_ID_RUN)
|
|||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach (lang C CXX OBJC)
|
foreach (lang IN ITEMS C CXX OBJC)
|
||||||
foreach(extension IN LISTS CMAKE_OBJCXX_SOURCE_FILE_EXTENSIONS)
|
foreach(extension IN LISTS CMAKE_OBJCXX_SOURCE_FILE_EXTENSIONS)
|
||||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||||
list(REMOVE_ITEM CMAKE_${lang}_SOURCE_FILE_EXTENSIONS ${extension})
|
list(REMOVE_ITEM CMAKE_${lang}_SOURCE_FILE_EXTENSIONS ${extension})
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ if (NOT _INCLUDED_FILE)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(CMAKE_OBJCXX_SIZEOF_DATA_PTR)
|
if(CMAKE_OBJCXX_SIZEOF_DATA_PTR)
|
||||||
foreach(f ${CMAKE_OBJCXX_ABI_FILES})
|
foreach(f IN LISTS CMAKE_OBJCXX_ABI_FILES)
|
||||||
include(${f})
|
include(${f})
|
||||||
endforeach()
|
endforeach()
|
||||||
unset(CMAKE_OBJCXX_ABI_FILES)
|
unset(CMAKE_OBJCXX_ABI_FILES)
|
||||||
@@ -178,7 +178,7 @@ if(NOT CMAKE_SHARED_MODULE_OBJCXX_FLAGS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Initialize OBJCXX link type selection flags from OBJC versions.
|
# Initialize OBJCXX link type selection flags from OBJC versions.
|
||||||
foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
|
foreach(type IN ITEMS SHARED_LIBRARY SHARED_MODULE EXE)
|
||||||
if(NOT CMAKE_${type}_LINK_STATIC_OBJCXX_FLAGS)
|
if(NOT CMAKE_${type}_LINK_STATIC_OBJCXX_FLAGS)
|
||||||
set(CMAKE_${type}_LINK_STATIC_OBJCXX_FLAGS
|
set(CMAKE_${type}_LINK_STATIC_OBJCXX_FLAGS
|
||||||
${CMAKE_${type}_LINK_STATIC_OBJC_FLAGS})
|
${CMAKE_${type}_LINK_STATIC_OBJC_FLAGS})
|
||||||
|
|||||||
Reference in New Issue
Block a user