On Wednesday 23 July 2008 18:00:41 Brad King wrote: > Allen Winter wrote: > > I need help from the CMake Gurus. > > > > Attached is my attempt at rewriting > > kdepim/akonadi/agents/nie/CMakeLists.txt. > > > > The problem is: the nepomuk-rcgen program creates a file that contains a > > list > > of source files to compile into the nie library. > > > > So you'll notice that I read the contents of the file into a variable and > > attempt > > to use that in kde4_add_library(). But CMake complains that the input files > > don't exist. > > > > I'm lost. > > This looks like you have an add_custom_command and expect the output to > be available for file(READ) on the next line of the CMakeLists.txt file. > Remember that add_custom_command creates a rule that is evaluated at > *build* time which is after *cmake* time. The file(READ) takes place > during cmake time, so the custom command has not yet been executed. > > You cannot have something that runs at build time generate a list of > files to be used during the same build. All the build rules have to be > generated ahead of time. > Right, that's exactly what I'm experiencing.
> You can run nepomuk-rcgen during the cmake configuration step with > execute_process, but that will run every time and not have dependencies. > That's the current situation and what I'm trying to change. > You can use the cmake try_compile() command > to update a whole build tree during the configuration step. > Most likely not what I want. > > Can you summarize what this program does and the relationships of its > input/output files and the resulting library to be built? > AFAIK, nepomuk-rcgen generates C++ source files and headers, along with a list of files that it created. It is passed a set of rules and input files to figure out what it needs to create. So.. the file(READ...) is trying to read the list of files nepomuk-rcgen generated. Then we try to build a static library using that list of files. Hope this is clearer. _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
