if (CMAKE_VERSION VERSION_LESS "2.8.8")
include_directories(${JNI_INCLUDE_DIRS})
- message(WARNING "[Java] Try to workaround missing feature in older CMake. You should better update CMake to version 2.8.8 or above.")
+ message("[Java] Try to workaround missing feature in older CMake. You should better update CMake to version 2.8.8 or above.")
get_directory_property(CHECK_INCLUDES INCLUDE_DIRECTORIES)
else()
get_target_property(COMMON_INCLUDES simgrid-java INCLUDE_DIRECTORIES)
COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_FULL_JAR} "NATIVE"
COMMAND ${CMAKE_COMMAND} -E remove ${SIMGRID_JAR}_finalized
COMMAND ${CMAKE_COMMAND} -E touch ${SIMGRID_JAR}_finalized
- COMMAND ${Java_JAVADOC_EXECUTABLE} -quiet -d doc ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*.java ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*/*.java
- COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_FULL_JAR} doc
+ COMMAND ${Java_JAVADOC_EXECUTABLE} -quiet -d doc/javadoc ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*.java ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*/*.java
+ COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_FULL_JAR} doc/javadoc
)
add_custom_target(simgrid-java_jar ALL DEPENDS ${SIMGRID_JAR}_finalized)
+include_directories(${JNI_INCLUDE_DIRS} ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
if(enable_maintainer_mode)
set(CMAKE_SWIG_FLAGS "-package" "org.simgrid.surf")
set(CMAKE_SWIG_OUTDIR "${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/surf")
set_source_files_properties(${JSURF_SWIG_SRC} PROPERTIES CPLUSPLUS 1)
- include_directories(${JNI_INCLUDE_DIRS})
+
swig_add_module(surf-java java ${JSURF_SWIG_SRC} ${JSURF_JAVA_C_SRC})
- add_custom_command(TARGET surf-java POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/src/bindings/java/surfJAVA_wrap.cxx" "${CMAKE_HOME_DIRECTORY}/src/bindings/java/surfJAVA_wrap.cxx"
- COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/src/bindings/java/surfJAVA_wrap.h" "${CMAKE_HOME_DIRECTORY}/src/bindings/java/surfJAVA_wrap.h"
- )
+ if(NOT "${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
+ add_custom_command(TARGET surf-java POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/src/bindings/java/org/simgrid/surf/surfJAVA_wrap.cxx" "${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/surf/surfJAVA_wrap.cxx"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/src/bindings/java/org/simgrid/surf/surfJAVA_wrap.h" "${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/surf/surfJAVA_wrap.h"
+ )
+ endif()
swig_link_libraries(surf-java simgrid)
else()
- add_library(surf-java SHARED
- ${JSURF_C_SRC})
+ add_library(surf-java SHARED ${JSURF_C_SRC})
target_link_libraries(surf-java simgrid)
- set_source_files_properties("${CMAKE_HOME_DIRECTORY}/src/bindings/java/surfJAVA_wrap.cxx"
- PROPERTIES COMPILE_FLAGS "-fPIC -I\"${JAVA_INCLUDE_PATH}\" -I\"${JAVA_INCLUDE_PATH2}\""
- )
endif()
+
set_target_properties(surf-java PROPERTIES SKIP_BUILD_RPATH ON)
set_target_properties(simgrid-java PROPERTIES SKIP_BUILD_RPATH ON)