From 9f1d484852065d8e224f03acb1d11bcca28dd07a Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Tue, 26 Jun 2012 23:38:03 +0200 Subject: [PATCH] Avoid to recompile automatonparse_promela.c at each build (maintainer mode). --- buildtools/Cmake/MaintainerMode.cmake | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/buildtools/Cmake/MaintainerMode.cmake b/buildtools/Cmake/MaintainerMode.cmake index cc76eba98e..26d587d14d 100644 --- a/buildtools/Cmake/MaintainerMode.cmake +++ b/buildtools/Cmake/MaintainerMode.cmake @@ -9,15 +9,29 @@ if(enable_maintainer_mode AND NOT WIN32) mark_as_advanced(LEX_EXE) if(BISON_EXE AND LEX_EXE) - add_custom_target(automaton_generated_src ALL - DEPENDS ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.lex + add_custom_command( + OUTPUT + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/automaton_lexer.yy.c + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.tab.cacc + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.tab.hacc + + DEPENDS + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.lex ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.yacc + COMMENT "Generating automaton source files" COMMAND ${BISON_EXE} --name-prefix=xbt_automaton_parser_ -d parserPromela.yacc COMMAND ${LEX_EXE} --prefix=xbt_automaton_parser_ --outfile=automaton_lexer.yy.c parserPromela.lex WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/ ) + add_custom_target(automaton_generated_src + DEPENDS + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/automaton_lexer.yy.c + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.tab.cacc + ${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.tab.hacc + ) + SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.tab.cacc;${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/parserPromela.tab.hacc;${CMAKE_HOME_DIRECTORY}/src/xbt/automaton/automaton_parse.yy.c" ) -- 2.20.1