foreach(example SemaphoreGC SleepHostOff)
  set(sources ${CMAKE_CURRENT_SOURCE_DIR}/${example}/${example}.java)
  set(tesh_files   ${tesh_files}   ${CMAKE_CURRENT_SOURCE_DIR}/${example}/${example}.tesh)

  if(enable_java)
    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}/${example}_compiled
      COMMAND ${CMAKE_COMMAND} -E touch ${example}/${example}_compiled
    )
    add_custom_target(${example} ALL DEPENDS ${example}_compiled)
    set_target_properties(${example}  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${example})
  endif()
  set(examples_src ${examples_src} ${sources})
endforeach()

set(examples_src ${examples_src} ${sources}                                                    PARENT_SCOPE)
set(tesh_files   ${tesh_files}                                                                 PARENT_SCOPE)

if(enable_java)
  ADD_TESH(tesh-java-SemaphoreGC  --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/teshsuite/java/SemaphoreGC  ${CMAKE_HOME_DIRECTORY}/teshsuite/java/SemaphoreGC/SemaphoreGC.tesh)
  ADD_TESH(tesh-java-SleepHostOff --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/teshsuite/java/SleepHostOff ${CMAKE_HOME_DIRECTORY}/teshsuite/java/SleepHostOff/SleepHostOff.tesh)
endif()
