Semicolons are used both as list separator for cmake, and as path separator for
classpath on Windows. Since the cmake language doesn't permit to escape them
properly, try to use substitutions to make the java tests work on Windows.
MACRO(ADD_TESH NAME)
SET(ARGR ${ARGV})
LIST(REMOVE_AT ARGR 0)
+ IF(WIN32)
+ STRING(REPLACE "§" "\;" ARGR "${ARGR}")
+ ENDIF()
ADD_TEST(${NAME} ${TESH_COMMAND} ${TESH_OPTION} ${ARGR})
ENDMACRO()
IF(enable_java)
IF(WIN32)
SET(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/java/\;${SIMGRID_FULL_JAR}")
+ STRING(REPLACE "\;" "§" TESH_CLASSPATH "${TESH_CLASSPATH}")
ELSE()
SET(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/java/:${SIMGRID_FULL_JAR}")
ENDIF()
IF(enable_scala)
IF(WIN32)
SET(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/scala/\;${SIMGRID_FULL_JAR}\;${SCALA_JARS}")
+ STRING(REPLACE "\;" "§" TESH_CLASSPATH "${TESH_CLASSPATH}")
ELSE()
SET(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/scala/:${SIMGRID_FULL_JAR}:${SCALA_JARS}")
ENDIF()