I solve the problem by adding the move step in the same ADD_CUSTOM_COMAND

Here is the new code. Any ideas for

#BEGIN

MACRO ( GENERATE_SLICE2CPP_RULES GENERATED_CPP_LIST GENERATED_HEADER_LIST )

    FOREACH( SLICE_SOURCE_BASENAME ${ARGN} )
        APPEND( GEN_SLICE_RULES_SLICE_DEPENDS
"${SLICE_SOURCE_DIR}/${PROJECT_NAMESPACE}/${SLICE_SOURCE_BASENAME}" )
    ENDFOREACH( SLICE_SOURCE_BASENAME ${ARGN} )


    FOREACH( SLICE_SOURCE_BASENAME ${ARGN} )
        SET( SLICE_SOURCE
"${SLICE_SOURCE_DIR}/${PROJECT_NAMESPACE}/${SLICE_SOURCE_BASENAME}" )
        SET( DEPENDS ${GEN_SLICE_RULES_SLICE_DEPENDS} )
        STRING( REGEX REPLACE "\\.ice" .cpp SOURCE_OUTPUT_BASENAME
"${SLICE_SOURCE_BASENAME}" )
        STRING( REGEX REPLACE "\\.ice" .h HEADER_OUTPUT_BASENAME
"${SLICE_SOURCE_BASENAME}" )

        MESSAGE ( STATUS "Source file to generate:
${SOURCE_OUTPUT_BASENAME}" )
        MESSAGE ( STATUS "Header file to generate:
${HEADER_OUTPUT_BASENAME}" )

        ADD_CUSTOM_COMMAND(
            OUTPUT  ${PROJECT_SOURCE_DIR}/src/${SOURCE_OUTPUT_BASENAME}
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAMESPACE}/${HEADER_OUTPUT_BASENAME}
            COMMAND ${SLICE2CPP_COMMAND} ${SLICE_ARGS} ${SLICE_SOURCE}
            COMMAND ${MOVE_FILE_COMMAND}
${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_OUTPUT_BASENAME}
${PROJECT_SOURCE_DIR}/src/${SOURCE_OUTPUT_BASENAME}
            COMMAND ${MOVE_FILE_COMMAND}
${CMAKE_CURRENT_BINARY_DIR}/${HEADER_OUTPUT_BASENAME}
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAMESPACE}/${HEADER_OUTPUT_BASENAME}
            DEPENDS ${DEPENDS}
            COMMENT "-- Generating ${SOURCE_OUTPUT_BASENAME}
${HEADER_OUTPUT_BASENAME} file from ${SLICE_SOURCE_BASENAME}")


        APPEND ( "${GENERATED_CPP_LIST}"
"${PROJECT_SOURCE_DIR}/src/${SOURCE_OUTPUT_BASENAME}" )
        APPEND ( "${GENERATED_HEADER_LIST}"
"${PROJECT_SOURCE_DIR}/include/${PROJECT_NAMESPACE}/${HEADER_OUTPUT_BASENAME}"
)
    ENDFOREACH( SLICE_SOURCE_BASENAME ${ARGN} )

ENDMACRO ( GENERATE_SLICE2CPP_RULES GENERATED_CPP_LIST GENERATED_HEADER_LIST
)

#END


When i try to separate the command that move generated files in other
ADD_CUSTOM_COMMAND call

i get this error:

[EMAIL PROTECTED] ~/proyects/ydra-ipluginservice/build $ make
[ 50%] -- Generating IPluginService.cpp IPluginService.h file from
IPluginService.ice
make[2]: *** No rule to make target `../src/IPluginService.cpp', needed by
`CMakeFiles/IPluginService.dir/depend.make.mark'.  Stop.
make[1]: *** [CMakeFiles/IPluginService.dir/all] Error 2
make: *** [all] Error 2

Here is the cmake macro when i get the error.

        ADD_CUSTOM_COMMAND(
            OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_OUTPUT_BASENAME}
${CMAKE_CURRENT_BINARY_DIR}/${HEADER_OUTPUT_BASENAME}
            COMMAND ${SLICE2CPP_COMMAND} ${SLICE_ARGS} ${SLICE_SOURCE}
            DEPENDS ${DEPENDS}
            COMMENT "-- Generating ${SOURCE_OUTPUT_BASENAME}
${HEADER_OUTPUT_BASENAME} file from ${SLICE_SOURCE_BASENAME}")

        ADD_CUSTOM_COMMAND(
            OUTPUT  ${PROJECT_SOURCE_DIR}/src/${SOURCE_OUTPUT_BASENAME}
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAMESPACE}/${HEADER_OUTPUT_BASENAME}
            COMMAND ${MOVE_FILE_COMMAND}
${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_OUTPUT_BASENAME}
${PROJECT_SOURCE_DIR}/src/${SOURCE_OUTPUT_BASENAME}
            COMMAND ${MOVE_FILE_COMMAND}
${CMAKE_CURRENT_BINARY_DIR}/${HEADER_OUTPUT_BASENAME}
${PROJECT_SOURCE_DIR}/include/${PROJECT_NAMESPACE}/${HEADER_OUTPUT_BASENAME}
            DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_OUTPUT_BASENAME}
${CMAKE_CURRENT_BINARY_DIR}/${HEADER_OUTPUT_BASENAME}
            COMMENT "-- Moving generated file ${SOURCE_OUTPUT_BASENAME} to
${PROJECT_SOURCE_DIR}/src")



Any ideas why this fail when ADD_CUSTOM_COMMAND is break in tow
ADD_CUSTOM_COMMAND

Thanks in advance
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to