X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5fc8bc9b1e483710e991bb9edf1519042d1bae43..35ec45b279eb57aaa44028ab6d19d747fe903071:/buildtools/Cmake/Distrib.cmake diff --git a/buildtools/Cmake/Distrib.cmake b/buildtools/Cmake/Distrib.cmake old mode 100755 new mode 100644 index 9bb1571bbd..ac8ece7272 --- a/buildtools/Cmake/Distrib.cmake +++ b/buildtools/Cmake/Distrib.cmake @@ -1,57 +1,63 @@ -set(CMAKE_INSTALL_PREFIX "${prefix}" CACHE TYPE INTERNAL FORCE) - ######################################### ### Fill in the "make install" target ### ######################################### # doc -if(NOT EXISTS ${PROJECT_DIRECTORY}/doc/html/) - file(MAKE_DIRECTORY ${PROJECT_DIRECTORY}/doc/html/) -endif(NOT EXISTS ${PROJECT_DIRECTORY}/doc/html/) - install(DIRECTORY "${PROJECT_DIRECTORY}/doc/html/" - DESTINATION "$ENV{DESTDIR}${prefix}/doc/simgrid/html/" - PATTERN ".svn" EXCLUDE - PATTERN ".git" EXCLUDE - PATTERN "*.o" EXCLUDE - PATTERN "*~" EXCLUDE - ) +if(enable_doc) + if(NOT EXISTS ${PROJECT_DIRECTORY}/doc/html/) + file(MAKE_DIRECTORY ${PROJECT_DIRECTORY}/doc/html/) + endif(NOT EXISTS ${PROJECT_DIRECTORY}/doc/html/) + install(DIRECTORY "${PROJECT_DIRECTORY}/doc/html/" + DESTINATION "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/doc/simgrid/html/" + PATTERN ".svn" EXCLUDE + PATTERN ".git" EXCLUDE + PATTERN "*.o" EXCLUDE + PATTERN "*~" EXCLUDE + ) +endif(enable_doc) + # binaries install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/smpicc + ${CMAKE_BINARY_DIR}/bin/smpif2c + ${CMAKE_BINARY_DIR}/bin/smpiff ${CMAKE_BINARY_DIR}/bin/smpirun - DESTINATION $ENV{DESTDIR}${prefix}/bin/) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/) if(WIN32) install(PROGRAMS ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/tesh.pl - DESTINATION $ENV{DESTDIR}${prefix}/bin/) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/) else(WIN32) install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/tesh - DESTINATION $ENV{DESTDIR}${prefix}/bin/) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/) endif(WIN32) install(PROGRAMS tools/MSG_visualization/colorize.pl - DESTINATION $ENV{DESTDIR}${prefix}/bin/ + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ RENAME simgrid-colorizer) # libraries install(TARGETS simgrid gras - DESTINATION $ENV{DESTDIR}${prefix}/lib/) - -install(FILES ${CMAKE_BINARY_DIR}/lib/libsimgrid_static.a - RENAME libsimgrid.a - DESTINATION $ENV{DESTDIR}${prefix}/lib/) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/) if(enable_smpi) install(TARGETS smpi - DESTINATION $ENV{DESTDIR}${prefix}/lib/) - install(FILES ${CMAKE_BINARY_DIR}/lib/libsmpi_static.a - RENAME libsmpi.a - DESTINATION $ENV{DESTDIR}${prefix}/lib/) -endif(enable_smpi) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/) +endif(enable_smpi) + +if(enable_lib_static AND NOT WIN32) + install(TARGETS simgrid_static + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/) + if(enable_smpi) + install(TARGETS smpi_static + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/) + endif(enable_smpi) +endif(enable_lib_static AND NOT WIN32) # include files foreach(file ${install_HEADERS}) get_filename_component(location ${file} PATH) + string(REPLACE "${CMAKE_CURRENT_BINARY_DIR}/" "" location "${location}") install(FILES ${file} - DESTINATION $ENV{DESTDIR}${prefix}/${location}) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${location}) endforeach(file ${install_HEADERS}) # example files @@ -59,13 +65,13 @@ foreach(file ${examples_to_install_in_doc}) string(REPLACE "${PROJECT_DIRECTORY}/examples/" "" file ${file}) get_filename_component(location ${file} PATH) install(FILES "examples/${file}" - DESTINATION $ENV{DESTDIR}${prefix}/doc/simgrid/examples/${location}) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/doc/simgrid/examples/${location}) endforeach(file ${examples_to_install_in_doc}) # bindings cruft if(HAVE_JAVA) install(FILES ${CMAKE_BINARY_DIR}/simgrid.jar - DESTINATION $ENV{DESTDIR}${prefix}/share/) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/share/) endif(HAVE_JAVA) if(HAVE_LUA) @@ -79,7 +85,7 @@ if(HAVE_LUA) COMMAND ${CMAKE_COMMAND} -E create_symlink ../../libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/lib/lua/5.1/simgrid.${LIB_EXE} ) install(FILES ${CMAKE_BINARY_DIR}/lib/lua/5.1/simgrid.${LIB_EXE} - DESTINATION $ENV{DESTDIR}${prefix}/lib/lua/5.1 + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/lua/5.1 ) endif(HAVE_LUA) @@ -95,10 +101,10 @@ if(HAVE_RUBY) COMMAND ${CMAKE_COMMAND} -E create_symlink ../../../libsimgrid.${LIB_EXE} ${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE} ) install(FILES ${CMAKE_BINARY_DIR}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE} - DESTINATION $ENV{DESTDIR}${prefix}/lib/ruby/${install_link_ruby}/ + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/ruby/${install_link_ruby}/ ) install(FILES ${PROJECT_DIRECTORY}/src/bindings/ruby/simgrid.rb - DESTINATION $ENV{DESTDIR}${prefix}/lib/ruby/${install_link_ruby}/) + DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/ruby/${install_link_ruby}/) endif(HAVE_RUBY) @@ -107,36 +113,38 @@ endif(HAVE_RUBY) ########################################### add_custom_target(uninstall -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/doc/simgrid +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/doc/simgrid COMMAND ${CMAKE_COMMAND} -E echo "uninstall doc ok" -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/libgras* -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/libsimgrid* -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/libsmpi* +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/lib/libgras* +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/lib/libsimgrid* +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/lib/libsmpi* COMMAND ${CMAKE_COMMAND} -E echo "uninstall lib ok" -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/bin/smpicc -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/bin/smpirun -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/bin/tesh -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/bin/simgrid-colorizer +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/bin/smpicc +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/bin/smpif2c +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/bin/smpiff +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/bin/smpirun +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/bin/tesh +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/bin/simgrid-colorizer COMMAND ${CMAKE_COMMAND} -E echo "uninstall bin ok" -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/amok -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/gras -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/instr -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/msg -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/simdag -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/smpi -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/surf -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/xbt -COMMAND ${CMAKE_COMMAND} -E remove_directory ${prefix}/include/mc -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/include/simgrid_config.h -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/include/gras.h -COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/include/xbt.h +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/amok +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/gras +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/instr +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/msg +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/simdag +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/smpi +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/surf +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/xbt +COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_INSTALL_PREFIX}/include/mc +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/include/simgrid_config.h +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/include/gras.h +COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/include/xbt.h COMMAND ${CMAKE_COMMAND} -E echo "uninstal include ok" -WORKING_DIRECTORY "${prefix}" +WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}" ) if(HAVE_JAVA) add_custom_command(TARGET uninstall - COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/share/simgrid.jar + COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/share/simgrid.jar COMMAND ${CMAKE_COMMAND} -E echo "uninstall binding java ok" WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) @@ -145,7 +153,7 @@ endif(HAVE_JAVA) if(HAVE_LUA) add_custom_command(TARGET uninstall COMMAND ${CMAKE_COMMAND} -E echo "uninstall binding lua ok" - COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/lua/5.1/simgrid.${LIB_EXE} + COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/lib/lua/5.1/simgrid.${LIB_EXE} WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) endif(HAVE_LUA) @@ -154,54 +162,12 @@ if(HAVE_RUBY) string(REGEX REPLACE "^.*ruby/" "" install_link_ruby "${RUBY_ARCH_DIR}") add_custom_command(TARGET uninstall COMMAND ${CMAKE_COMMAND} -E echo "uninstall binding ruby ok" - COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE} - COMMAND ${CMAKE_COMMAND} -E remove -f ${prefix}/lib/ruby/${install_link_ruby}/simgrid.rb + COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/lib/ruby/${install_link_ruby}/libsimgrid.${LIB_EXE} + COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_INSTALL_PREFIX}/lib/ruby/${install_link_ruby}/simgrid.rb WORKING_DIRECTORY "${PROJECT_DIRECTORY}/" ) endif(HAVE_RUBY) -###################################### -### Fill in the "make html" target ### -###################################### - -add_custom_target(html -DEPENDS ${PROJECT_DIRECTORY}/doc/all_bib.html -COMMAND ${CMAKE_COMMAND} -E echo "cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./" -COMMAND ${CMAKE_COMMAND} -DBIBTEX2HTML=${BIBTEX2HTML} ./ -COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_DIRECTORY}/buildtools/Cmake/doc/CMakeFiles -COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/buildtools/Cmake/doc/CMakeCache.txt -COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/buildtools/Cmake/doc/cmake_install.cmake -COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/buildtools/Cmake/doc/Makefile -WORKING_DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/doc" -) - -add_custom_command( -OUTPUT ${PROJECT_DIRECTORY}/doc/all_bib.html - ${PROJECT_DIRECTORY}/doc/all_bib.latin1.html - ${PROJECT_DIRECTORY}/doc/all_bib.latin1.html.tmp - ${PROJECT_DIRECTORY}/doc/logcategories.sh - ${PROJECT_DIRECTORY}/doc/publis_core.bib - ${PROJECT_DIRECTORY}/doc/publis_core_bib.html - ${PROJECT_DIRECTORY}/doc/publis_core_bib.latin1.html - ${PROJECT_DIRECTORY}/doc/publis_core_bib.latin1.html.tmp - ${PROJECT_DIRECTORY}/doc/publis_count.html - ${PROJECT_DIRECTORY}/doc/publis_extern.bib - ${PROJECT_DIRECTORY}/doc/publis_extern_bib.html - ${PROJECT_DIRECTORY}/doc/publis_extern_bib.latin1.html - ${PROJECT_DIRECTORY}/doc/publis_extern_bib.latin1.html.tmp - ${PROJECT_DIRECTORY}/doc/publis_intra.bib - ${PROJECT_DIRECTORY}/doc/publis_intra_bib.html - ${PROJECT_DIRECTORY}/doc/publis_intra_bib.latin1.html - ${PROJECT_DIRECTORY}/doc/publis_intra_bib.latin1.html.tmp - ${PROJECT_DIRECTORY}/doc/tmp.realtoc - ${PROJECT_DIRECTORY}/doc/using_bib.html - ${PROJECT_DIRECTORY}/doc/using_bib.latin1.html - ${PROJECT_DIRECTORY}/doc/using_bib.latin1.html.tmp - ${PROJECT_DIRECTORY}/doc/realtoc.sh - ${PROJECT_DIRECTORY}/doc/html -COMMAND ${CMAKE_COMMAND} -E echo "Make the html doc" -) - ################################################################ ## Build a sain "make dist" target to build a source package ### ## containing only the files that I explicitely state ### @@ -214,7 +180,7 @@ COMMAND ${CMAKE_COMMAND} -E echo "Make the html doc" 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 remove_directory simgrid-${release_version}/ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version} COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}/doc/html/ COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_DIRECTORY}/doc/html/ simgrid-${release_version}/doc/html/ @@ -222,6 +188,7 @@ add_custom_target(dist-dir set(dirs_in_tarball "") foreach(file ${source_to_pack}) + #message(${file}) # This damn prefix is still set somewhere (seems to be in subdirs) string(REPLACE "${PROJECT_DIRECTORY}/" "" file "${file}") @@ -251,10 +218,10 @@ add_custom_target(dist DEPENDS ${CMAKE_BINARY_DIR}/simgrid-${release_version}.tar.gz ) add_custom_command( - OUTPUT ${CMAKE_BINARY_DIR}/simgrid-${release_version}.tar.gz + OUTPUT ${CMAKE_BINARY_DIR}/simgrid-${release_version}.tar.gz 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} + COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/ ) add_dependencies(dist dist-dir) @@ -264,33 +231,45 @@ add_dependencies(dist dist-dir) # Allow to test the "make dist" add_custom_target(distcheck + COMMAND ${CMAKE_COMMAND} -E echo "XXX remove old copy" COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}.cpy + COMMAND ${CMAKE_COMMAND} -E echo "XXX copy again the source tree" COMMAND ${CMAKE_COMMAND} -E copy_directory simgrid-${release_version}/ simgrid-${release_version}.cpy + COMMAND ${CMAKE_COMMAND} -E echo "XXX create build and install subtrees" 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 echo "XXX change the modes of directories" 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}/ # 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 echo "XXX Configure" + COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build ${CMAKE_COMMAND} build .. -DCMAKE_INSTALL_PREFIX=../_inst -Wno-dev -Denable_doc=OFF # COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make dist-dir - COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make + COMMAND ${CMAKE_COMMAND} -E echo "XXX Build" + COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make VERBOSE=1 # This fails, unfortunately, because GRAS is broken for now -# COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build ctest -j5 --output-on-failure + COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build ctest -j5 --output-on-failure COMMAND ${CMAKE_COMMAND} -E echo "XXX Check that cleaning works" COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build make clean + COMMAND ${CMAKE_COMMAND} -E echo "XXX Display what is remaining after make clean" + COMMAND ${CMAKE_COMMAND} -E chdir simgrid-${release_version}/_build ls -lR + COMMAND ${CMAKE_COMMAND} -E echo "XXX Remove _build and _inst directories" + COMMAND chmod a+w simgrid-${release_version}/ COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/_build COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/_inst + COMMAND ${CMAKE_COMMAND} -E echo "XXX The output of the diff follows" COMMAND diff -ruN simgrid-${release_version}.cpy simgrid-${release_version} + COMMAND ${CMAKE_COMMAND} -E echo "XXX end of the diff, random cleanups now" COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}.cpy - COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/ + COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version} ) add_dependencies(distcheck dist-dir)