At 05:38 PM 5/15/2006, Brandon J. Van Every wrote:
>Brad King wrote:
>>Brandon J. Van Every wrote:
>>>
>>>It seems that "DEPENDS silex" will not refer to the SILEX.EXE target.  
>>>Rather, it thinks it's an ordinary file level dependency.
>>
>>That's okay.  The make process that evaluates the file-level dependency will 
>>not be executed until it is known that the exe target is up to date.  That is 
>>what the target-level dependency does.
>
>I have found the specific error.  The following code works:
>
>
>ADD_CUSTOM_COMMAND(
> OUTPUT ${Chicken_BINARY_DIR}/easyffi.c
> MAIN_DEPENDENCY ${Chicken_SOURCE_DIR}/easyffi.scm
> DEPENDS ${Chicken_BINARY_DIR}/easyffi.l.silex
> COMMAND ${VALID_CHICKEN} ${Chicken_SOURCE_DIR}/easyffi.scm -output-file 
> ${Chicken_BINARY_DIR}/easyffi.c ${CHICKEN_FLAGS}
>)
>
>The following code does *NOT* work:
>
>
>#This didn't work.
>ADD_FILE_DEPENDENCIES(${Chicken_BINARY_DIR}/easyffi.c
> ${Chicken_BINARY_DIR}/easyffi.l.silex
>)
>#Below is a full expansion of my easyffi.c generation.
>
>ADD_CUSTOM_COMMAND(
> OUTPUT ${Chicken_BINARY_DIR}/easyffi.c
> MAIN_DEPENDENCY ${Chicken_SOURCE_DIR}/easyffi.scm
>#  DEPENDS ${Chicken_BINARY_DIR}/easyffi.l.silex
> COMMAND ${VALID_CHICKEN} ${Chicken_SOURCE_DIR}/easyffi.scm -output-file 
> ${Chicken_BINARY_DIR}/easyffi.c ${CHICKEN_FLAGS}
>)
>
>So I was right, ADD_FILE_DEPENDENCIES does *not* play properly with DEPENDS in 
>ADD_CUSTOM_COMMAND.  Bug or feature?

All ADD_FILE_DEPENDENCIES does is set OBJECT_DEPENDS on the source.  So, it will
not cause a custom command to run.  It will cause a .o file to be compiled.  
It is a different thing than the DEPENDS of a custom command.   Which will add 
a depend
to the custom command, and will re-run the custom command if that depend 
changes.
OBJECT_DEPENDS currently only affects the building of an object file.

-Bill

_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to