Hi out there!

First of all, thanks to Kitware and everyone contributing to CMake: great work! I am working in a numerical research group and we often have to stick together all kinds of highly-experimental software packages in various languages and with the strangest requirements. Guess it's called 'science' ;).

Half a year ago, we migrated all our projects from hand-written makefiles and scripts (quite non-trivial) to CMake. This _severely_ reduced the effort we require to get this stuff running together smoothly. Big applause!


However, I am currently stuck and cannot find an answer in the Wiki or the list:

I have two packages P_A and P_B, both built by CMake. To build P_B, the following steps are required:

1. Build P_A - no problem. Provides me with executable E.
2. In P_B: call E to generate sources
   P_B contains a set of sources S and a "configuration file" C,
   both provided by the user (Yes, our users are programmers!).
   When E is called, it reads C, and, depending on its content, generates
   new sources S'.
3. Compile and link sources S and S' to a single library in P_B.

All steps should be performed without minimal user interaction.

Without parsing C by myself ( this is NO option!;) ), I cannot predict WHAT sources S' will be generated by E. However, it is possible to determine them from E's std-output, its log file, or using globs/regexps.

Point 2, running E is not the problem. That was quite straight-forward using ADD_CUSTOM_COMMAND() or ADD_CUSTOM_TARGET().

But how to perform point 3? How to get the list of generated sources back into CMake to build the lib?

Currently, I have no idea how to do that. To the best of my recollection, somebody talked of "called cmake from withing cmake" on the list at some time. However, I cannot find it.

Good hints appreciated!
Chris


--
Dipl. Phys. Christian Hoffmann

University of Heidelberg
Interdisciplinary Center for Scientific Computing (IWR)
Simulation and Optimization Group
Room 414
Im Neuenheimer Feld (INF) 368
69120 Heidelberg

Homezone: +49 6221 32 66 911
Office:   +49 6221 54 88 95







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

Reply via email to