summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2010-10-25 15:03:36 -0400
committerDavid Cole <david.cole@kitware.com>2010-10-25 15:03:36 -0400
commitc8f39193e01e15a13a37ca227f02a2e4472f3d8a (patch)
treeed66e580efd8e6d66492c15fd1aa26a4efdca95c
parent06b5eaa3cf7dc534415473eb1f3bfef191008999 (diff)
downloadcmake-c8f39193e01e15a13a37ca227f02a2e4472f3d8a.tar.gz
Avoid problem reading jni.h on Macs.
Apple released an update recently in which there was a broken symlink for jni.h that pointed to a non-existent file. CMake had trouble configuring because it encountered an error trying to read jni.h. We avoid the problem here by introducing a variable CTEST_RUN_Java, which defaults to OFF on Macs, that indicates whether to even attempt finding java, reading jni.h and adding the "Java" CMake test. If you would like to test Java on a Mac where the jni.h symlink is not busted, feel free to pass in -DCTEST_RUN_Java:BOOL=ON when configuring CMake.
-rw-r--r--Tests/CMakeLists.txt12
1 files changed, 10 insertions, 2 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index c056e86129..d618ab4858 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1635,7 +1635,15 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
ENDIF()
ENDIF()
- IF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
+ if(NOT DEFINED CTEST_RUN_Java)
+ if(APPLE)
+ set(CTEST_RUN_Java OFF)
+ else()
+ set(CTEST_RUN_Java ON)
+ endif()
+ endif()
+
+ IF(CTEST_RUN_Java)
find_package(Java QUIET)
IF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
@@ -1659,7 +1667,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
ENDIF(JNI_H)
ENDIF(JAVA_COMPILE AND JAVA_RUNTIME AND JAVA_ARCHIVE AND NOT MINGW)
- ENDIF(NOT CMAKE_TEST_GENERATOR MATCHES "Xcode")
+ ENDIF(CTEST_RUN_Java)
# add some cross compiler tests, for now only with makefile based generators
IF(CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")