X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/020cb39e4bf58ca35d1ae08fb26d8f0f12a7ab8b..a358e7ed1de9ba360d9b4644546ef97dbaaac6fd:/buildtools/Cmake/MaintainerMode.cmake diff --git a/buildtools/Cmake/MaintainerMode.cmake b/buildtools/Cmake/MaintainerMode.cmake index 7b9f74c41d..cc171e48c1 100644 --- a/buildtools/Cmake/MaintainerMode.cmake +++ b/buildtools/Cmake/MaintainerMode.cmake @@ -2,14 +2,24 @@ if(enable_maintainer_mode AND NOT WIN32) find_program(FLEX_EXE NAMES flex) find_program(FLEXML_EXE NAMES flexml) find_program(SED_EXE NAMES sed) -find_program(PERL_EXE NAMES perl) +include(FindPerl) IF(FLEX_EXE) set(HAVE_FLEX 1) + exec_program("${FLEX_EXE} --version" OUTPUT_VARIABLE FLEX_VERSION) + string(REGEX MATCH "[0-9]+[.]+[0-9]+[.]+[0-9]+" FLEX_VERSION "${FLEX_VERSION}") + string(REGEX MATCH "^[0-9]+" FLEX_MAJOR_VERSION "${FLEX_VERSION}") + string(REGEX MATCH "[0-9]+[.]+[0-9]+$" FLEX_VERSION "${FLEX_VERSION}") + string(REGEX MATCH "^[0-9]+" FLEX_MINOR_VERSION "${FLEX_VERSION}") + string(REGEX MATCH "[0-9]+$" FLEX_PATCH_VERSION "${FLEX_VERSION}") ENDIF(FLEX_EXE) IF(FLEXML_EXE) set(HAVE_FLEXML 1) + exec_program("${FLEXML_EXE} --version" OUTPUT_VARIABLE FLEXML_VERSION) + string(REGEX MATCH "[0-9]+[.]+[0-9]+" FLEXML_VERSION "${FLEXML_VERSION}") + string(REGEX MATCH "^[0-9]*" FLEXML_MAJOR_VERSION "${FLEXML_VERSION}") + string(REGEX MATCH "[0-9]*$" FLEXML_MINOR_VERSION "${FLEXML_VERSION}") ENDIF(FLEXML_EXE) if(HAVE_FLEXML AND HAVE_FLEX AND SED_EXE) @@ -47,49 +57,49 @@ ADD_CUSTOM_COMMAND( COMMAND ${CMAKE_COMMAND} -E echo "src/xbt/graphxml.l" #${PROJECT_DIRECTORY}/src/simdag/dax_dtd.l: ${PROJECT_DIRECTORY}/src/simdag/dax.dtd COMMAND ${FLEXML_EXE} -b 1000000 --root-tags adag -P dax_ --sysid=dax.dtd -S ${PROJECT_DIRECTORY}/src/simdag/dax_dtd.l -L ${PROJECT_DIRECTORY}/src/simdag/dax.dtd - COMMAND ${SED_EXE} ${string5} -i src/simdag/dax_dtd.l + COMMAND ${SED_EXE} -i'' ${string5} src/simdag/dax_dtd.l COMMAND ${CMAKE_COMMAND} -E echo "src/simdag/dax_dtd.l" #${PROJECT_DIRECTORY}/include/surf/simgrid_dtd.h: ${PROJECT_DIRECTORY}/src/surf/simgrid.dtd COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/include/surf/simgrid.h COMMAND ${FLEXML_EXE} --root-tags platform -P surfxml --sysid=simgrid.dtd -H include/surf/simgrid_dtd.h -L src/surf/simgrid.dtd - COMMAND ${SED_EXE} ${string1} -i include/surf/simgrid_dtd.h - COMMAND ${SED_EXE} ${string2} -i include/surf/simgrid_dtd.h + COMMAND ${SED_EXE} -i'' ${string1} include/surf/simgrid_dtd.h + COMMAND ${SED_EXE} -i'' ${string2} include/surf/simgrid_dtd.h COMMAND ${CMAKE_COMMAND} -E echo "include/surf/simgrid_dtd.h" #${PROJECT_DIRECTORY}/include/xbt/graphxml.h: ${PROJECT_DIRECTORY}/src/xbt/graphxml.dtd COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/include/xbt/graphxml.h COMMAND ${FLEXML_EXE} -P graphxml --sysid=graphxml.dtd -H include/xbt/graphxml.h -L src/xbt/graphxml.dtd - COMMAND ${SED_EXE} ${string3} -i include/xbt/graphxml.h - COMMAND ${SED_EXE} ${string4} -i include/xbt/graphxml.h + COMMAND ${SED_EXE} -i'' ${string3} include/xbt/graphxml.h + COMMAND ${SED_EXE} -i'' ${string4} include/xbt/graphxml.h COMMAND ${CMAKE_COMMAND} -E echo "include/xbt/graphxml.h" #${PROJECT_DIRECTORY}/src/simdag/dax_dtd.h: ${PROJECT_DIRECTORY}/src/simdag/dax.dtd COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/simdag/dax_dtd.h COMMAND ${FLEXML_EXE} --root-tags adag -P dax_ --sysid=dax.dtd -H src/simdag/dax_dtd.h -L src/simdag/dax.dtd - COMMAND ${SED_EXE} ${string6} -i src/simdag/dax_dtd.h - COMMAND ${SED_EXE} ${string7} -i src/simdag/dax_dtd.h + COMMAND ${SED_EXE} -i'' ${string6} src/simdag/dax_dtd.h + COMMAND ${SED_EXE} -i'' ${string7} src/simdag/dax_dtd.h COMMAND ${FLEX_EXE} -o src/gras/DataDesc/ddt_parse.yy.c -Pgras_ddt_parse_ --noline src/gras/DataDesc/ddt_parse.yy.l COMMAND ${CMAKE_COMMAND} -E echo "src/simdag/dax_dtd.h" #surf/simgrid_dtd.c: surf/simgrid_dtd.l COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/surf/simgrid_dtd.c - COMMAND ${SED_EXE} ${string8} -i src/surf/simgrid_dtd.l + COMMAND ${SED_EXE} -i'' ${string8} src/surf/simgrid_dtd.l COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/src/surf COMMAND ${FLEX_EXE} -o src/surf/simgrid_dtd.c -Psurf_parse_ --noline src/surf/simgrid_dtd.l - COMMAND ${SED_EXE} ${string9} -i src/surf/simgrid_dtd.c + COMMAND ${SED_EXE} -i'' ${string9} src/surf/simgrid_dtd.c COMMAND ${CMAKE_COMMAND} -E echo "surf/simgrid_dtd.c" #xbt/graphxml.c: xbt/graphxml.l COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/xbt/graphxml.c - COMMAND ${SED_EXE} ${string10} -i src/xbt/graphxml.l + COMMAND ${SED_EXE} -i'' ${string10} src/xbt/graphxml.l COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/src/xbt COMMAND ${FLEX_EXE} -o src/xbt/graphxml.c -Pxbt_graph_parse_ --noline src/xbt/graphxml.l - COMMAND ${SED_EXE} ${string11} -i src/xbt/graphxml.c + COMMAND ${SED_EXE} -i'' ${string11} src/xbt/graphxml.c COMMAND ${CMAKE_COMMAND} -E echo "xbt/graphxml.c" #simdag/dax_dtd.c: simdag/dax_dtd.l COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJECT_DIRECTORY}/src/simdag/dax_dtd.c - COMMAND ${SED_EXE} ${string12} -i src/simdag/dax_dtd.l + COMMAND ${SED_EXE} -i'' ${string12} src/simdag/dax_dtd.l COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/src/simdag COMMAND ${FLEX_EXE} -o src/simdag/dax_dtd.c -Pdax_ --noline src/simdag/dax_dtd.l - COMMAND ${SED_EXE} ${string13} -i src/simdag/dax_dtd.c + COMMAND ${SED_EXE} -i'' ${string13} src/simdag/dax_dtd.c COMMAND ${CMAKE_COMMAND} -E echo "simdag/dax_dtd.c" WORKING_DIRECTORY ${PROJECT_DIRECTORY} @@ -109,10 +119,21 @@ else(HAVE_FLEXML AND HAVE_FLEX AND SED_EXE) message(" FLEX : ${FLEX_EXE}") message("FLEXML : ${FLEXML_EXE}") message(" SED : ${SED_EXE}") - message(FATAL_ERROR "Install flex or flexml or sed before use maintainer mode") + + if(NOT HAVE_FLEXML) + message("Install flexml before use maintainer mode.") + endif(NOT HAVE_FLEXML) + if(NOT HAVE_FLEX) + message("Install flex before use maintainer mode.") + endif(NOT HAVE_FLEX) + if(NOT SED_EXE) + message("Install sed before use maintainer mode.") + endif(NOT SED_EXE) + + message(FATAL_ERROR "Need to install all tools for maintainer mode !!!") endif(HAVE_FLEXML AND HAVE_FLEX AND SED_EXE) -if(PERL_EXE) +if(PERL_EXECUTABLE) ADD_CUSTOM_COMMAND( OUTPUT ${PROJECT_DIRECTORY}/src/cunit_unit.c @@ -190,9 +211,9 @@ if(PERL_EXE) ${PROJECT_DIRECTORY}/src/xbt_synchro_unit.c ) -else(PERL_EXE) +else(PERL_EXECUTABLE) message(FATAL_ERROR "Install perl before use maintainer mode") -endif(PERL_EXE) +endif(PERL_EXECUTABLE) endif(enable_maintainer_mode AND NOT WIN32)