## Here is how to build simgrid.jar
##
-if(CMAKE_VERSION VERSION_LESS "2.8.12")
- set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid)
- add_jar(simgrid-java_jar ${JMSG_JAVA_SRC})
-else()
- add_jar(simgrid-java_jar ${JMSG_JAVA_SRC} OUTPUT_NAME simgrid)
-endif()
+add_jar(simgrid-java_jar ${JMSG_JAVA_SRC} OUTPUT_NAME simgrid)
if(enable_lib_in_jar)
add_dependencies(simgrid-java_jar simgrid-java)
TARGET simgrid-java_jar POST_BUILD
COMMENT "Add the native libs into simgrid.jar..."
DEPENDS simgrid simgrid-java ${JAVALIBS}
-
+
COMMAND ${CMAKE_COMMAND} -E make_directory ${JAVA_NATIVE_PATH}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_SO}
# So let's be brutal and copy it in any case (even on non-windows builds) from the location where appveyor provides it.
# The copy is only expected to work on the appveyor builder, but that's all we need right now
# since our users are directed to download that file as nightly build.
- COMMAND ${CMAKE_COMMAND} -E copy_if_different C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin/libwinpthread-1.dll ${JAVA_NATIVE_PATH}/libwinpthread-1.dll || true
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/libwinpthread-1.dll ${JAVA_NATIVE_PATH}/libwinpthread-1.dll || true
COMMAND ${CMAKE_COMMAND} -E copy_if_different C:/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin/libwinpthread-1.dll ${JAVA_NATIVE_PATH}/libwinpthread-1.dll || true
)
endif()
add_custom_command(
TARGET simgrid-java_jar POST_BUILD
- COMMENT "Packing back the simgrid.jar with the native libs..."
+ COMMENT "Packing back the simgrid.jar with the native libs (turn lib_in_jar off when coding in java)..."
DEPENDS simgrid simgrid-java ${JAVALIBS}
COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} ${JAVA_NATIVE_PATH}
COMMAND ${CMAKE_COMMAND} -E echo "-- Cmake put the native code in ${JAVA_NATIVE_PATH}"
COMMAND "${Java_JAVA_EXECUTABLE}" -classpath "${SIMGRID_JAR}" org.simgrid.NativeLib
)
-
endif(enable_lib_in_jar)
include_directories(${JNI_INCLUDE_DIRS} ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})