endif()
if(enable_java)
- add_library(SG_java SHARED ${JMSG_C_SRC})
- set_target_properties(SG_java PROPERTIES VERSION ${libSG_java_version})
- get_target_property(COMMON_INCLUDES SG_java INCLUDE_DIRECTORIES)
- set_target_properties(SG_java PROPERTIES
- INCLUDE_DIRECTORIES "${COMMON_INCLUDES};${JNI_INCLUDE_DIRS}")
- add_dependencies(SG_java simgrid)
-
- if(WIN32)
- get_target_property(SIMGRID_LIB_NAME_NAME SG_java LIBRARY_OUTPUT_NAME)
- set_target_properties(SG_java PROPERTIES
- LINK_FLAGS "-Wl,--subsystem,windows,--kill-at ${SIMGRID_LIB_NAME}"
- PREFIX "")
- find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)
- message(STATUS "pexports: ${PEXPORTS_PATH}")
- if(PEXPORTS_PATH)
- add_custom_command(TARGET SG_java POST_BUILD
- COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/SG_java.dll > ${CMAKE_BINARY_DIR}/SG_java.def)
- endif(PEXPORTS_PATH)
- else()
- target_link_libraries(SG_java simgrid)
- endif()
-
- set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid)
- set(MANIFEST_FILE ${CMAKE_HOME_DIRECTORY}/src/bindings/java/MANIFEST.MF)
- add_jar(SG_java_jar ${JMSG_JAVA_SRC})
- add_custom_command(TARGET SG_java_jar POST_BUILD
- DEPENDS ${MANIFEST_FILE}
- COMMAND ${JAVA_ARCHIVE} -uvmf ${MANIFEST_FILE} ${CMAKE_BINARY_DIR}/${CMAKE_JAVA_TARGET_OUTPUT_NAME}.jar)
+ include(${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/MakeJava.cmake)
endif()
add_dependencies(simgrid maintainer_files)