96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | 
 | ||
|  | macro_optional_find_package(Java ON) | ||
|  | 
 | ||
|  |  find_package(Java COMPONENTS Runtime Development) | ||
|  |  #find_package(Java COMPONENTS Runtime) | ||
|  | 
 | ||
|  | macro_log_feature (Java_Development_FOUND "Java" | ||
|  |     "Use Java System" | ||
|  |     "http://www.java.org" FALSE) | ||
|  | macro_optional_find_package(JNI ON) | ||
|  |     macro_log_feature (JNI_FOUND "JNI" | ||
|  |     "Use Java Native Interface" | ||
|  |     "http://www.java.org" FALSE) | ||
|  | 
 | ||
|  | 
 | ||
|  | if (Java_Development_FOUND) | ||
|  | 
 | ||
|  |     include ( UseJava  ) | ||
|  |     include ( UseSWIG  ) | ||
|  | 
 | ||
|  | 
 | ||
|  |   #  SET(CMAKE_SWIG_FLAGS -package YAP) | ||
|  | 
 | ||
|  |     set (CMAKE_SWIG_OUTDIR  ${CMAKE_CURRENT_BINARY_DIR} ) | ||
|  | 
 | ||
|  |     SET(SWIG_SOURCES | ||
|  |       ../yap.i | ||
|  |       ) | ||
|  | 
 | ||
|  |    #set (CMAKE_JAVA_CLASS_OUTPUT_PATH java) | ||
|  | 
 | ||
|  | 
 | ||
|  |     SET_SOURCE_FILES_PROPERTIES(${SWIG_SOURCES} PROPERTIES CPLUSPLUS ON) | ||
|  | 
 | ||
|  | 
 | ||
|  |   include_directories ( | ||
|  |     ${CMAKE_SOURCE_DIR}/CXX | ||
|  |     ${JAVA_INCLUDE_DIRS} | ||
|  |     ${JNI_INCLUDE_DIRS} | ||
|  |       ) | ||
|  | 
 | ||
|  |     if ( ${C_COMPILER} MATCHES "Clang") | ||
|  |       set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-prototypes") | ||
|  |     endif() | ||
|  |     if ( ${C_COMPILER} MATCHES "GNU") | ||
|  |       set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-declarations") | ||
|  |     endif() | ||
|  |     #SET(CMAKE_SWIG_FLAGS "${CMAKE_SWIG_FLAGS} ") | ||
|  | 
 | ||
|  |     SWIG_ADD_MODULE(Native java ${SWIG_SOURCES} | ||
|  | 	   ) | ||
|  | 
 | ||
|  | 	add_dependencies(Native Yap++ ) | ||
|  | 	  | ||
|  |     SWIG_LINK_LIBRARIES (Native Yap++ ) | ||
|  |        | ||
|  | 
 | ||
|  |    set(CMAKE_JNI_TARGET 1) | ||
|  |     ADD_JAR( NativeJar | ||
|  |       SOURCES "../../../misc/icons/yap_16x16x32.png" | ||
|  |       DEPENDS Native | ||
|  |       PROPERTIES OUTPUT_NAME Native | ||
|  |       ) | ||
|  |     install_jar(NativeJar ${libpl}) | ||
|  |     	add_dependencies(NativeJar Native ) | ||
|  |     #install_jni_symlink(NativeJar  .) | ||
|  | 
 | ||
|  | 
 | ||
|  |     ADD_CUSTOM_COMMAND(TARGET NativeJar | ||
|  |       POST_BUILD | ||
|  |      COMMAND cmake -E echo "Compiling Java files..." | ||
|  |      COMMAND ${Java_JAVAC_EXECUTABLE} *.java -cp . | ||
|  |      COMMAND cmake -E echo "Creating jar file..." | ||
|  |      COMMAND ${Java_JAR_EXECUTABLE} -ufM Native.jar *.class | ||
|  |      ) | ||
|  | 
 | ||
|  |    ADD_JAR( JavaYAP | ||
|  |      SOURCES "JavaYAP.java" | ||
|  |      ENTRY_POINT JavaYAP | ||
|  |      INCLUDE_JARS NativeJar ) | ||
|  |     | ||
|  |    SET(CMAKE_JAVA_COMPILE_FLAGS "-source" "1.8" "-target" "1.8") | ||
|  | install(    TARGETS Native   | ||
|  |     RUNTIME DESTINATION ${bindir} | ||
|  |     ARCHIVE  DESTINATION ${libdir} | ||
|  |     LIBRARY  DESTINATION ${libdir} | ||
|  | ) | ||
|  | 
 | ||
|  | install_jar(JavaYAP ${libpl}) | ||
|  | #install_jni_symlink(JavaYAP ${libpl}) | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  |  Endif (Java_Development_FOUND) |