mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-19 19:43:23 +08:00
Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end
The settings added by commit 3fe8e33f27
(Clang: Record Clang 16.0 flags
for our experimental C++ modules support, 2023-03-03, v3.26.0-rc6~6^2)
work only for the GNU-like `clang++` front-end, and not for the
MSVC-like `clang-cl` on Windows.
Also quote the path to `clang-scan-deps` to support spaces in its path.
Issue: #24611
This commit is contained in:
@@ -30,16 +30,18 @@ if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xMSVC")
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
||||||
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
if("x${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "xGNU")
|
||||||
"${CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS}"
|
string(CONCAT CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE
|
||||||
" -format=p1689"
|
"\"${CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS}\""
|
||||||
" --"
|
" -format=p1689"
|
||||||
" <CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS>"
|
" --"
|
||||||
" -x c++ <SOURCE> -c -o <OBJECT>"
|
" <CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS>"
|
||||||
" -MT <DYNDEP_FILE>"
|
" -x c++ <SOURCE> -c -o <OBJECT>"
|
||||||
" -MD -MF <DEP_FILE>"
|
" -MT <DYNDEP_FILE>"
|
||||||
" > <DYNDEP_FILE>")
|
" -MD -MF <DEP_FILE>"
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "clang")
|
" > <DYNDEP_FILE>")
|
||||||
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FORMAT "clang")
|
||||||
endif ()
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_MAP_FLAG "@<MODULE_MAP_FILE>")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
Reference in New Issue
Block a user