From 14dea51007733c2c321aa6c5b79dea5efe6aafe5 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Fri, 25 Sep 2015 07:28:29 +0200 Subject: [PATCH 1/1] Try to unify the native lib location between cmake and java --- src/bindings/java/org/simgrid/NativeLib.java | 7 +++---- tools/cmake/MakeJava.cmake | 18 +++++++++++++----- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/bindings/java/org/simgrid/NativeLib.java b/src/bindings/java/org/simgrid/NativeLib.java index f3102c09a7..54dad77a52 100644 --- a/src/bindings/java/org/simgrid/NativeLib.java +++ b/src/bindings/java/org/simgrid/NativeLib.java @@ -20,13 +20,12 @@ public final class NativeLib { if (arch.matches("^i[3-6]86$")) arch = "x86"; - else if (arch.equalsIgnoreCase("amd64")) - arch = "x86_64"; + else if (arch.equalsIgnoreCase("x86_64")) + arch = "amd64"; if (os.toLowerCase().startsWith("win")){ os = "Windows"; - arch = "x86"; - }else if (os.contains("OS X")) + } else if (os.contains("OS X")) os = "Darwin"; os = os.replace(' ', '_'); diff --git a/tools/cmake/MakeJava.cmake b/tools/cmake/MakeJava.cmake index c7b67b0f49..4d93dbcdfa 100644 --- a/tools/cmake/MakeJava.cmake +++ b/tools/cmake/MakeJava.cmake @@ -72,6 +72,14 @@ else() add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC} OUTPUT_NAME simgrid) endif() +set(JAVA_NATIVE_PATH NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}) +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^i[3-6]86$") + set(JAVA_NATIVE_PATH NATIVE/${CMAKE_SYSTEM_NAME}/x86) +endif() +if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") + set(JAVA_NATIVE_PATH NATIVE/${CMAKE_SYSTEM_NAME}/amd64) +endif() + add_custom_command( COMMENT "Finalize simgrid.jar..." OUTPUT ${SIMGRID_JAR}_finalized @@ -94,16 +102,16 @@ add_custom_command( COMMAND ${JAVA_ARCHIVE} -uvmf ${MANIFEST_FILE} ${SIMGRID_JAR} COMMAND ${CMAKE_COMMAND} -E copy ${SIMGRID_JAR} ${SIMGRID_FULL_JAR} - COMMAND ${CMAKE_COMMAND} -E make_directory NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO} NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO} NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/lib/${LIBSURF_JAVA_SO} NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR} + 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} COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_FULL_JAR} NATIVE COMMAND ${Java_JAVADOC_EXECUTABLE} -quiet -d doc/javadoc -sourcepath ${CMAKE_HOME_DIRECTORY}/src/bindings/java/ org.simgrid.msg org.simgrid.surf org.simgrid.trace COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_FULL_JAR} doc/javadoc - COMMAND ${CMAKE_COMMAND} -E echo "-- Cmake put the native code in NATIVE/${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}" + COMMAND ${CMAKE_COMMAND} -E echo "-- Cmake put the native code in ${JAVA_NATIVE_PATH}" COMMAND "${Java_JAVA_EXECUTABLE}" -classpath "${SIMGRID_JAR}" org.simgrid.NativeLib COMMAND ${CMAKE_COMMAND} -E remove ${SIMGRID_JAR}_finalized -- 2.20.1