Mercurial > archived > louis > epitech > mq > rathaxes
view maintainers_improve_add_rathaxes_executable.patch @ 1:2213af0b61f0
Take advantage of /o in the UseRathaxes CMakeScript + buildbot cmake -E patch
author | Louis Opter <louis@lse.epitech.net> |
---|---|
date | Sun, 01 Jan 2012 15:56:47 +0100 |
parents | |
children |
line wrap: on
line source
# HG changeset patch # Parent 4ea23ed6f787e6ef986cc7fee99d2e77c257c737 maintainers: improve the little CMake Rathaxes library to take advantage of the new `/o' option of rathaxes generate diff --git a/maintainers/CMakeScripts/UseRathaxes.cmake b/maintainers/CMakeScripts/UseRathaxes.cmake --- a/maintainers/CMakeScripts/UseRathaxes.cmake +++ b/maintainers/CMakeScripts/UseRathaxes.cmake @@ -29,7 +29,13 @@ SET(${SYSTEM_OUT} ${${SYSTEM_OUT}} PARENT_SCOPE) ENDFUNCTION(_RTX_PARSE_OPTIONS ARGS RTI_OUT BLT_OUT) -FUNCTION(_RTX_GENERATE_BUILD_COMMANDS REGISTER_COMMANDS_OUT RTI_FILES BLT_FILES GENERATE_COMMANDS_OUT SYSTEMS) +FUNCTION(_RTX_GENERATE_BUILD_COMMANDS + OUT_NAME # [in] Name of the target + REGISTER_COMMANDS_OUT # [out] rathaxes [rti,blt]-registers commands + RTI_FILES BLT_FILES # [in, in] rti and blt files + GENERATE_COMMANDS_OUT # [out] rathaxes generate /o commands + OUTPUTS # [out] name of each generate file + SYSTEMS) # [in] name of each target system FOREACH(RTI ${RTI_FILES}) LIST(APPEND ${REGISTER_COMMANDS_OUT} "COMMAND" ${_RTX_CODEWORKER_COMMAND} @@ -43,15 +49,25 @@ ENDFOREACH(BLT ${BLT_FILES}) FOREACH(OS ${SYSTEMS}) + LIST(APPEND ${OUTPUTS} "${OUT_NAME}_${OS}.c") + # At some point I guess we will use different directories instead of + # different file names. LIST(APPEND ${GENERATE_COMMANDS_OUT} COMMAND ${_RTX_CODEWORKER_COMMAND} - "generate" "${OS}" + "generate" "/o" "${OUT_NAME}_${OS}.c" "${OS}" "${CMAKE_CURRENT_SOURCE_DIR}/${RTX_FILE}") ENDFOREACH(OS ${SYSTEMS}) SET(${REGISTER_COMMANDS_OUT} ${${REGISTER_COMMANDS_OUT}} PARENT_SCOPE) SET(${GENERATE_COMMANDS_OUT} ${${GENERATE_COMMANDS_OUT}} PARENT_SCOPE) -ENDFUNCTION(_RTX_GENERATE_BUILD_COMMANDS REGISTER_COMMANDS_OUT RTI_FILES BLT_FILES GENERATE_COMMANDS_OUT SYSTEMS) + SET(${OUTPUTS} ${${OUTPUTS}} PARENT_SCOPE) +ENDFUNCTION(_RTX_GENERATE_BUILD_COMMANDS + OUT_NAME + REGISTER_COMMANDS_OUT + RTI_FILES BLT_FILES + GENERATE_COMMANDS_OUT + OUTPUTS + SYSTEMS) # This function will build a Rathaxes target. Usage: # @@ -82,26 +98,24 @@ # argument (otherwise it would expand as different arguments). _RTX_PARSE_OPTIONS("${ARGV}" RTI_FILES BLT_FILES SYSTEMS) - _RTX_GENERATE_BUILD_COMMANDS(REGISTER_COMMANDS + _RTX_GENERATE_BUILD_COMMANDS(${OUT_NAME} + REGISTER_COMMANDS "${RTI_FILES}" "${BLT_FILES}" GENERATE_COMMANDS + OUTPUTS "${SYSTEMS}") - # As soon as we start to write the generation result to files this should - # be translated to an ADD_CUSTOM_COMMAND: - ADD_CUSTOM_TARGET(${OUT_NAME} - ${_RTX_CODEWORKER_COMMAND} "cache" "clear" - ${REGISTER_COMMANDS} - COMMENT "Registering .rti and .blt for the Rathaxes target ${OUT_NAME}" - VERBATIM - SOURCES ${RTX_FILE} ${RTI_FILES} ${BLT_FILES}) - STRING(REPLACE ";" ", " SYSTEMS "${SYSTEMS}") - ADD_CUSTOM_COMMAND(TARGET ${OUT_NAME} POST_BUILD + ADD_CUSTOM_COMMAND(OUTPUT ${OUTPUTS} + COMMAND ${_RTX_CODEWORKER_COMMAND} "cache" "clear" + ${REGISTER_COMMANDS} ${GENERATE_COMMANDS} COMMENT "Building Rathaxes target ${OUT_NAME} for ${SYSTEMS}" - VERBATIM) + VERBATIM + DEPENDS ${RTX_FILE} ${RTI_FILES} ${BLT_FILES}) + + ADD_CUSTOM_TARGET(${OUT_NAME} ALL DEPENDS ${OUTPUTS}) ENDFUNCTION(ADD_RATHAXES_EXECUTABLE OUT_NAME RTX_FILE) # This function call codeworker + cnorm with the given codeworker script. The