Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / examples / java / mutualExclusion / CMakeLists.txt
index 24a17fb..3ec0b1f 100644 (file)
@@ -1,5 +1,4 @@
-cmake_minimum_required(VERSION 2.6)
-
+set(example java_mutualExclusion)
 set(sources
   ${CMAKE_CURRENT_SOURCE_DIR}/Coordinator.java
   ${CMAKE_CURRENT_SOURCE_DIR}/GrantTask.java
@@ -10,11 +9,16 @@ set(sources
   )
 
 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-java_jar ${SIMGRID_JAR}
+    COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
+                             -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+    COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
+    COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+  )
+  add_custom_target(${example} ALL DEPENDS ${example}_compiled)
 endif()
 
 set(tesh_files
@@ -25,7 +29,6 @@ set(tesh_files
 set(xml_files
   ${xml_files}
   ${CMAKE_CURRENT_SOURCE_DIR}/mutex_centralized_deployment.xml
-  ${CMAKE_CURRENT_SOURCE_DIR}/ring3.xml
   PARENT_SCOPE
   )
 set(examples_src