Browse Source

ENH: if CMAKE_(C|CXX)_COMPILER is preset to a list of two elements, use the
first one as the compiler and the second one as ARG1 for the compiler

Alex

Alexander Neundorf 18 years ago
parent
commit
ff9ed18dad
2 changed files with 18 additions and 1 deletions
  1. 9 1
      Modules/CMakeDetermineCCompiler.cmake
  2. 9 0
      Modules/CMakeDetermineCXXCompiler.cmake

+ 9 - 1
Modules/CMakeDetermineCCompiler.cmake

@@ -59,7 +59,15 @@ ELSE(NOT CMAKE_C_COMPILER)
 
   # we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt
   # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
-  #
+  # if CMAKE_C_COMPILER is a list of length 2, use the first item as 
+  # CMAKE_C_COMPILER and the 2nd one as CMAKE_C_COMPILER_ARG1
+
+  LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH)
+  IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
+    LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1)
+    LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER)
+  ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
+
   # if a compiler was specified by the user but without path, 
   # now try to find it with the full path
   # if it is found, force it into the cache, 

+ 9 - 0
Modules/CMakeDetermineCXXCompiler.cmake

@@ -59,6 +59,15 @@ ELSE(NOT CMAKE_CXX_COMPILER)
 # we only get here if CMAKE_CXX_COMPILER was specified using -D or a pre-made CMakeCache.txt
 # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
 #
+# if CMAKE_CXX_COMPILER is a list of length 2, use the first item as 
+# CMAKE_CXX_COMPILER and the 2nd one as CMAKE_CXX_COMPILER_ARG1
+
+  LIST(LENGTH CMAKE_CXX_COMPILER _CMAKE_CXX_COMPILER_LIST_LENGTH)
+  IF("${_CMAKE_CXX_COMPILER_LIST_LENGTH}" EQUAL 2)
+    LIST(GET CMAKE_CXX_COMPILER 1 CMAKE_CXX_COMPILER_ARG1)
+    LIST(GET CMAKE_CXX_COMPILER 0 CMAKE_CXX_COMPILER)
+  ENDIF("${_CMAKE_CXX_COMPILER_LIST_LENGTH}" EQUAL 2)
+
 # if a compiler was specified by the user but without path, 
 # now try to find it with the full path
 # if it is found, force it into the cache,