You don't seem to understand the difference between CMake-time and Make-
(or build-) time.

I understand that there can be differences between the time of configuration and the applied generation. I guess that we have got different expectations about the introspection capabilities of the CMake build system.


Build-time is when the actual build system runs.
Everything is static here (except for custom commands).

I do not want it this way for my use case.


In particular, you can't change the list of source files any more.

I imagine that the build system can still accommodate to some changes from other sources like preprocessor symbols.


The problem is, you want to assemble that list at build-time, which is
not possible, because then CMake wouldn't know about them.

Can instructions from CMake scripts also be executed at generation time?


I don't quite understand why it is so important to you that these files
aren't passed to the compiler. If you exclude all of their contents with
"#ifndef NDEBUG", then each file should take less than a second to
compile, so you'd need a lot of those debug-only files for it to matter.

I hope that a more detailed description will clarify my use case.

Example:
A source file "toy.cxx" contains already the preprocessor switch that you mentioned. The marked debug code works with objects from a C++ class library for XML processing which has got its bunch of source files bundled in this project. Now I would like to omit this dependency if the software will be built for "release" mode. I would also like to be sure and want to check before the call of a compiler if this special symbol is really set.

Regards,
Markus
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to