diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2003-01-21 17:50:48 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2003-01-21 17:50:48 (GMT) |
commit | 2f4ea98a4cf35b0aa6ced86c98c4b96984ef4fb7 (patch) | |
tree | 2e7ba2c7d45537691296edc194f605f623bcc3a7 /Modules/CMakeTestCCompiler.cmake | |
parent | 110bc04bd0125ef746ad8ea239c632831f7c5075 (diff) | |
download | CMake-2f4ea98a4cf35b0aa6ced86c98c4b96984ef4fb7.zip CMake-2f4ea98a4cf35b0aa6ced86c98c4b96984ef4fb7.tar.gz CMake-2f4ea98a4cf35b0aa6ced86c98c4b96984ef4fb7.tar.bz2 |
add a fatal error, and make sure c and c++ compilers work before using them
Diffstat (limited to 'Modules/CMakeTestCCompiler.cmake')
-rw-r--r-- | Modules/CMakeTestCCompiler.cmake | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Modules/CMakeTestCCompiler.cmake b/Modules/CMakeTestCCompiler.cmake new file mode 100644 index 0000000..8e88c0a --- /dev/null +++ b/Modules/CMakeTestCCompiler.cmake @@ -0,0 +1,19 @@ +# This file is used by EnableLanguage in cmGlobalGenerator to +# determine that that selected C compiler can actually compile +# and like the most basic of programs. If not, a fatel error +# is set and cmake stops processing commands and will not generate +# any makefiles or projects. +MESSAGE(STATUS "Check for working C compiler: ${CMAKE_C_COMPILER}") +WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeTmp/testCCompiler.c "int main(){return 0;}") +TRY_COMPILE(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/CMakeTmp/testCCompiler.c + OUTPUT_VARIABLE OUTPUT) +IF(NOT CMAKE_C_COMPILER_WORKS) + MESSAGE(STATUS "Check for working C compiler: ${CMAKE_C_COMPILER} -- broken") + MESSAGE(FATAL_ERROR "The C compiler \"${CMAKE_C_COMPILER}\" " + "is not able to compile a simple tests program.\nIt fails " + "with the following output:\n ${OUTPUT}\n\n" + "CMake will not be able to correctly generate this project.") +ELSE(NOT CMAKE_C_COMPILER_WORKS) + MESSAGE(STATUS "Check for working C compiler: ${CMAKE_C_COMPILER} -- works") +ENDIF(NOT CMAKE_C_COMPILER_WORKS) |