find_program(FLEX_EXE NAMES flex)
find_program(FLEXML_EXE NAMES flexml)
find_program(SED_EXE NAMES sed)
+find_program(YACC_EXE NAMES yacc)
+find_program(LEX_EXE NAMES lex)
+
+if(YACC_EXE AND LEX_EXE)
+ add_custom_target(automaton_generated_src ALL
+ DEPENDS ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.lex
+ ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.yacc
+ COMMENT "Generated automaton source files"
+ COMMAND ${YACC_EXE} -d parserPromela.yacc
+ COMMAND ${LEX_EXE} --prefix=xbt_automaton_parse_ --outfile=automaton_parse.yy.c parserPromela.lex
+ COMMAND ${CMAKE_COMMAND} -E remove y.output
+ WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/
+ )
+
+ SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
+ "${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/y.tab.c;${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/y.tab.h;${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/automaton_parse.yy.c"
+ )
+endif(YACC_EXE AND LEX_EXE)
IF(FLEX_EXE)
set(HAVE_FLEX 1)
target_link_libraries(smpi_static simgrid ${SMPI_LDEP})
set_target_properties(smpi_static PROPERTIES OUTPUT_NAME smpi)
endif(enable_smpi)
-endif(enable_lib_static)
\ No newline at end of file
+endif(enable_lib_static)
+
+# Dependencies from maintainer mode
+###################################
+if(enable_maintainer_mode AND YACC_EXE AND LEX_EXE)
+ add_dependencies(simgrid automaton_generated_src)
+endif(enable_maintainer_mode AND YACC_EXE AND LEX_EXE)
\ No newline at end of file
${CMAKE_CURRENT_SOURCE_DIR}/random_test.c
${CMAKE_CURRENT_SOURCE_DIR}/test_snapshot.c
${CMAKE_CURRENT_SOURCE_DIR}/y.tab.c
- ${CMAKE_CURRENT_SOURCE_DIR}/automaton.h
- ${CMAKE_CURRENT_SOURCE_DIR}/automatonparse_promela.h
${CMAKE_CURRENT_SOURCE_DIR}/bugged1_liveness.h
${CMAKE_CURRENT_SOURCE_DIR}/bugged2_liveness.h
${CMAKE_CURRENT_SOURCE_DIR}/centralized_liveness.h
${bin_files}
${CMAKE_CURRENT_SOURCE_DIR}/dwarf
${CMAKE_CURRENT_SOURCE_DIR}/parse_dwarf
- ${CMAKE_CURRENT_SOURCE_DIR}/parserPromela.lex
- ${CMAKE_CURRENT_SOURCE_DIR}/parserPromela.yacc
${CMAKE_CURRENT_SOURCE_DIR}/promela1_bugged1_liveness
${CMAKE_CURRENT_SOURCE_DIR}/promela2_bugged1_liveness
${CMAKE_CURRENT_SOURCE_DIR}/promela2_bugged2_liveness