Brandon J. Van Every wrote:
How can I make a file depend on a target? I have a lexer SILEX.EXE that I generate. I need other files to depend on the existence of SILEX.EXE, so that I can lex and create new output. It seems like target-depends-on-target is dealt with, and file-depends-on-file, and even target-depends-on-file. But not file-depends-on-target.My current headscratching code: EXE_C_TARGET(silex) # Generates silex.c from silex.scm ADD_EXECUTABLE(silex ${Chicken_BINARY_DIR}/silex.c) SET_TARGET_PROPERTIES(silex PROPERTIES COMPILE_FLAGS "${STATIC_FLAGS}") TARGET_LINK_LIBRARIES(silex libchicken-static) ADD_CUSTOM_COMMAND( OUTPUT ${Chicken_BINARY_DIR}/easyffi.l.silex MAIN_DEPENDENCY ${Chicken_SOURCE_DIR}/easyffi.l DEPENDS silexCOMMAND silex ${Chicken_SOURCE_DIR}/easyffi.l ${Chicken_BINARY_DIR}/easyffi.l.silex) ADD_FILE_DEPENDENCIES(${Chicken_BINARY_DIR}/easyffi.c ${Chicken_BINARY_DIR}/easyffi.l.silex )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.
-Brad _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
