ENH: Re-arranged code to test adding a custom command to generate a source file after the file has been added to a target. This is supported by the current implementation because of the use of source lists in the target implementation. When we later convert to creating cmSourceFile instances immediately for the target we need to make sure the mentioned case still works.

This commit is contained in:
Brad King 2007-06-11 13:22:17 -04:00
parent dfb79bea23
commit 0f4ad19ef8
1 changed files with 9 additions and 12 deletions

View File

@ -27,15 +27,6 @@ ADD_EXECUTABLE(generator generator.cxx)
GET_TARGET_PROPERTY(generator_PATH generator LOCATION) GET_TARGET_PROPERTY(generator_PATH generator LOCATION)
MESSAGE("Location ${generator_PATH}") MESSAGE("Location ${generator_PATH}")
# the folowing assumes that a cmSourceFile
# is instantiated for the output, with GENERATED 1
# at the end of the day this becomes a what in VS ?
ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/generated.c
DEPENDS generator
COMMAND ${generator_PATH}
ARGS ${PROJECT_BINARY_DIR}/generated.c
)
################################################################ ################################################################
# #
# Test using a wrapper to wrap a header file # Test using a wrapper to wrap a header file
@ -44,9 +35,6 @@ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/generated.c
# add the executable that will generate the file # add the executable that will generate the file
ADD_EXECUTABLE(wrapper wrapper.cxx) ADD_EXECUTABLE(wrapper wrapper.cxx)
# the following assumes that a cmSourceFile
# is instantiated for the output, with GENERATED 1
# at the end of the day this becomes a what in VS ?
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT ${PROJECT_BINARY_DIR}/wrapped.c ${PROJECT_BINARY_DIR}/wrapped_help.c OUTPUT ${PROJECT_BINARY_DIR}/wrapped.c ${PROJECT_BINARY_DIR}/wrapped_help.c
DEPENDS wrapper DEPENDS wrapper
@ -161,6 +149,15 @@ ADD_EXECUTABLE(CustomCommand
${PROJECT_BINARY_DIR}/not_included.h ${PROJECT_BINARY_DIR}/not_included.h
) )
# Add the rule to create generated.c at build time. This is placed
# here to test adding the generation rule after referencing the
# generated source in a target.
ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/generated.c
DEPENDS generator
COMMAND ${generator_PATH}
ARGS ${PROJECT_BINARY_DIR}/generated.c
)
TARGET_LINK_LIBRARIES(CustomCommand GeneratedHeader) TARGET_LINK_LIBRARIES(CustomCommand GeneratedHeader)
# must add a dependency on TDocument otherwise it might never build and # must add a dependency on TDocument otherwise it might never build and