find_program(FLEX_EXE NAMES flex)
find_program(FLEXML_EXE NAMES flexml)
find_program(SED_EXE NAMES sed)
-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)
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
${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)