-------- Original-Nachricht -------- Von: Brad King <[EMAIL PROTECTED]>
> Alexander Neundorf wrote: > > Hi, > > > > it would be nice if it would be possible to have for each object file > also a target which only preprocesses the file and one which > preprocesses and compiles, but not assembles the file (so that you get > the assembler code). > > > > Is there a way to do this with macros ? > > I almost think this would have to be done in cmake itself. Probably > somewhere where the object rules are created additionally for each object the > same rule but with "-E" instead of "-c" would have to be created. It > wouldn't be required to be executed on all, just on direct invocation: > > make foo.o/pre > > make foo.o/as > > > > > > What do you think about this ? > > Would you accept a patch ? > > Look in Modules/CMakeCInformation.cmake for the variable > CMAKE_C_COMPILE_OBJECT. Other modules in the Platform directory set it > also. Just duplicate the variable with one called > CMAKE_C_PREPROCESS_OBJECT and then setup > cmLocalUnixMakefileGenerator3.cxx to create rules with ".E" extensions > instead of ".o". You should be able to locate places that lookup > *_COMPILE_OBJECT vars. See Modules/CMakeCXXInformation.cmake for the > C++ version. Ok, yesterday I had a look at it and managed to get the rules for preprocessed files produced. It ended up in cmMakefileTargetGenerator::WriteObjectBuildFile(). Problem: the rule was created in builddir/CMakeFiles/target.dir/build.make, but not in builddir/Makefile, so I had to enter "make -f CMakeFiles/target.dir/build.make main.o.E". What do I have to do to have this rule also appear in the Makefile in the build dir ? Bye Alex -- Echte DSL-Flatrate dauerhaft für 0,- Euro*! "Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
