- exec_program("${JAVA_COMPILE}" ARGS "-d ${PROJECT_DIRECTORY}/src/.classes -cp ${PROJECT_DIRECTORY}/src/.classes ${java_src_to_compile}" OUTPUT_VARIABLE "SIM_COMPILE_OK")
- exec_program("mkdir ${PROJECT_DIRECTORY}/src/.classes/surf" OUTPUT_VARIABLE "SIM_JAR_OK")
- exec_program("cp ${PROJECT_DIRECTORY}/src/surf/simgrid.dtd ${PROJECT_DIRECTORY}/src/.classes/surf/simgrid.dtd" OUTPUT_VARIABLE "SIM_JAR_OK")
- exec_program("${JAVA_ARCHIVE}" ARGS "cvf ./src/simgrid.jar -C ${PROJECT_DIRECTORY}/src/.classes ." OUTPUT_VARIABLE "SIM_JAR_OK")
+ add_custom_command(TARGET simgrid
+ COMMAND /bin/sh ${PROJECT_DIRECTORY}/make_simgrid_java.sh
+ WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
+ )
+
+file(WRITE ${PROJECT_DIRECTORY}/make_simgrid_java.sh
+"\#! /bin/sh\n\n")
+
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "rm -rf ${PROJECT_DIRECTORY}/src/.classes\n")
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "rm -f ${PROJECT_DIRECTORY}/src/simgrid.jar\n")
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "mkdir ${PROJECT_DIRECTORY}/src/.classes\n")
+
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "\n")
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "${JAVA_COMPILE} -d ${PROJECT_DIRECTORY}/src/.classes -cp ${PROJECT_DIRECTORY}/src/.classes ${java_src_to_compile}\n")
+
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "\n")
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "mkdir ${PROJECT_DIRECTORY}/src/.classes/surf\n")
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "cp ${PROJECT_DIRECTORY}/src/surf/simgrid.dtd ${PROJECT_DIRECTORY}/src/.classes/surf/simgrid.dtd\n")
+
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "\n")
+file(APPEND ${PROJECT_DIRECTORY}/make_simgrid_java.sh "${JAVA_ARCHIVE} cvf ./src/simgrid.jar -C ${PROJECT_DIRECTORY}/src/.classes . &>/dev/null\n")