- DEPENDS simgrid-java
- ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
- ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO}
- ${CMAKE_BINARY_DIR}/lib/${LIBSURF_JAVA_SO}
-
- COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
- COMMAND ${CMAKE_COMMAND} -E make_directory ${JAVA_NATIVE_PATH}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO} ${JAVA_NATIVE_PATH}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO} ${JAVA_NATIVE_PATH}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/${LIBSURF_JAVA_SO} ${JAVA_NATIVE_PATH}
-
- # strip seems to fail on Mac on binaries that are already stripped.
- # It then spits: "symbols referenced by indirect symbol table entries that can't be stripped"
- COMMAND ${STRIP_COMMAND} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_SO} || true
- COMMAND ${STRIP_COMMAND} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_JAVA_SO} || true
- COMMAND ${STRIP_COMMAND} ${JAVA_NATIVE_PATH}/${LIBSURF_JAVA_SO} || true
-
- COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} NATIVE
- COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
-
- COMMAND ${CMAKE_COMMAND} -E echo "-- Cmake put the native code in ${JAVA_NATIVE_PATH}"
- COMMAND "${Java_JAVA_EXECUTABLE}" -classpath "${SIMGRID_JAR}" org.simgrid.NativeLib
- )
- if(MINGW)
- find_library(WINPTHREAD_DLL
- NAME winpthread winpthread-1
- PATHS C:\\MinGW C:\\MinGW64 C:\\MinGW\\bin C:\\MinGW64\\bin
- )
- add_custom_command(
- TARGET simgrid-java_jar POST_BUILD
- COMMENT "Add the MinGW libs into simgrid.jar..."
- DEPENDS ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
-
- COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
- COMMAND ${CMAKE_COMMAND} -E make_directory ${JAVA_NATIVE_PATH}
- COMMAND ${CMAKE_COMMAND} -E copy ${WINPTHREAD_DLL} ${JAVA_NATIVE_PATH}
-
- COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} NATIVE
- COMMAND ${CMAKE_COMMAND} -E remove_directory NATIVE
- )
- endif(MINGW)
-endif(enable_lib_in_jar)