diff options
Diffstat (limited to 'cmake/Modules/CMakeTestJavaCompiler.cmake')
-rw-r--r-- | cmake/Modules/CMakeTestJavaCompiler.cmake | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cmake/Modules/CMakeTestJavaCompiler.cmake b/cmake/Modules/CMakeTestJavaCompiler.cmake new file mode 100644 index 000000000..e524bc251 --- /dev/null +++ b/cmake/Modules/CMakeTestJavaCompiler.cmake @@ -0,0 +1,47 @@ +#============================================================================= +# Copyright 2004-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) + +# This file is used by EnableLanguage in cmGlobalGenerator to +# determine that that selected Java compiler can actually compile +# and link the most basic of programs. If not, a fatal error +# is set and cmake stops processing commands and will not generate +# any makefiles or projects. + +set(CMAKE_Java_COMPILER_WORKS 1 CACHE INTERNAL "") + +if (NOT CMAKE_Java_COMPILER_WORKS) + message(STATUS "Check for working Java compiler: ${CMAKE_Java_COMPILER}") + + file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testJavaCompiler.java + "class HelloWorldApp {\n" + " public static void main(String[] args) {\n" + " System.out.println("Hello World!");\n" + " }\n" + "}\n" + ) + + try_compile(CMAKE_Java_COMPILER_WORKS + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testJavaCompiler.java + OUTPUT_VARIABLE OUTPUT + ) + + if (CMAKE_Java_COMPILER_WORKS) + message(STATUS "Check for working Java compiler: ${CMAKE_C_COMPILER} -- works") + file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log + "Determining if the C compiler works passed with " + "the following output:\n${OUTPUT}\n\n" + ) + set(CMAKE_Java_COMPILER_WORKS 1 CACHE INTERNAL "") + endif (CMAKE_Java_COMPILER_WORKS) +endif (NOT CMAKE_Java_COMPILER_WORKS) |