# HG changeset patch # User Louis Opter # Date 1325429807 -3600 # Node ID 2213af0b61f0d58e2b9d5e58f30391529abdeece # Parent 973e7bc6d13c3cf2671edd476b5b3f61a5e34066 Take advantage of /o in the UseRathaxes CMakeScript + buildbot cmake -E patch diff -r 973e7bc6d13c -r 2213af0b61f0 maintainers_fix_buildbot_build_mkdir.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maintainers_fix_buildbot_build_mkdir.patch Sun Jan 01 15:56:47 2012 +0100 @@ -0,0 +1,16 @@ +# HG changeset patch +# Parent 1e3eba44b04af9bee8927b33a455a69a38675c6e +maintainers: improve the buildbot master configuration to use cmake -E to create the build directory instead of a shell snippet (which would break on Windows) + +diff --git a/maintainers/buildbot/master/master-dotcloud.cfg b/maintainers/buildbot/master/master-dotcloud.cfg +--- a/maintainers/buildbot/master/master-dotcloud.cfg ++++ b/maintainers/buildbot/master/master-dotcloud.cfg +@@ -64,7 +64,7 @@ + + fullbuild_factory = BuildFactory() + fullbuild_factory.addStep(Mercurial(repourl='https://code.google.com/p/rathaxes', method='clean', branchType='inrepo')) +-fullbuild_factory.addStep(ShellCommand(command='mkdir build || :', lazylogfiles=True)) ++fullbuild_factory.addStep(ShellCommand(command=['cmake', '-E', 'make_directory', 'build'], lazylogfiles=True)) + # The default is already build/ thus build/build + fullbuild_factory.addStep(Configure(command=['cmake', '-DCMAKE_BUILD_TYPE=RELEASE', '..'], workdir='build/build')) + fullbuild_factory.addStep(Compile(workdir='build/build')) diff -r 973e7bc6d13c -r 2213af0b61f0 maintainers_improve_add_rathaxes_executable.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maintainers_improve_add_rathaxes_executable.patch Sun Jan 01 15:56:47 2012 +0100 @@ -0,0 +1,87 @@ +# 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 diff -r 973e7bc6d13c -r 2213af0b61f0 series --- a/series Sun Jan 01 15:31:17 2012 +0100 +++ b/series Sun Jan 01 15:56:47 2012 +0100 @@ -2,3 +2,5 @@ maintainers_add_rathaxes_cmake_library.patch rathaxes_replace_generate_by_a_cmakelist.patch rathaxes_add_the_output_option_to_rathaxes_generate.patch +maintainers_improve_add_rathaxes_executable.patch +maintainers_fix_buildbot_build_mkdir.patch