Try to avoid to rebuild targets when not needed.
ENDIF()
# Java examples
- set(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/java/:${CMAKE_BINARY_DIR}/simgrid.jar")
+ set(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/java/:${SIMGRID_JAR}")
if(enable_java)
ADD_TEST(java-async ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_HOME_DIRECTORY}/examples/java async/async.tesh)
ADD_TEST(java-bittorrent ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_HOME_DIRECTORY}/examples/java bittorrent/bittorrent.tesh)
set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid)
add_jar(SG_java_jar ${JMSG_JAVA_SRC})
+ set(SIMGRID_JAR "${CMAKE_BINARY_DIR}/simgrid.jar")
set(MANIFEST_FILE "${CMAKE_HOME_DIRECTORY}/src/bindings/java/MANIFEST.MF")
- add_custom_command(TARGET simgrid.jar POST_BUILD
- COMMENT "Update file MANIFEST.MF in simgrid.jar..."
- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
- COMMAND ${JAVA_ARCHIVE} -uvmf ${MANIFEST_FILE} simgrid.jar
- )
if(CMAKE_SYSTEM_PROCESSOR MATCHES ".86")
if(${ARCH_32_BITS})
endif()
message("Native libraries bundeled into: ${JSG_BUNDLE}")
- add_custom_command(TARGET simgrid.jar POST_BUILD
- COMMENT "Combine native libraries in simgrid.jar..."
- DEPENDS simgrid SG_java
+ add_custom_command(
+ COMMENT "Finalize simgrid.jar..."
+ OUTPUT ${SIMGRID_JAR}_finalized
+ DEPENDS simgrid SG_java ${SIMGRID_JAR} ${MANIFEST_FILE}
+ ${CMAKE_HOME_DIRECTORY}/COPYING
+ ${CMAKE_HOME_DIRECTORY}/ChangeLog
+ ${CMAKE_HOME_DIRECTORY}/ChangeLog.SimGrid-java
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
COMMAND ${CMAKE_COMMAND} -E remove_directory "NATIVE"
COMMAND ${CMAKE_COMMAND} -E make_directory "${JSG_BUNDLE}"
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 ${JAVA_ARCHIVE} -uvf simgrid.jar "NATIVE"
+ COMMAND ${JAVA_ARCHIVE} -uvmf ${MANIFEST_FILE} ${SIMGRID_JAR} "NATIVE"
+ COMMAND ${CMAKE_COMMAND} -E touch ${SIMGRID_JAR}_finalized
)
+ add_custom_target(SG_java_jar_finalize DEPENDS ${SIMGRID_JAR}_finalized)
+ add_dependencies(SG_java_jar SG_java_jar_finalize)
endif()
add_dependencies(simgrid maintainer_files)
cmake_minimum_required(VERSION 2.6)
+set(example java_async)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/AsyncTest.java
${CMAKE_CURRENT_SOURCE_DIR}/FinalizeTask.java
)
if(enable_java)
- add_custom_target(java_async ALL
- COMMENT "Building java_async..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_async SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_bittorrent)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Bittorrent.java
${CMAKE_CURRENT_SOURCE_DIR}/Common.java
)
if(enable_java)
- add_custom_target(java_bittorrent ALL
- COMMENT "Building java_bittorrent..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_bittorrent SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_chord)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Chord.java
${CMAKE_CURRENT_SOURCE_DIR}/ChordTask.java
)
if(enable_java)
- add_custom_target(java_chord ALL
- COMMENT "Building java_chord..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_chord SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_cloud)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Cloud.java
${CMAKE_CURRENT_SOURCE_DIR}/FinalizeTask.java
)
if(enable_java)
- add_custom_target(java_cloud ALL
- COMMENT "Building java_cloud..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_cloud SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_commTime)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/CommTimeTest.java
${CMAKE_CURRENT_SOURCE_DIR}/FinalizeTask.java
)
if(enable_java)
- add_custom_target(java_commTime ALL
- COMMENT "Building java_commTime..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_commTime SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_io)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/IO.java
${CMAKE_CURRENT_SOURCE_DIR}/Node.java
)
if(enable_java)
- add_custom_target(java_io ALL
- COMMENT "Building java_io..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_io SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_kademlia)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Answer.java
${CMAKE_CURRENT_SOURCE_DIR}/Bucket.java
)
if(enable_java)
- add_custom_target(java_kademlia ALL
- COMMENT "Building java_kademlia..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_kademlia SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_master_slave_bypass)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/FinalizeTask.java
${CMAKE_CURRENT_SOURCE_DIR}/Master.java
)
if(enable_java)
- add_custom_target(java_master_slave_bypass ALL
- COMMENT "Building java_master_slave_bypass..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_master_slave_bypass SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_master_slave_kill)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/FinalizeTask.java
${CMAKE_CURRENT_SOURCE_DIR}/Master.java
)
if(enable_java)
- add_custom_target(java_master_slave_kill ALL
- COMMENT "Building java_master_slave_kill..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_master_slave_kill SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_masterslave)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/FinalizeTask.java
${CMAKE_CURRENT_SOURCE_DIR}/Forwarder.java
)
if(enable_java)
- add_custom_target(java_masterslave ALL
- COMMENT "Building java_masterslave..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_masterslave SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_migration)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Emigrant.java
${CMAKE_CURRENT_SOURCE_DIR}/Migration.java
)
if(enable_java)
- add_custom_target(java_migration ALL
- COMMENT "Building java_migration..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_migration SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_mutualExclusion)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Coordinator.java
${CMAKE_CURRENT_SOURCE_DIR}/GrantTask.java
)
if(enable_java)
- add_custom_target(java_mutualExclusion ALL
- COMMENT "Building java_mutualExclusion..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_mutualExclusion SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_pingPong)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/PingPongTask.java
${CMAKE_CURRENT_SOURCE_DIR}/PingPongTest.java
)
if(enable_java)
- add_custom_target(java_pingPong ALL
- COMMENT "Building java_pingPong..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_pingPong SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_priority)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Priority.java
${CMAKE_CURRENT_SOURCE_DIR}/Test.java
)
if(enable_java)
- add_custom_target(java_priority ALL
- COMMENT "Building java_priority..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_priority SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_startKillTime)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/Master.java
${CMAKE_CURRENT_SOURCE_DIR}/Slave.java
)
if(enable_java)
- add_custom_target(java_startKillTime ALL
- COMMENT "Building java_startKillTime..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_startKillTime SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_suspend)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/DreamMaster.java
${CMAKE_CURRENT_SOURCE_DIR}/LazyGuy.java
)
if(enable_java)
- add_custom_target(java_suspend ALL
- COMMENT "Building java_suspend..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_suspend SG_java_jar)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files
cmake_minimum_required(VERSION 2.6)
+set(example java_tracing)
set(sources
${CMAKE_CURRENT_SOURCE_DIR}/PingPongTask.java
${CMAKE_CURRENT_SOURCE_DIR}/Receiver.java
${CMAKE_CURRENT_SOURCE_DIR}/TracingTest.java
)
-if(enable_java AND HAVE_TRACING)
- add_custom_target(java_tracing ALL
- COMMENT "Building java_tracing..."
- COMMAND ${JAVA_COMPILE} -cp ${CMAKE_BINARY_DIR}/simgrid.jar
- -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources})
- add_dependencies(java_tracing SG_java_jar)
+if(enable_java)
+ add_custom_command(
+ COMMENT "Building ${example}..."
+ OUTPUT ${example}_compiled
+ DEPENDS ${sources} ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+ COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+ )
+ add_custom_target(${example} ALL DEPENDS ${example}_compiled)
endif()
set(tesh_files