From 9d40a7a7a470739d02bf4ad99c21ff55b4c9fe2b Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 7 Nov 2013 01:11:58 +0100 Subject: [PATCH] clean the build of the jarfile so that it works with cmake >= 2.8.12 too --- buildtools/Cmake/MakeJava.cmake | 34 ++++++++++++--------------------- src/bindings/java/MANIFEST.MF | 5 ----- 2 files changed, 12 insertions(+), 27 deletions(-) delete mode 100644 src/bindings/java/MANIFEST.MF diff --git a/buildtools/Cmake/MakeJava.cmake b/buildtools/Cmake/MakeJava.cmake index 52de66de27..b39437002b 100644 --- a/buildtools/Cmake/MakeJava.cmake +++ b/buildtools/Cmake/MakeJava.cmake @@ -56,7 +56,6 @@ endif() ## Files to include in simgrid.jar ## set(SIMGRID_JAR "${CMAKE_BINARY_DIR}/simgrid.jar") -set(MANIFEST_FILE "${CMAKE_HOME_DIRECTORY}/src/bindings/java/MANIFEST.MF") set(LIBSIMGRID_SO libsimgrid${CMAKE_SHARED_LIBRARY_SUFFIX}) set(LIBSG_JAVA_SO @@ -86,32 +85,23 @@ endif() ## Here is how to build simgrid.jar ## +set(CMAKE_JAVA_JAR_ENTRY_POINT org/simgrid/msg/Msg) set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid) -add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC}) - -add_custom_command( - COMMENT "Finalize simgrid.jar..." - OUTPUT ${SIMGRID_JAR}_finalized - DEPENDS simgrid simgrid-java simgrid-java_pre_jar - ${SIMGRID_JAR} ${MANIFEST_FILE} - ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO} - ${CMAKE_BINARY_DIR}/lib/${LIBSG_JAVA_SO} - ${CMAKE_HOME_DIRECTORY}/COPYING - ${CMAKE_HOME_DIRECTORY}/ChangeLog - ${CMAKE_HOME_DIRECTORY}/ChangeLog.SimGrid-java - ${CMAKE_HOME_DIRECTORY}/LICENSE-LGPL-2.1 +add_jar(simgrid-java_jar + SOURCES ${JMSG_JAVA_SRC} + ${CMAKE_HOME_DIRECTORY}/COPYING + ${CMAKE_HOME_DIRECTORY}/ChangeLog + ${CMAKE_HOME_DIRECTORY}/LICENSE-LGPL-2.1 + NATIVE/ + ) + +add_custom_command(TARGET simgrid-java_jar PRE_BUILD COMMAND ${CMAKE_COMMAND} -E remove_directory "NATIVE" COMMAND ${CMAKE_COMMAND} -E make_directory "${JSG_BUNDLE}" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}" "${JSG_BUNDLE}" COMMAND ${STRIP_COMMAND} -S "${JSG_BUNDLE}/${LIBSIMGRID_SO}" COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/lib/${LIBSG_JAVA_SO}" "${JSG_BUNDLE}" COMMAND ${STRIP_COMMAND} -S "${JSG_BUNDLE}/${LIBSG_JAVA_SO}" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/COPYING" "${JSG_BUNDLE}" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/ChangeLog" "${JSG_BUNDLE}" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/ChangeLog.SimGrid-java" "${JSG_BUNDLE}" - COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/LICENSE-LGPL-2.1" "${JSG_BUNDLE}" - COMMAND ${JAVA_ARCHIVE} -uvmf ${MANIFEST_FILE} ${SIMGRID_JAR} "NATIVE" - COMMAND ${CMAKE_COMMAND} -E remove ${SIMGRID_JAR}_finalized - COMMAND ${CMAKE_COMMAND} -E touch ${SIMGRID_JAR}_finalized ) -add_custom_target(simgrid-java_jar ALL DEPENDS ${SIMGRID_JAR}_finalized) + +add_dependencies(simgrid-java_jar simgrid-java) \ No newline at end of file diff --git a/src/bindings/java/MANIFEST.MF b/src/bindings/java/MANIFEST.MF deleted file mode 100644 index 8d2c03944a..0000000000 --- a/src/bindings/java/MANIFEST.MF +++ /dev/null @@ -1,5 +0,0 @@ -Manifest-Version: 1.0 -Built-By: Da SimGrid team -Main-Class: org.simgrid.msg.Msg -Class-Path: . - -- 2.20.1