Hi,

As part of our build process which uses cmake, we want to generate wrapper c++ files from existing sources, for python interfacing (using Py++ and boost.python).
The dependency we want to achieve is :
   A1.cpp A2.cpp A3.cpp   A1.h A2.h A3.h  ...  <-----  Abase.h  generate.py
  wrapLibrary.so  <-----  A1.cpp A2.cpp A3.cpp  baseLibrary.a
where
- Abase.h is the header file containing the classes that are to be exposed in python (INCLUDES several header files from other directories) - generate.py is the python script which parses Abase.h and produces the wrapper code from it - A1.cpp A2.cpp A3.cpp A1.h A2.h A3.h - automatically generated wrapper c++ files - wrapLibrary.so is the library which contains the compiled wrapper code along with the library which is wrapped (baseLibrary.a). Note that the automatically generated c++ file list are NOT KNOWN apriori (they are dependent on the contents of Abase.h and generate.py).

I have two questions on how to setup this with cmake:
1. To setup the first dependency rule properly, one should also add as dependencies the files that Abase.h file includes so that when you change the code in these files, wrapper code is recreated. For example if Abase.h includes another header file B.h, and B.h (but not Abase.h) is changed then the rule should be activated.
   Is there some way to setup this in cmake?
It seems like the scanning mechanism for the dependencies of c++ sources doesn't work for ADD_CUSTOM_TARGET. 2. For the second rule to work, one should include dynamically the list of all generated files in the rule. The file list that is to be included can be retrieved with a FILE(GLOB ...) command (that is after they are created). I have some vague idea how to setup this with recursive calling of cmake commands, but I'm not really sure it can work out. Is this setup possible, and is there some elegant way to do this?

Any help would be appreciated!

Thanks,
Dejan
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to