Gregor Jasny via cmake-developers wrote:
> Hello,
>
> it looks like that during Generator Target refactoring the
> cm(Generator)Target::IsFrameworkOnApple and similar got duplicated. Is
> there a reason for this or could the GeneratorTarget simply query the
> Target?
Hi Gregor,
The intention of my refactoring effort was to make generate-time classes
like cmGeneratorTarget not depend on configure-time classes like cmTarget
and cmMakefile at all. The cmMakefile class at least is tightly integrated
to the current cmake language. I've made some effort to remove some of the
other non-language related responsibilities it has, but there is more to do.
I've also put work into to making cmGeneratorTarget not depend on cmTarget,
but there is more to do there too.
Isolating the different classes would be a step along the way to introducing
a new cmake language. It would also make better cross-compiling features
possible such as multi-configuration builds (host+target etc).
> Do you have by any chance some high level design documentation about the
> most important involves classes like the various generators, target,
> makefile, etc? I sometimes wonder where to place a new function and
> would like to get some more background.
I think such a thing would be out of date quite quickly, but the best
guideline I can give is to try to separate the code which is dependent on
cmMakefile+cmTarget from the code dependent on generators+cmGeneratorTarget.
Do you have a more-specific query?
Thanks,
Steve.
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers