FindJNI.cmake 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #
  2. # This module finds if Java is installed and determines where the
  3. # include files and libraries are. It also determines what the name of
  4. # the library is. This code sets the following variables:
  5. #
  6. # JAVA_AWT_LIB_PATH = the path to where the jawt library is
  7. # JAVA_INCLUDE_PATH = the path to where jni.h can be found
  8. # JAVA_AWT_INCLUDE_PATH = the path to where jni.h can be found
  9. #
  10. SET(JAVA_AWT_LIBRARY_DIRECTORIES
  11. /usr/lib
  12. /usr/local/lib
  13. /usr/lib/java/jre/lib/i386
  14. /usr/local/lib/java/jre/lib/i386
  15. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
  16. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
  17. )
  18. SET(JAVA_AWT_INCLUDE_DIRECTORIES
  19. /usr/include
  20. /usr/local/include
  21. /usr/lib/java/include
  22. /usr/local/lib/java/include
  23. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
  24. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
  25. )
  26. IF(APPLE)
  27. IF(EXISTS ~/Library/Frameworks/JavaEmbedding.framework)
  28. SET(JAVA_HAVE_FRAMEWORK 1)
  29. ENDIF(EXISTS ~/Library/Frameworks/JavaEmbedding.framework)
  30. IF(EXISTS /Library/Frameworks/JavaEmbedding.framework)
  31. SET(JAVA_HAVE_FRAMEWORK 1)
  32. ENDIF(EXISTS /Library/Frameworks/JavaEmbedding.framework)
  33. IF(EXISTS /System/Library/Frameworks/JavaEmbedding.framework)
  34. SET(JAVA_HAVE_FRAMEWORK 1)
  35. ENDIF(EXISTS /System/Library/Frameworks/JavaEmbedding.framework)
  36. IF(JAVA_HAVE_FRAMEWORK)
  37. IF(NOT JAVA_AWT_LIBRARY)
  38. SET (JAVA_AWT_LIBRARY "-framework JavaVM -framework JavaEmbedding" CACHE FILEPATH "Java Frameworks" FORCE)
  39. ENDIF(NOT JAVA_AWT_LIBRARY)
  40. SET(JAVA_AWT_INCLUDE_DIRECTORIES ${JAVA_AWT_INCLUDE_DIRECTORIES}
  41. ~/Library/Frameworks/JavaVM.framework/Headers
  42. /Library/Frameworks/JavaVM.framework/Headers
  43. /System/Library/Frameworks/JavaVM.framework/Headers
  44. ~/Library/Frameworks/JavaEmbedding.framework/Headers
  45. /Library/Frameworks/JavaEmbedding.framework/Headers
  46. /System/Library/Frameworks/JavaEmbedding.framework/Headers
  47. )
  48. ENDIF(JAVA_HAVE_FRAMEWORK)
  49. ELSE(APPLE)
  50. FIND_LIBRARY(JAVA_AWT_LIBRARY jawt
  51. PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
  52. )
  53. ENDIF(APPLE)
  54. # add in the include path
  55. FIND_PATH(JAVA_INCLUDE_PATH jni.h
  56. ${JAVA_AWT_INCLUDE_DIRECTORIES}
  57. )
  58. FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h
  59. ${JAVA_AWT_INCLUDE_DIRECTORIES}
  60. ${JAVA_INCLUDE_PATH}/win32
  61. ${JAVA_INCLUDE_PATH}/linux
  62. )
  63. FIND_PATH(JAVA_AWT_INCLUDE_PATH jawt.h
  64. ${JAVA_AWT_INCLUDE_DIRECTORIES} ${JAVA_INCLUDE_PATH} )
  65. MARK_AS_ADVANCED(
  66. JAVA_AWT_LIBRARY
  67. JAVA_AWT_INCLUDE_PATH
  68. JAVA_INCLUDE_PATH
  69. JAVA_INCLUDE_PATH2
  70. )