Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add isendBounded for Task
[simgrid.git] / CMakeLists.txt
index 9b442b3..e1cf067 100644 (file)
@@ -7,8 +7,8 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/lib")
 set(soversion 1)
 
 set(SIMGRID_JAVA_VERSION_MAJOR "3")
-set(SIMGRID_JAVA_VERSION_MINOR "7")
-set(SIMGRID_JAVA_VERSION_PATCH "1")
+set(SIMGRID_JAVA_VERSION_MINOR "9")
+set(SIMGRID_JAVA_VERSION_PATCH "0")
 set(DIST_NAME ${PROJECT_NAME}-${SIMGRID_JAVA_VERSION_MAJOR}.${SIMGRID_JAVA_VERSION_MINOR}.${SIMGRID_JAVA_VERSION_PATCH})
 
 ########
@@ -156,11 +156,28 @@ set(JAVA_EXAMPLES
   ${CMAKE_HOME_DIRECTORY}/examples/chord/FindSuccessorAnswerTask.java
   ${CMAKE_HOME_DIRECTORY}/examples/chord/FindSuccessorTask.java
   ${CMAKE_HOME_DIRECTORY}/examples/chord/GetPredecessorAnswerTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/chord/GetPredecessorTask.java
   ${CMAKE_HOME_DIRECTORY}/examples/chord/NotifyTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/cloud/Cloud.java
+  ${CMAKE_HOME_DIRECTORY}/examples/cloud/FinalizeTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/cloud/Master.java
+  ${CMAKE_HOME_DIRECTORY}/examples/cloud/Slave.java
   ${CMAKE_HOME_DIRECTORY}/examples/commTime/FinalizeTask.java
   ${CMAKE_HOME_DIRECTORY}/examples/commTime/Master.java
   ${CMAKE_HOME_DIRECTORY}/examples/commTime/Slave.java
   ${CMAKE_HOME_DIRECTORY}/examples/commTime/CommTimeTest.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/Answer.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/Bucket.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/Common.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/Contact.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/Kademlia.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/Node.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/RoutingTable.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/FindNodeAnswerTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/FindNodeTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/KademliaTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/PingAnswerTask.java
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/PingTask.java
   ${CMAKE_HOME_DIRECTORY}/examples/io/IO.java
   ${CMAKE_HOME_DIRECTORY}/examples/io/Node.java
   ${CMAKE_HOME_DIRECTORY}/examples/masterslave/FinalizeTask.java
@@ -205,6 +222,8 @@ set(JAVA_TRACING_EXAMPLES
 
 set(CMAKE_SRC
   ${CMAKE_HOME_DIRECTORY}/ChangeLog
+  ${CMAKE_HOME_DIRECTORY}/MANIFEST.MF
+  ${CMAKE_HOME_DIRECTORY}/COPYING
   ${CMAKE_HOME_DIRECTORY}/CMakeLists.txt
   ${CMAKE_HOME_DIRECTORY}/doxygen_postprocesser.pl
   ${CMAKE_HOME_DIRECTORY}/FindJavaSG.cmake
@@ -235,7 +254,7 @@ set(XML_FILES
   ${CMAKE_HOME_DIRECTORY}/examples/chord/chord10000.xml
   ${CMAKE_HOME_DIRECTORY}/examples/chord/chord1000.xml
   ${CMAKE_HOME_DIRECTORY}/examples/chord/chord90.xml
-  ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspendDeployment.xml
+  ${CMAKE_HOME_DIRECTORY}/examples/kademlia/kademlia.xml
   ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/platform.xml
   ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/mutex_centralized_deployment.xml
   ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/ring3.xml
@@ -245,6 +264,7 @@ set(XML_FILES
   ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment_start.xml
   ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment_start_kill.xml
   ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/deployment.xml
+  ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspendDeployment.xml
   ${CMAKE_HOME_DIRECTORY}/examples/io/storage.xml
   ${CMAKE_HOME_DIRECTORY}/examples/tracing/tracingPingPongDeployment.xml
 )
@@ -257,6 +277,7 @@ set(TESH_FILES
   ${CMAKE_HOME_DIRECTORY}/examples/migration/migration.tesh
   ${CMAKE_HOME_DIRECTORY}/examples/masterslave/masterslave.tesh
   ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.tesh
+  ${CMAKE_HOME_DIRECTORY}/examples/cloud/cloud.tesh
   ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspend.tesh
   ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/kill.tesh
   ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/mutualexclusion.tesh
@@ -352,6 +373,17 @@ if(HAVE_TRACING)
   )
 endif(HAVE_TRACING)
 
+IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86")
+  IF(${ARCH_32_BITS})
+      set(JSG_BUNDLE NATIVE/${CMAKE_SYSTEM_NAME}/x86/)
+  ELSE()
+      set(JSG_BUNDLE NATIVE/${CMAKE_SYSTEM_NAME}/amd64/)
+  ENDIF()
+ELSE() 
+  error("Unknown system type. Processor: ${CMAKE_SYSTEM_PROCESSOR}; System: ${CMAKE_SYSTEM_NAME}")
+ENDIF()
+message("Native libraries bundeled into: ${JSG_BUNDLE}")
+
 # java_classes
 add_custom_command(
   OUTPUT  ${JAVA_SRC_CLASS}
@@ -359,6 +391,13 @@ add_custom_command(
   COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_HOME_DIRECTORY}/classes/"
   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/classes/
     -cp ${CMAKE_HOME_DIRECTORY}/classes/ ${JAVA_SRC}
+  COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}
+  COMMAND ${CMAKE_COMMAND} -E copy ${SIMGRID_LIB_PATH}/libsimgrid.so ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}
+  COMMAND strip --strip-debug ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}/libsimgrid.so
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_HOME_DIRECTORY}/lib/libSG_java.so ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}
+  COMMAND strip --strip-debug ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}/libSG_java.so
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_HOME_DIRECTORY}/ChangeLog ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_HOME_DIRECTORY}/COPYING ${CMAKE_HOME_DIRECTORY}/classes/${JSG_BUNDLE}
   COMMENT "Compiling java sources of core library..."                                  
 )
 
@@ -368,7 +407,7 @@ add_custom_target(java_classes ALL
 
 # simgrid_jar
 add_custom_target(simgrid_jar ALL
-  COMMAND ${JAVA_ARCHIVE} -cvf ${CMAKE_HOME_DIRECTORY}/simgrid.jar .
+  COMMAND ${JAVA_ARCHIVE} -cmvf ${CMAKE_HOME_DIRECTORY}/MANIFEST.MF ${CMAKE_HOME_DIRECTORY}/simgrid.jar .
   COMMENT "Building simgrid.jar..."
   WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/classes 
 )
@@ -391,7 +430,9 @@ add_custom_command(
   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/cloud/*.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/kademlia/*.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
@@ -440,6 +481,8 @@ ADD_TEST(bittorrent      ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE
 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(cloud          ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/cloud/cloud.tesh)
+ADD_TEST(kademlia       ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/kademlia/kademlia.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)
@@ -449,7 +492,7 @@ ADD_TEST(priority        ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE
 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)
+set(test_list async bittorrent bypass chord cloud commTime kademlia 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)