Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a function called after a MSG_comm_test.
[simgrid.git] / buildtools / Cmake / MaintainerMode.cmake
index 8838e46..a939d07 100644 (file)
@@ -6,10 +6,20 @@ find_program(PERL_EXE NAMES perl)
 
 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,7 +119,18 @@ 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)