diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-11-19 17:18:12 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-11-19 17:18:12 (GMT) |
commit | 9b14032ab4188a1ed31c33d0b297a36aa6e2f85c (patch) | |
tree | c181e526501cf08665640e2b8fcc8860ced2790a /Modules/CMakeDetermineCCompiler.cmake | |
parent | 1a2a600a55dfce4f4741245ae31fcf0f227d3a21 (diff) | |
download | CMake-9b14032ab4188a1ed31c33d0b297a36aa6e2f85c.zip CMake-9b14032ab4188a1ed31c33d0b297a36aa6e2f85c.tar.gz CMake-9b14032ab4188a1ed31c33d0b297a36aa6e2f85c.tar.bz2 |
BUG: fix handling of CXX
Diffstat (limited to 'Modules/CMakeDetermineCCompiler.cmake')
-rw-r--r-- | Modules/CMakeDetermineCCompiler.cmake | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake index f4a037c..151ed81 100644 --- a/Modules/CMakeDetermineCCompiler.cmake +++ b/Modules/CMakeDetermineCCompiler.cmake @@ -6,12 +6,21 @@ # as a default compiler IF(NOT CMAKE_C_COMPILER) - FIND_PROGRAM(CMAKE_C_COMPILER_FULLPATH NAMES $ENV{CC} ${CMAKE_GENERATOR_CC} gcc cc cl bcc ) - GET_FILENAME_COMPONENT(CMAKE_C_COMPILER ${CMAKE_C_COMPILER_FULLPATH} NAME) + SET(CMAKE_C_COMPILER_LIST ${CMAKE_GENERATOR_CC} gcc cc cl bcc ) + IF($ENV{CC} MATCHES ".+") + SET(CMAKE_C_COMPILER_LIST $ENV{CXX}) + ENDIF($ENV{CC} MATCHES ".+") + FIND_PROGRAM(CMAKE_C_COMPILER_FULLPATH NAMES ${CMAKE_C_COMPILER_LIST} ) + GET_FILENAME_COMPONENT(CMAKE_C_COMPILER_INIT + ${CMAKE_C_COMPILER_FULLPATH} NAME) # set this to notfound right after so that it is searched for each time this # file is included - SET(CMAKE_C_COMPILER_FULLPATH NOTFOUND CACHE INTERNAL "full path to c compiler" FORCE) - SET(CMAKE_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING "C++ compiler") + SET(CMAKE_C_COMPILER ${CMAKE_C_COMPILER_INIT} CACHE STRING "C compiler") + IF($ENV{CC} MATCHES ".+") + IF(NOT CMAKE_C_COMPILER) + MESSAGE(SEND_ERROR "Could not find compiler set in environment variable CC:\n$ENV{CC}, make sure CC does not have flags in it, use CFLAGS instead.") + ENDIF(NOT CMAKE_C_COMPILER) + ENDIF($ENV{CC} MATCHES ".+") ENDIF(NOT CMAKE_C_COMPILER) MARK_AS_ADVANCED(CMAKE_C_COMPILER) FIND_PROGRAM(CMAKE_AR NAMES ar PATHS /bin /usr/bin /usr/local/bin) @@ -25,7 +34,7 @@ MARK_AS_ADVANCED(CMAKE_RANLIB) EXEC_PROGRAM(${CMAKE_C_COMPILER} ARGS -E ${CMAKE_ROOT}/Modules/CMakeTestGNU.c OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RETURN_VALUE CMAKE_COMPILER_RETURN) IF(NOT CMAKE_COMPILER_RETURN) IF(${CMAKE_COMPILER_OUTPUT} MATCHES ".*THIS_IS_GNU.*" ) - SET(CMAKE_COMPILER_IS_GNUGCC 1) + SET(CMAKE_COMPILER_IS_GNUCC 1) ENDIF(${CMAKE_COMPILER_OUTPUT} MATCHES ".*THIS_IS_GNU.*" ) ENDIF(NOT CMAKE_COMPILER_RETURN) |