Code::Blocks Forums
User forums => Using Code::Blocks => Topic started by: Temtaime on February 04, 2015, 02:56:45 pm
-
Hi !
I cannot find a checkbox to disable dependencies check on compilation.
If A includes B and i've changed B, then codeblocks compiles both A and B, but i want to compile only changed files.
How i can that obtain ?
Thanks for a reply.
-
This is not supported because its dangerous and will sooner or later lead to errors.
-
I request that feature.
I have a large project written in D. It contains 40+ files with multiple dependencies.
I often change functions bodies in some files. But when i expect to compile 1-2 files while the project is being built, it recompiles almost all the files. It wastes the time.
Furthermore if i change for example functions arguments codeblocks sometimes unable to properly resolve dependencies and it leads to linker errors. I need to rebuild all the project by myself.
I want to disable that usefulless and buggy feature to save my time.
-
Have you tried to use the "Project->Compile current file" command?
If the dependencies break in a C/C++ please post an example project.
If the dependencies break in a D project please post patches! :)
-
I have a large project written in D.
As C::B is a C/C++ IDE the dependencies check won't work for D. You forgot to mention this important information in the first place!
However, it can be disabled, I just really didn't see a use-case. I'll see what I can do. please report as a feature request at source forge so it won't get lost (and also post a link to that FR here).
-
I don't know anything about how D works, but in C or C++, the statement "A includes B and I have changed B" means that you have changed A.
Insofar, this feature request is nonsensical (not just "dangerous") from a C or C++ point of view (though I don't know, it might be a valid thing to do in D?).
-
I don't know anything about how D works, but in C or C++, the statement "A includes B and I have changed B" means that you have changed A.
Well I agree with you on that but I know D not enough to be sure it is. However, I know that the dependency checker was not designed nor validated at all if against "D". Hence that it works at all is that "by accident" there is obviously an "include" statement in D.
As C::B meanwhile supports a range of options you should be able to disable components not designed for the target language.
-
OK, I've implemented this in my local version and will try if it breaks something...