Browse Source

CompilerId: Fix handling of CMAKE_<LANG>_FLAGS with quotes

Use `separate_arguments` to correctly parse arguments with quotes.

Fixes: #24385
Russell Greene 2 years ago
parent
commit
7201bc072c
1 changed files with 1 additions and 1 deletions
  1. 1 1
      Modules/CMakeDetermineCompilerId.cmake

+ 1 - 1
Modules/CMakeDetermineCompilerId.cmake

@@ -35,7 +35,7 @@ function(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
   else(CMAKE_${lang}_FLAGS_INIT)
     set(CMAKE_${lang}_COMPILER_ID_FLAGS ${CMAKE_${lang}_FLAGS_INIT})
   endif()
-  string(REPLACE " " ";" CMAKE_${lang}_COMPILER_ID_FLAGS_LIST "${CMAKE_${lang}_COMPILER_ID_FLAGS}")
+  separate_arguments(CMAKE_${lang}_COMPILER_ID_FLAGS_LIST NATIVE_COMMAND "${CMAKE_${lang}_COMPILER_ID_FLAGS}")
 
   # Compute the directory in which to run the test.
   set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})