X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ec2dc5f98ef802d9a03762d5062f397729059b3c..9b39bafc27f084e23751d10f11af8d6998cb09c9:/buildtools/Cmake/MaintainerMode.cmake diff --git a/buildtools/Cmake/MaintainerMode.cmake b/buildtools/Cmake/MaintainerMode.cmake index 8838e46c7a..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) @@ -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)