Răsfoiți Sursa

Quote ${CMAKE_<LANG>_COMPILER} while enabling a language

Even though this variable gets set to CMAKE_<LANG>_COMPILER-NOTFOUND when
the compiler is not found, CMake<LANG>Compiler.cmake gets removed by
cmGlobalGenerator::EnableLanguage so in try compiles the value is empty.
Quote references to the variable in

 Modules/CMake(C|CXX|Fortran)Information.cmake
 Modules/CMakeDetermineCompilerId.cmake

to avoid dropping arguments from commands that expect them.
Brad King 12 ani în urmă
părinte
comite
705ae00491

+ 1 - 1
Modules/CMakeCInformation.cmake

@@ -34,7 +34,7 @@ if(CMAKE_C_COMPILER_ID)
 endif()
 endif()
 
 
 set(CMAKE_BASE_NAME)
 set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME ${CMAKE_C_COMPILER} NAME_WE)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_C_COMPILER}" NAME_WE)
 if(CMAKE_COMPILER_IS_GNUCC)
 if(CMAKE_COMPILER_IS_GNUCC)
   set(CMAKE_BASE_NAME gcc)
   set(CMAKE_BASE_NAME gcc)
 endif()
 endif()

+ 1 - 1
Modules/CMakeCXXInformation.cmake

@@ -34,7 +34,7 @@ if(CMAKE_CXX_COMPILER_ID)
 endif()
 endif()
 
 
 set(CMAKE_BASE_NAME)
 set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_CXX_COMPILER}" NAME_WE)
 # since the gnu compiler has several names force g++
 # since the gnu compiler has several names force g++
 if(CMAKE_COMPILER_IS_GNUCXX)
 if(CMAKE_COMPILER_IS_GNUCXX)
   set(CMAKE_BASE_NAME g++)
   set(CMAKE_BASE_NAME g++)

+ 3 - 3
Modules/CMakeDetermineCompilerId.cmake

@@ -232,7 +232,7 @@ Id flags: ${testflags}
   else()
   else()
     if(COMMAND EXECUTE_PROCESS)
     if(COMMAND EXECUTE_PROCESS)
       execute_process(
       execute_process(
-        COMMAND ${CMAKE_${lang}_COMPILER}
+        COMMAND "${CMAKE_${lang}_COMPILER}"
                 ${CMAKE_${lang}_COMPILER_ID_ARG1}
                 ${CMAKE_${lang}_COMPILER_ID_ARG1}
                 ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
                 ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
                 ${testflags}
                 ${testflags}
@@ -244,7 +244,7 @@ Id flags: ${testflags}
         )
         )
     else()
     else()
       exec_program(
       exec_program(
-        ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_DIR}
+        "${CMAKE_${lang}_COMPILER}" ${CMAKE_${lang}_COMPILER_ID_DIR}
         ARGS ${CMAKE_${lang}_COMPILER_ID_ARG1}
         ARGS ${CMAKE_${lang}_COMPILER_ID_ARG1}
              ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
              ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
              ${testflags}
              ${testflags}
@@ -476,7 +476,7 @@ function(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang)
     set(flags ${CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor}})
     set(flags ${CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor}})
     set(regex ${CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor}})
     set(regex ${CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor}})
     execute_process(
     execute_process(
-      COMMAND ${CMAKE_${lang}_COMPILER}
+      COMMAND "${CMAKE_${lang}_COMPILER}"
       ${CMAKE_${lang}_COMPILER_ID_ARG1}
       ${CMAKE_${lang}_COMPILER_ID_ARG1}
       ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
       ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
       ${flags}
       ${flags}

+ 1 - 1
Modules/CMakeFortranInformation.cmake

@@ -24,7 +24,7 @@ if(CMAKE_Fortran_COMPILER_ID)
 endif()
 endif()
 
 
 set(CMAKE_BASE_NAME)
 set(CMAKE_BASE_NAME)
-get_filename_component(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER} NAME_WE)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_Fortran_COMPILER}" NAME_WE)
 # since the gnu compiler has several names force g++
 # since the gnu compiler has several names force g++
 if(CMAKE_COMPILER_IS_GNUG77)
 if(CMAKE_COMPILER_IS_GNUG77)
   set(CMAKE_BASE_NAME g77)
   set(CMAKE_BASE_NAME g77)