-ADD_CUSTOM_COMMAND(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/BasicTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/FinalizeTask.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/Forwarder.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/Slave.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/Master.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/PingPongTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/Sender.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/PingPongTask.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/Receiver.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/FinalizeTask.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/CommTimeTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/Slave.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/Master.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend/SuspendTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend/LazyGuy.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend/DreamMaster.class
-
- DEPENDS
- ${CMAKE_CURRENT_BINARY_DIR}/simgrid.jar
- ${CMAKE_HOME_DIRECTORY}/examples/basic/*.java
- ${CMAKE_HOME_DIRECTORY}/examples/ping_pong/*.java
- ${CMAKE_HOME_DIRECTORY}/examples/comm_time/*.java
- ${CMAKE_HOME_DIRECTORY}/examples/suspend/*.java
-
- COMMENT "Build examples for java"
-
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/examples/basic
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend
-
- COMMAND ${JAVA_COMPILE} -d ${CMAKE_CURRENT_BINARY_DIR}/examples/basic -cp ${CMAKE_CURRENT_BINARY_DIR}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/basic/*.java
- COMMAND ${JAVA_COMPILE} -d ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong -cp ${CMAKE_CURRENT_BINARY_DIR}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/ping_pong/*.java
- COMMAND ${JAVA_COMPILE} -d ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time -cp ${CMAKE_CURRENT_BINARY_DIR}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/comm_time/*.java
- COMMAND ${JAVA_COMPILE} -d ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend -cp ${CMAKE_CURRENT_BINARY_DIR}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/suspend/*.java
-)
-
-ADD_CUSTOM_TARGET(simgrid_java_examples ALL
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/BasicTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/FinalizeTask.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/Forwarder.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/Slave.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/basic/Master.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/PingPongTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/Sender.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/PingPongTask.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/ping_pong/Receiver.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/FinalizeTask.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/CommTimeTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/Slave.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/comm_time/Master.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend/SuspendTest.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend/LazyGuy.class
- ${CMAKE_CURRENT_BINARY_DIR}/examples/suspend/DreamMaster.class
-)
\ No newline at end of file
+add_custom_command(
+ COMMENT "Build examples for java"
+ OUTPUT ${JAVA_EXAMPLES_CLASS}
+ DEPENDS ${JAVA_EXAMPLES}
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/async/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/chord/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/commTime/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/io/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/masterslave/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/migration/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/pingPong/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/priority/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/*.java
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/suspend/*.java
+)
+if(HAVE_TRACING)
+ add_custom_command(
+ COMMENT "Build examples for tracing java"
+ OUTPUT ${JAVA_TRACING_EXAMPLES_CLASS}
+ DEPENDS ${JAVA_TRACING_EXAMPLES} ${JAVA_EXAMPLES_CLASS}
+ COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/tracing/*.java
+ )
+endif(HAVE_TRACING)
+
+add_custom_target(simgrid_java_examples ALL
+ DEPENDS ${JAVA_EXAMPLES_CLASS} ${JAVA_TRACING_EXAMPLES_CLASS}
+)
+
+########################
+# Declare dependencies #
+########################
+add_dependencies(simgrid_jar java_classes)
+add_dependencies(simgrid_java_examples simgrid_jar SG_java)
+if(HAVE_TRACING)
+ add_dependencies(simgrid_java_examples SG_java_tracing)
+endif(HAVE_TRACING)
+
+#####################
+# Declare our tests #
+#####################
+INCLUDE(CTest)
+ENABLE_TESTING()
+
+ADD_TEST(async ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/async/async.tesh)
+ADD_TEST(bittorrent ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/bittorrent.tesh)
+ADD_TEST(bypass ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/bypass.tesh)
+ADD_TEST(commTime ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/commTime/commtime.tesh)
+ADD_TEST(chord ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.tesh)
+ADD_TEST(kill ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/kill.tesh)
+ADD_TEST(masterslave ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/masterslave/masterslave.tesh)
+ADD_TEST(migration ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/migration/migration.tesh)
+ADD_TEST(mutualExclusion ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/mutualexclusion.tesh)
+ADD_TEST(pingPong ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/pingPong/pingpong.tesh)
+ADD_TEST(priority ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/priority/priority.tesh)
+ADD_TEST(startKillTime ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/startKillTime.tesh)
+ADD_TEST(suspend ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspend.tesh)
+#Don't forget to put new test in this list!!!
+set(test_list async bittorrent bypass chord commTime kill masterslave migration mutualExclusion pingPong priority startKillTime suspend)
+if(HAVE_TRACING)
+ ADD_TEST(tracing ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/tracing/tracingPingPong.tesh)
+ set(test_list ${test_list} tracing)
+endif(HAVE_TRACING)
+##########################################
+# Set the DYLD_LIBRARY_PATH for mac #
+##########################################
+if(APPLE)
+ if($ENV{DYLD_LIBRARY_PATH})
+ set_tests_properties(${test_list}
+ PROPERTIES ENVIRONMENT "DYLD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:${SIMGRID_LIB_PATH}")
+ else($ENV{DYLD_LIBRARY_PATH})
+ set_tests_properties(${test_list}
+ PROPERTIES ENVIRONMENT "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}:${CMAKE_HOME_DIRECTORY}/lib:${SIMGRID_LIB_PATH}")
+ endif($ENV{DYLD_LIBRARY_PATH})
+else(APPLE)
+##########################################
+# Set the LD_LIBRARY_PATH for our tests #
+##########################################
+ if(NOT WIN32)
+ if($ENV{LD_LIBRARY_PATH})
+ set_tests_properties(${test_list}
+ PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_HOME_DIRECTORY}/lib:${SIMGRID_LIB_PATH}")
+ else($ENV{LD_LIBRARY_PATH})
+ set_tests_properties(${test_list}
+ PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH}:${CMAKE_HOME_DIRECTORY}/lib:${SIMGRID_LIB_PATH}")
+ endif($ENV{LD_LIBRARY_PATH})
+ endif(NOT WIN32)
+endif(APPLE)
+
+###########
+# Install #
+###########
+install(TARGETS SG_java
+ DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/java/)
+
+if(HAVE_TRACING)
+ install(TARGETS SG_java_tracing
+ DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/java/)
+endif(HAVE_TRACING)
+
+install(FILES ${CMAKE_HOME_DIRECTORY}/simgrid.jar
+ DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/java/)
+
+
+#########
+# Dist #
+#########
+add_custom_target(dist-dir
+ COMMENT "Generating the distribution directory"
+ COMMAND test -e ${DIST_NAME}/ && chmod -R a+w ${DIST_NAME}/ || true
+ COMMAND ${CMAKE_COMMAND} -E remove_directory ${DIST_NAME}/
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${DIST_NAME}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${DIST_NAME}/doc/html/
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_HOME_DIRECTORY}/doc/html/ ${DIST_NAME}/doc/html/
+)
+
+set(dirs_in_tarball "")
+foreach(file ${source_to_pack})
+
+ # This damn prefix is still set somewhere (seems to be in subdirs)
+ string(REPLACE "${CMAKE_HOME_DIRECTORY}/" "" file "${file}")
+
+ # Create the directory on need
+ get_filename_component(file_location ${file} PATH)
+ string(REGEX MATCH ";${file_location};" OPERATION "${dirs_in_tarball}")
+ if(NOT OPERATION)
+ set(dirs_in_tarball "${dirs_in_tarball};${file_location};")
+ add_custom_command(
+ TARGET dist-dir
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${DIST_NAME}/${file_location}/
+ )
+ endif(NOT OPERATION)
+
+ # Actually copy the file
+ add_custom_command(
+ TARGET dist-dir
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_HOME_DIRECTORY}/${file} ${DIST_NAME}/${file_location}/
+ )
+endforeach(file ${source_to_pack})
+
+add_custom_target(dist
+ DEPENDS ${CMAKE_BINARY_DIR}/${DIST_NAME}.tar.gz
+ COMMENT "Generated ${DIST_NAME}"
+)
+add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/${DIST_NAME}.tar.gz
+ COMMENT "Compressing the archive from the distribution directory"
+ COMMAND ${CMAKE_COMMAND} -E tar cf ${DIST_NAME}.tar ${DIST_NAME}/
+ COMMAND gzip -9v ${DIST_NAME}.tar
+ COMMAND ${CMAKE_COMMAND} -E remove_directory ${DIST_NAME}/
+)
+add_dependencies(dist dist-dir)
+
+##########################
+# Extra make clean files #
+##########################
+SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
+ ${CMAKE_HOME_DIRECTORY}/simgrid.jar
+)
+
+########
+# NOTE #
+########
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Testing/Notes/)
+file(WRITE ${CMAKE_BINARY_DIR}/Testing/Notes/Build "GIT version : ${GIT_VERSION}\n")
+file(APPEND ${CMAKE_BINARY_DIR}/Testing/Notes/Build "Release : ${DIST_NAME}\n")
+file(APPEND ${CMAKE_BINARY_DIR}/Testing/Notes/Build "Pipol user : $ENV{PIPOL_USER}\n")
+file(APPEND ${CMAKE_BINARY_DIR}/Testing/Notes/Build "Pipol image : $ENV{PIPOL_IMAGE}\n")
+
+#######
+# DOC #
+#######
+set(WARNING "This file is generated, don't edit it!")
+set(srcdir ${CMAKE_HOME_DIRECTORY})
+include(GenerateDoc.cmake)