Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Simplify the cmake around java examples
[simgrid.git] / teshsuite / java / CMakeLists.txt
index 50284bc..c6dcb7a 100644 (file)
@@ -1,12 +1,25 @@
-cmake_minimum_required(VERSION 2.6)
-
-set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-
-set(xml_files
-  ${xml_files}
-  PARENT_SCOPE
-  )
-set(txt_files
-  ${txt_files}
-  PARENT_SCOPE
-  )
+set(semaphoregc_files  SemaphoreGC)
+set(sleephostoff_files SleepHostOff)
+
+foreach(example semaphoregc sleephostoff)
+  foreach (filename ${${example}_files} )
+    set(sources "${${example}_sources}" "${CMAKE_CURRENT_SOURCE_DIR}/${example}/${filename}.java")
+  endforeach()
+
+  set(tesh_files   ${tesh_files}   ${CMAKE_CURRENT_SOURCE_DIR}/${example}/${example}.tesh)
+
+  if(enable_java)
+    string (REPLACE "-" "/" example_dir ${example})
+    add_jar(java-${example} SOURCES ${sources}
+            INCLUDE_JARS ${SIMGRID_JAR}
+           OUTPUT_NAME ${example}
+           OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/${example_dir})
+    add_dependencies(java-all java-${example})
+    
+    ADD_TESH(tesh-java-${example}  --setenv javacmd=${Java_JAVA_EXECUTABLE} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --setenv LD_LIBRARY_PATH=${TESH_LIBRARY_PATH} --setenv classpath=${TESH_CLASSPATH}:${example}.jar --cd ${CMAKE_BINARY_DIR}/teshsuite/java/${example_dir}  ${CMAKE_HOME_DIRECTORY}/teshsuite/java/${example_dir}/${example}.tesh)
+  endif()
+  set(examples_src ${examples_src} ${sources})
+endforeach()
+
+set(examples_src ${examples_src}                                                               PARENT_SCOPE)
+set(tesh_files   ${tesh_files}                                                                 PARENT_SCOPE)