News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

Disable dependencies check

Started by Temtaime, February 04, 2015, 02:56:45 PM

Previous topic - Next topic

Temtaime

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.

MortenMacFly

This is not supported because its dangerous and will sooner or later lead to errors.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

Temtaime

#2
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.

oBFusCATed

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! :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

MortenMacFly

Quote from: Temtaime on February 04, 2015, 03:57:40 PM
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).
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

thomas

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?).
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

MortenMacFly

Quote from: thomas on February 05, 2015, 10:15:45 AM
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.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

MortenMacFly

OK, I've implemented this in my local version and will try if it breaks something...
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]