diff options
author | Brad King <brad.king@kitware.com> | 2021-10-07 13:12:31 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-10-07 13:12:45 (GMT) |
commit | f175a62fcc08678da5c0c567a196ebdca9e0b1a5 (patch) | |
tree | 71e23c1e5cd1a15d85eacd8ea8f4b5c070f8479d /Modules | |
parent | 572217ee6c8affbe7bf2c18f83d3cae54149e087 (diff) | |
parent | 3add62462cfd91ad8f73bbbdab3f5e4e72c50a98 (diff) | |
download | CMake-f175a62fcc08678da5c0c567a196ebdca9e0b1a5.zip CMake-f175a62fcc08678da5c0c567a196ebdca9e0b1a5.tar.gz CMake-f175a62fcc08678da5c0c567a196ebdca9e0b1a5.tar.bz2 |
Merge topic 'xcode-lang-defaults'
3add62462c Xcode: Fix detection of default language standard when given -std= flags
5c4424e5b7 CMakeDetermineCompilerId: Tolerate variables named for languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6598
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CMakeDetermineCompilerId.cmake | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake index b38de8a..fa283fe 100644 --- a/Modules/CMakeDetermineCompilerId.cmake +++ b/Modules/CMakeDetermineCompilerId.cmake @@ -539,7 +539,8 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS} else() set(id_toolset "") endif() - if("${lang}" STREQUAL "Swift") + set(id_lang_version "") + if("x${lang}" STREQUAL "xSwift") if(CMAKE_Swift_LANGUAGE_VERSION) set(id_lang_version "SWIFT_VERSION = ${CMAKE_Swift_LANGUAGE_VERSION};") elseif(XCODE_VERSION VERSION_GREATER_EQUAL 10.2) @@ -549,8 +550,14 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS} else() set(id_lang_version "SWIFT_VERSION = 2.3;") endif() - else() - set(id_lang_version "") + elseif("x${lang}" STREQUAL "xC" OR "x${lang}" STREQUAL "xOBJC") + if(CMAKE_${lang}_COMPILER_ID_FLAGS MATCHES "(^| )(-std=[^ ]+)( |$)") + set(id_lang_version "OTHER_CFLAGS = \"${CMAKE_MATCH_2}\";") + endif() + elseif("x${lang}" STREQUAL "xCXX" OR "x${lang}" STREQUAL "xOBJCXX") + if(CMAKE_${lang}_COMPILER_ID_FLAGS MATCHES "(^| )(-std=[^ ]+)( |$)") + set(id_lang_version "OTHER_CPLUSPLUSFLAGS = \"${CMAKE_MATCH_2}\";") + endif() endif() if(CMAKE_OSX_DEPLOYMENT_TARGET) set(id_deployment_target |