Hi Michael

Thanks for your help. Please see question below.

> CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
> PROJECT(GENDEP C)
> FILE(WRITE ${CMAKE_BINARY_DIR}/g.c "void g(void){}\n")
> ADD_CUSTOM_COMMAND(
>     OUTPUT ${CMAKE_BINARY_DIR}/f.c
>     COMMAND echo "void f(void){}" > ${CMAKE_BINARY_DIR}/f.c
>     DEPENDS ${CMAKE_BINARY_DIR}/g.c
>     VERBATIM)
> FILE(WRITE ${CMAKE_BINARY_DIR}/main.c "int main(void){f();return 0;}\n")
> ADD_EXECUTABLE(main main.c f.c)
> 
> "f.c" is regenerated and, thus, "main" rebuilt if "g.c" is touched
> although it's not incorporated in "main". 

In my case, the dependencies of the f.c will be all the dependencies of main. 
i.e. if any source file contributing to the exe changes we must first 
regenerate f.c.

Now our executable depends on many source files. I assume you are saying that I 
need to add the same list of dependencies to the ADD_CUSTOM_COMMAND. Can I 
specify a list of files further up in CMakeLists.txt so that I only need to 
enumerate the list once?

Regards

David
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to