X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1af04af978a0d15f9e4e16db1270e42ff0fc6d11..fe9ec44b78f1d4b5a89db951d025bb33d0cd73d1:/buildtools/Cmake/MaintainerMode.cmake diff --git a/buildtools/Cmake/MaintainerMode.cmake b/buildtools/Cmake/MaintainerMode.cmake index d5fdcad836..fba030f36f 100644 --- a/buildtools/Cmake/MaintainerMode.cmake +++ b/buildtools/Cmake/MaintainerMode.cmake @@ -4,6 +4,39 @@ set(FLEXML_MIN_MINOR 9) set(FLEXML_MIN_PATCH 6) # the rest should only be changed if you understand what you're doing +if(enable_maintainer_mode AND NOT WIN32) + find_program(PYTHON_EXE NAMES python) + mark_as_advanced(PYTHON_EXE) + if (PYTHON_EXE) + add_custom_command( + OUTPUT + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_generated.c + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_bodies.c + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_enum.h + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_accessors.h + + DEPENDS + ${CMAKE_HOME_DIRECTORY}/src/simix/simcalls.py + ${CMAKE_HOME_DIRECTORY}/src/simix/simcalls.in + + COMMENT "Generating simcalls source files" + COMMAND ${PYTHON_EXE} simcalls.py + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/src/simix/ + ) + + add_custom_target(simcalls_generated_src + DEPENDS + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_generated.c + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_bodies.c + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_enum.h + ${CMAKE_HOME_DIRECTORY}/src/simix/popping_accessors.h + ) + + SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES + "${CMAKE_HOME_DIRECTORY}/src/simix/popping_enum.h;${CMAKE_HOME_DIRECTORY}/src/simix/popping_generated.c;${CMAKE_HOME_DIRECTORY}/src/simix/popping_bodies.c;${CMAKE_HOME_DIRECTORY}/src/simix/popping_accessors.h" + ) + endif() +endif() if(enable_maintainer_mode AND NOT WIN32) find_program(FLEX_EXE NAMES flex) @@ -176,15 +209,6 @@ if(enable_maintainer_mode AND NOT WIN32) COMMENT "Generating files in maintainer mode..." ) - add_custom_target(maintainer_files - DEPENDS ${CMAKE_HOME_DIRECTORY}/include/surf/simgrid_dtd.h - ${CMAKE_HOME_DIRECTORY}/include/xbt/graphxml.h - ${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.h - ${CMAKE_HOME_DIRECTORY}/src/surf/simgrid_dtd.c - ${CMAKE_HOME_DIRECTORY}/src/xbt/graphxml.c - ${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.c - ) - else() if(NOT HAVE_FLEXML) message(STATUS "Error : Install flexml before use maintainer mode.") @@ -200,3 +224,12 @@ if(enable_maintainer_mode AND NOT WIN32) endif() endif() + + add_custom_target(maintainer_files + DEPENDS ${CMAKE_HOME_DIRECTORY}/include/surf/simgrid_dtd.h + ${CMAKE_HOME_DIRECTORY}/include/xbt/graphxml.h + ${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.h + ${CMAKE_HOME_DIRECTORY}/src/surf/simgrid_dtd.c + ${CMAKE_HOME_DIRECTORY}/src/xbt/graphxml.c + ${CMAKE_HOME_DIRECTORY}/src/simdag/dax_dtd.c + )