set(CMAKE_PROJECT_NAME "${PROJECT_NAME}") set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_PROJECT_NAME "${PROJECT_NAME}") set(CPACK_PACKAGE_FILE_NAME "simgrid-${release_version}~${SVN_VERSION}") set(CPACK_GENERATOR "TBZ2") #;TGZ;TZ;ZIP foreach(file ${script_to_install}) get_filename_component(file_location ${file} PATH) string(REPLACE "${PROJECT_DIRECTORY}/" "/" file_location ${file_location}) install(FILES ${file} DESTINATION "${file_location}") endforeach(file ${EXTRA_DIST}) foreach(file ${to_svg}) get_filename_component(file_location ${file} PATH) string(REPLACE "${PROJECT_DIRECTORY}/" "/" file_location ${file_location}) install(FILES ${file} DESTINATION "${file_location}") endforeach(file ${EXTRA_DIST}) foreach(file ${TEST_UNITS}) install(FILES src/${file} DESTINATION "/src/") endforeach(file ${TEST_UNITS}) ###copy doc install(DIRECTORY "${PROJECT_DIRECTORY}/doc/" DESTINATION "/doc/" PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE PATTERN "*.o" EXCLUDE PATTERN "*~" EXCLUDE ) ###buildtools install(DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/" DESTINATION "/buildtools/Cmake/" PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE PATTERN "*.o" EXCLUDE PATTERN "*~" EXCLUDE ) set(CPACK_SET_DESTDIR on) set(CMAKE_INSTALL_PREFIX ${prefix} CACHE TYPE INTERNAL FORCE) string(REPLACE ";" "\t" install_HEADERS "${install_HEADERS}") string(REPLACE ";" "\t" install_libs "${install_libs}") set(uninstall_bins "${install_bins}") string(REPLACE "${PROJECT_DIRECTORY}/src/smpi" "${prefix}/bin" uninstall_bins "${uninstall_bins}") string(REPLACE "${PROJECT_DIRECTORY}/tools/gras" "${prefix}/bin" uninstall_bins "${uninstall_bins}") string(REPLACE "${PROJECT_DIRECTORY}/tools/tesh" "${prefix}/bin" uninstall_bins "${uninstall_bins}") string(REPLACE "${PROJECT_DIRECTORY}/tools/MSG_visualization/colorize.pl" "${prefix}/bin/simgrid_colorizer.pl" uninstall_bins "${uninstall_bins}") string(REPLACE "${PROJECT_DIRECTORY}/src/.libs" "${prefix}/lib" uninstall_libs "${install_libs}") string(REPLACE "./" "${prefix}/" uninstall_HEADERS "${install_HEADERS}") string(REPLACE "/usr/lib/ruby" "" install_link_ruby "${RUBY_INCLUDE_PATH}") add_custom_target(install-simgrid COMMAND mkdir -p $ENV{DESTDIR}${prefix} COMMAND mkdir -p $ENV{DESTDIR}${prefix}/bin COMMAND mkdir -p $ENV{DESTDIR}${prefix}/lib COMMAND mkdir -p $ENV{DESTDIR}${prefix}/include COMMAND mkdir -p $ENV{DESTDIR}${prefix}/doc COMMAND mkdir -p $ENV{DESTDIR}${prefix}/doc/simgrid COMMAND mkdir -p $ENV{DESTDIR}${prefix}/doc/simgrid/html COMMAND cp ${install_bins} $ENV{DESTDIR}${prefix}/bin COMMAND cp ${PROJECT_DIRECTORY}/tools/MSG_visualization/colorize.pl $ENV{DESTDIR}${prefix}/bin/simgrid_colorizer.pl COMMAND echo "install bin OK" COMMAND cp ${install_libs} $ENV{DESTDIR}${prefix}/lib COMMAND echo "install lib OK" COMMAND cp ${install_HEADERS} $ENV{DESTDIR}${prefix} COMMAND echo "install include OK" COMMAND cp -rf ${PROJECT_DIRECTORY}/doc/html/ $ENV{DESTDIR}${prefix}/doc/simgrid COMMAND echo "install doc/html OK" WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) foreach(file ${ex_to_svg}) string(REPLACE "${PROJECT_DIRECTORY}" "." file "${file}") add_custom_command(TARGET install-simgrid COMMAND cp -f ${file} $ENV{DESTDIR}${prefix}/doc/simgrid/ WORKING_DIRECTORY "${PROJECT_DIRECTORY}" ) endforeach(file ${ex_to_svg}) add_custom_command(TARGET install-simgrid COMMAND echo "install doc/examples OK" WORKING_DIRECTORY "${PROJECT_DIRECTORY}" ) add_custom_target(uninstall COMMAND rm -rf ${prefix}/doc/simgrid COMMAND echo "uninstall doc ok" COMMAND rm ${uninstall_libs} COMMAND echo "uninstall lib ok" COMMAND rm ${uninstall_bins} COMMAND rm ${prefix}/bin/simgrid_colorizer.pl COMMAND echo "uninstall bin ok" COMMAND rm ${uninstall_HEADERS} COMMAND echo "uninstal include ok" COMMAND rm -R ${prefix}/include/amok ${prefix}/include/gras ${prefix}/include/instr ${prefix}/include/msg COMMAND rm -R ${prefix}/include/simdag ${prefix}/include/smpi ${prefix}/include/surf ${prefix}/include/xbt WORKING_DIRECTORY "${prefix}" ) if(HAVE_JAVA) add_custom_command(TARGET install-simgrid COMMAND echo "install binding java OK" COMMAND mkdir --parent $ENV{DESTDIR}${prefix}/share/ COMMAND cp ${PROJECT_DIRECTORY}/src/simgrid.jar $ENV{DESTDIR}${prefix}/share/simgrid.jar WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) add_custom_command(TARGET uninstall COMMAND rm ${prefix}/share/simgrid.jar COMMAND echo "uninstall binding java" WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) endif(HAVE_JAVA) if(HAVE_LUA) add_custom_command(TARGET install-simgrid COMMAND echo "install binding lua OK" COMMAND mkdir --parent $ENV{DESTDIR}${prefix}/lib/lua/5.1/ COMMAND ln -sf ${prefix}/lib/libsimgrid.so $ENV{DESTDIR}${prefix}/lib/lua/5.1/simgrid.so WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) add_custom_command(TARGET uninstall COMMAND echo "uninstall binding lua" COMMAND rm ${prefix}/lib/lua/5.1/simgrid.so WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) endif(HAVE_LUA) if(HAVE_RUBY) add_custom_command(TARGET install-simgrid COMMAND echo "install binding ruby OK" COMMAND mkdir --parent $ENV{DESTDIR}${prefix}/lib/ruby${install_link_ruby}/ COMMAND ln -sf ${prefix}/lib/libsimgrid.so $ENV{DESTDIR}${prefix}/lib/ruby${install_link_ruby}/libsimgrid.so COMMAND cp ${PROJECT_DIRECTORY}/src/bindings/ruby/simgrid.rb $ENV{DESTDIR}${prefix}/lib/ruby${install_link_ruby}/simgrid.rb WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) add_custom_command(TARGET uninstall COMMAND echo "uninstall binding ruby" COMMAND rm ${prefix}/lib/ruby${install_link_ruby}/libsimgrid.so COMMAND rm ${prefix}/lib/ruby${install_link_ruby}/simgrid.rb WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) endif(HAVE_RUBY) add_custom_target(html COMMAND echo "Make the html doc" COMMAND echo "cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./" COMMAND cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./ COMMAND rm -rf ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/CMakeFiles COMMAND rm ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/CMakeCache.txt COMMAND rm ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/cmake_install.cmake COMMAND rm ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/Makefile WORKING_DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc" ) add_custom_target(dist COMMAND make package COMMAND rm -rf _CPack_Packages #WORKING_DIRECTORY "${PROJECT_DIRECTORY}" ) add_custom_target(check COMMAND make test #WORKING_DIRECTORY "${PROJECT_DIRECTORY}" ) add_custom_target(distcheck COMMAND make package COMMAND rm -rf _CPack_Packages COMMAND tar xvf ${CPACK_PACKAGE_FILE_NAME}.tar.bz2 COMMAND cd ${CPACK_PACKAGE_FILE_NAME} && cmake . COMMAND cd ${CPACK_PACKAGE_FILE_NAME} && make COMMAND cd ${CPACK_PACKAGE_FILE_NAME} && make test COMMAND rm -rf ${CPACK_PACKAGE_FILE_NAME} #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}" ) include(CPack)