X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/484b4e771b829f8d409a0be487e9310badf77f5d..547d30c629acee94cf5a80876cf69f44e7777156:/buildtools/Cmake/src/CMakeDistrib.txt diff --git a/buildtools/Cmake/src/CMakeDistrib.txt b/buildtools/Cmake/src/CMakeDistrib.txt index 86028bc87b..1a76c577e0 100644 --- a/buildtools/Cmake/src/CMakeDistrib.txt +++ b/buildtools/Cmake/src/CMakeDistrib.txt @@ -1,57 +1,33 @@ -set(simgrid_version "3.3.5") +set(simgrid_version "3.4") set(CMAKE_PROJECT_NAME "${PROJECT_NAME}") set(CPACK_PACKAGE_NAME "${PROJECT_NAME}") set(CPACK_PROJECT_NAME "${PROJECT_NAME}") -set(CPACK_PACKAGE_FILE_NAME "simgrid-${simgrid_version}_rev_${SVN_VERSION}") +set(CPACK_PACKAGE_FILE_NAME "simgrid-${simgrid_version}~${SVN_VERSION}${GIT_DATE}") set(CPACK_GENERATOR "TBZ2") #;TGZ;TZ;ZIP -set(to_svg - ${XBT_RL_SRC} - ${EXTRA_DIST} - ${SMPI_SRC} - ${JMSG_C_SRC} - ${JMSG_JAVA_SRC} - ${GRAS_RL_SRC} - ${XBT_SRC} - ${GTNETS_SRC} - ${SURF_SRC} - ${SIMIX_SRC} - ${MSG_SRC} - ${SIMDAG_SRC} - ${GRAS_COMMON_SRC} - ${GRAS_SG_SRC} - ${AMOK_SRC} - ${LUA_SRC} - ${RUBY_SRC} - ${add_src_files} - ${include_files} - ${xml_files} - ${tesh_files} - ${txt_files} - ${PROJECT_DIRECTORY}/./CMakeLists.txt - ${PROJECT_DIRECTORY}/./AUTHORS - ${PROJECT_DIRECTORY}/./ChangeLog - ${PROJECT_DIRECTORY}/./COPYING - ${PROJECT_DIRECTORY}/./missing - ${PROJECT_DIRECTORY}/./NEWS - ${PROJECT_DIRECTORY}/./README - ${PROJECT_DIRECTORY}/./README.IEEE - ${PROJECT_DIRECTORY}/./TODO -) - +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}) - #message("install: ${file}\nDESTINATION: ${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 ) @@ -59,37 +35,209 @@ PATTERN "*~" EXCLUDE install(DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/" DESTINATION "/buildtools/Cmake/" PATTERN ".svn" EXCLUDE -PATTERN ".git" 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 ${prefix} +COMMAND mkdir -p ${prefix}/bin COMMAND mkdir -p ${prefix}/lib COMMAND mkdir -p ${prefix}/include COMMAND mkdir -p ${prefix}/doc COMMAND mkdir -p ${prefix}/doc/simgrid COMMAND mkdir -p ${prefix}/doc/simgrid/html -COMMAND cp -rf ${PROJECT_DIRECTORY}/src/.libs/* ${prefix}/lib/ +COMMAND cp ${install_bins} ${prefix}/bin +COMMAND cp ${PROJECT_DIRECTORY}/tools/MSG_visualization/colorize.pl ${prefix}/bin/simgrid_colorizer.pl +COMMAND echo "install bin ok" +COMMAND cp ${install_libs} ${prefix}/lib COMMAND echo "install lib ok" -COMMAND cp -rf ${PROJECT_DIRECTORY}/include/ ${prefix} +COMMAND cp --parent ${install_HEADERS} ${prefix} COMMAND echo "install include ok" COMMAND cp -rf ${PROJECT_DIRECTORY}/doc/html/ ${prefix}/doc/simgrid COMMAND echo "install doc ok" +WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) add_custom_target(uninstall -COMMAND echo "uninstall simgrid" -COMMAND echo "TODO" +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" + COMMAND mkdir --parent ${prefix}/share/ + COMMAND cp ${PROJECT_DIRECTORY}/src/simgrid.jar ${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" + COMMAND mkdir --parent ${prefix}/lib/lua/5.1/ + COMMAND ln -sf ${prefix}/lib/libsimgrid.so ${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" + COMMAND mkdir --parent ${prefix}/lib/site_ruby${install_link_ruby}/ + COMMAND ln -sf ${prefix}/lib/libsimgrid.so ${prefix}/lib/site_ruby${install_link_ruby}/libsimgrid.so + COMMAND cp ${PROJECT_DIRECTORY}/src/bindings/ruby/simgrid.rb ${prefix}/lib/site_ruby${install_link_ruby}/simgrid.rb + WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" + ) + add_custom_command(TARGET uninstall + COMMAND echo "uninstall binding ruby" + COMMAND rm ${prefix}/lib/site_ruby${install_link_ruby}/libsimgrid.so + COMMAND rm ${prefix}/lib/site_ruby${install_link_ruby}/simgrid.rb + WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" + ) +endif(HAVE_RUBY) + add_custom_target(html COMMAND echo "Make the html doc" -COMMAND cmake ./buildtools/Cmake/src/doc -COMMAND echo "TODO" +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 ${PROJECT_DIRECTORY}/_CPack_Packages +WORKING_DIRECTORY "${PROJECT_DIRECTORY}" +) +add_custom_target(distcheck +COMMAND make package +COMMAND rm -rf ${PROJECT_DIRECTORY}/_CPack_Packages +COMMAND tar xvf ${CPACK_PACKAGE_FILE_NAME}.tar.bz2 +COMMAND cd ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME} && cmake . +COMMAND cd ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME} && make +COMMAND cd ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME} && make test +COMMAND rm -rf ${PROJECT_DIRECTORY}/${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 +COMMAND make maintainer-clean +WORKING_DIRECTORY "${PROJECT_DIRECTORY}" +) include(CPack)