From ff3eea1f5a18fdbdc861435f6ea9122f075d7249 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 8 Feb 2016 02:47:27 +0100 Subject: [PATCH 1/1] [cmake/java] try to reduce the amount of work done over and over --- tools/cmake/Java.cmake | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/cmake/Java.cmake b/tools/cmake/Java.cmake index 6ddf53297b..6149050472 100644 --- a/tools/cmake/Java.cmake +++ b/tools/cmake/Java.cmake @@ -130,17 +130,15 @@ if(enable_lib_in_jar) COMMENT "Add the native libs into simgrid.jar..." DEPENDS simgrid simgrid-java ${JAVALIBS} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${JAVA_NATIVE_PATH} 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_if_different ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_SO} + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_JAVA_SO} # There is no way to disable the dependency of mingw-64 on that lib, unfortunately # nor to script cmake -E properly, so let's be brutal - COMMAND ${CMAKE_COMMAND} -E copy C:/mingw64/bin/libwinpthread-1.dll ${JAVA_NATIVE_PATH} || true + COMMAND ${CMAKE_COMMAND} -E copy_if_different C:/mingw64/bin/libwinpthread-1.dll ${JAVA_NATIVE_PATH}/libwinpthread-1.dll || true COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} ${JAVA_NATIVE_PATH} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${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 -- 2.20.1