+COMMAND echo "cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./"
+COMMAND cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./
+COMMAND rm -rf ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/CMakeFiles
+COMMAND rm -f ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/CMakeCache.txt
+COMMAND rm -f ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/cmake_install.cmake
+COMMAND rm -f ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/Makefile
+WORKING_DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc"
+)
+
+
+
+#SET(CMAKE_VERBOSE_MAKEFILE 1)
+
+################################################################
+## Build a sain "make dist" target to build a source package ###
+## containing only the files that I explicitely state ###
+## (instead of any cruft laying on my disk as CPack does) ###
+################################################################
+add_custom_target(dist-dir
+ COMMAND test -e simgrid-${release_version}/ && chmod -R a+w simgrid-${release_version}/ || true
+ COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}
+ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}
+)
+
+
+set(dirs_in_tarball "")
+foreach(file ${to_svg} ${txt_files})
+ # This damn prefix is still set somewhere (seems to be in subdirs)
+ string(REPLACE "${PROJECT_DIRECTORY}/" "" file ${file})
+
+ # Create the directory on need
+ get_filename_component(file_location ${file} PATH)
+ string(REGEX MATCH ";${file_location};" OPERATION "${dirs_in_tarball}")
+ if(NOT OPERATION)
+ set(dirs_in_tarball "${dirs_in_tarball};${file_location};")
+ add_custom_command(
+ TARGET dist-dir
+ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}/${file_location}/
+ )
+ endif(NOT OPERATION)
+
+ # Actually copy the file
+ add_custom_command(
+ TARGET dist-dir
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/${file} simgrid-${release_version}/${file_location}/
+ )
+endforeach(file ${to_svg})
+
+add_custom_target(dist
+ COMMAND ${CMAKE_COMMAND} -E tar cf simgrid-${release_version}.tar simgrid-${release_version}/
+ COMMAND gzip -9v simgrid-${release_version}.tar
+ COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}
+)
+add_dependencies(dist dist-dir)
+
+# Allow to test the "make dist"
+add_custom_target(distcheck
+ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}/_build
+ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}/_inst
+
+ # This stupid cmake creates a directory in source, killing the purpose of the chmod
+ # (tricking around)
+ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}/CMakeFiles
+# COMMAND chmod -R a-w simgrid-${release_version}/ # FIXME: we should pass without commenting that line
+ COMMAND chmod -R a+w simgrid-${release_version}/_build
+ COMMAND chmod -R a+w simgrid-${release_version}/_inst
+ COMMAND chmod -R a+w simgrid-${release_version}/CMakeFiles
+
+ COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build ${CMAKE_COMMAND} build .. -Dprefix=../_inst
+# COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make dist-dir
+ COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make -j5 || ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make
+ COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make test -j5
+ COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make clean
+# COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/
+)
+add_dependencies(distcheck dist-dir)
+
+########################################
+### End of "make dist" related stuff ###
+########################################
+
+add_custom_target(check
+COMMAND make test
+#WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
+)
+
+add_custom_target(maintainer-clean
+COMMAND rm -f src/config_unit.c
+COMMAND rm -f src/cunit_unit.c
+COMMAND rm -f src/dict_unit.c
+COMMAND rm -f src/dynar_unit.c
+COMMAND rm -f src/ex_unit.c
+COMMAND rm -f src/set_unit.c
+COMMAND rm -f src/simgrid_units_main.c
+COMMAND rm -f src/swag_unit.c
+COMMAND rm -f src/xbt_sha_unit.c
+COMMAND rm -f src/xbt_str_unit.c
+COMMAND rm -f src/xbt_strbuff_unit.c
+COMMAND rm -f src/xbt_synchro_unit.c
+WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
+)
+
+add_custom_target(supernovae-clean
+COMMAND rm -f src/supernovae_gras.c
+COMMAND rm -f src/supernovae_sg.c
+COMMAND rm -f src/supernovae_smpi.c
+WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
+)
+
+add_custom_target(doc-clean
+COMMAND rm -f doc/all_bib.html
+COMMAND rm -f doc/all_bib.latin1.html
+COMMAND rm -f doc/all_bib.latin1.html.tmp
+COMMAND rm -f doc/logcategories.sh
+COMMAND rm -f doc/publis_core.bib
+COMMAND rm -f doc/publis_core_bib.html
+COMMAND rm -f doc/publis_core_bib.latin1.html
+COMMAND rm -f doc/publis_core_bib.latin1.html.tmp
+COMMAND rm -f doc/publis_count.html
+COMMAND rm -f doc/publis_extern.bib
+COMMAND rm -f doc/publis_extern_bib.html
+COMMAND rm -f doc/publis_extern_bib.latin1.html
+COMMAND rm -f doc/publis_extern_bib.latin1.html.tmp
+COMMAND rm -f doc/publis_intra.bib
+COMMAND rm -f doc/publis_intra_bib.html
+COMMAND rm -f doc/publis_intra_bib.latin1.html
+COMMAND rm -f doc/publis_intra_bib.latin1.html.tmp
+COMMAND rm -f doc/tmp.realtoc
+COMMAND rm -f doc/using_bib.html
+COMMAND rm -f doc/using_bib.latin1.html
+COMMAND rm -f doc/using_bib.latin1.html.tmp
+COMMAND rm -f doc/realtoc.sh
+WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
+)
+
+add_custom_target(java-clean
+COMMAND rm -f src/simgrid.jar
+COMMAND rm -rf src/.classes
+COMMAND rm -f examples/java/basic/BasicTest.class
+COMMAND rm -f examples/java/basic/FinalizeTask.class
+COMMAND rm -f examples/java/basic/Forwarder.class
+COMMAND rm -f examples/java/basic/Master.class
+COMMAND rm -f examples/java/basic/Slave.class
+COMMAND rm -f examples/java/comm_time/CommTimeTest.class
+COMMAND rm -f examples/java/comm_time/FinalizeTask.class
+COMMAND rm -f examples/java/comm_time/Master.class
+COMMAND rm -f examples/java/comm_time/Slave.class
+COMMAND rm -f examples/java/ping_pong/PingPongTask.class
+COMMAND rm -f examples/java/ping_pong/PingPongTest.class
+COMMAND rm -f examples/java/ping_pong/Receiver.class
+COMMAND rm -f examples/java/ping_pong/Sender.class
+COMMAND rm -f examples/java/suspend/DreamMaster.class
+COMMAND rm -f examples/java/suspend/LazyGuy.class
+COMMAND rm -f examples/java/suspend/SuspendTest.class
+WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
+)
+
+add_custom_target(all-clean
+COMMAND make clean
+COMMAND make java-clean
+COMMAND make doc-clean
+COMMAND make supernovae-clean
+)
+if(enable_maintainer_mode)
+ add_custom_command(TARGET all-clean
+ COMMAND make maintainer-clean
+ )
+endif(enable_maintainer_mode)
+
+add_custom_target(sync-gforge
+COMMAND chmod g+rw -R doc/
+COMMAND chmod a+rX -R doc/
+COMMAND rsync --verbose --cvs-exclude --compress --delete --delete-excluded --rsh=ssh --ignore-times --recursive --links --perms --times --omit-dir-times doc/html/ scm.gforge.inria.fr:/home/groups/simgrid/htdocs/doc/ || true
+COMMAND scp doc/index.php doc/webcruft/robots.txt scm.gforge.inria.fr:/home/groups/simgrid/htdocs/
+COMMAND scp doc/html/simgrid_modules2.png doc/html/simgrid_modules.png doc/webcruft/simgrid_logo.png doc/webcruft/simgrid_logo_small.png scm.gforge.inria.fr:/home/groups/simgrid/htdocs/
+WORKING_DIRECTORY "${PROJECT_DIRECTORY}"