Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Enhancements to the CB Build System

<< < (2/9) > >>

LETARTARE:
@scarphin
thank you to answer me

--- Quote ---I don't know what you mean here,
--- End quote ---
I meant: whenever one uses 'Build' everything is reconstructed.


--- Quote ---the user will just have to do that only once in his/her entire Qt career
--- End quote ---
I work on two projects with many 'moc_namefile.cpp' (40 and  156), it may take time.

Your overall vision will actually be sustainable. Otherwise, your reasons are good.

If you have some time, I can get advice from a specialist Qt.

Regards

scarphin:

--- Quote from: LETARTARE on February 26, 2015, 01:10:24 pm ---I meant: whenever one uses 'Build' everything is reconstructed.

--- End quote ---
Ok, I understand now. You're right and I think that results from CB not checking build dates/times for files with custom extensions to decide whether they must be rebuilt or not. It is in my todo list to check if CB can be made aware of the build dates/times of files with custom extensions so it doesn't build them when not needed. It has a low priority though.


--- Quote from: LETARTARE on February 26, 2015, 01:10:24 pm ---
--- Quote ---the user will just have to do that only once in his/her entire Qt career
--- End quote ---
I work on two projects with many 'moc_namefile.cpp' (40 and  156), it may take time.

--- End quote ---
I think we are talking about different things here. Let me be more clear. For '.ui' files (or other files with custom extensions) after the settings in advanced compiler options is set for that extension, the user doesn't have to intervene with any other setting in the build process (except maybe for changes or upgrades) no matter how many Qt projects or '.ui' files he/she is working with. Obviously header files requiring 'moc' are different. As they have the standard '.h' extension, an '.h' file extension cannot be set in advanced compiler options. The 'custom build' dialogue in file properties can be used to assign a specific build command (i.e. moc.exe xxx.h -o moc_xxx.cpp) to each of them and the resulting 'moc_xxx.cpp' file needs to be added to the project but that is not practical. My intention is to provide a 'generated files' input to that dialogue and make the assignment of specific commands easier a bit. The user will have to set all 'Q_OBJECT' files manually but with very little effort to be exact. Again that is a further step and I don't want to advance without discussing this with the developers first.

However, a work-around for 'moc' I used in the past for private projects was to use a different extension (my choice was '.hxx' to profit from other features CB provides) for headers including 'Q_OBJECT'. Then I could set a custom extension for '.hxx' and everything was automated. I even modified the 'class wizard' to allow for a Qt setting and make the necessary adjustments automatically. I can provide a patch for it (class wizard) if you want to try. This approach isn't suitable for public projects or projects of other people though as the project itself needs to go under heavy changes to fit into the custom extensions system.


--- Quote from: LETARTARE on February 26, 2015, 01:10:24 pm ---If you have some time, I can get advice from a specialist Qt.

--- End quote ---
Well, I'm not a Qt specialist nor a professional programmer. I may be considered as an intermediate Qt user but if you need my help or advice, I'll try to provide as much as I can. ;)

scarphin:
I submitted 2 patches to fix 2 bugs:

3- When 2 different compilers have different generated files for the same extension and if they are used for different targets in the same project, generated files are assigned to all targets regardless of which target's compiler generates them. They should be only assigned to targets whose compilers generate them. Submitted patch associates a compiler ID array to each generated file to fix the issue. Patch here -> https://sourceforge.net/p/codeblocks/tickets/146/

4- When files are added to the project, not all generated files for all target's compilers are added to the project. The fix is very simple. Patch here -> https://sourceforge.net/p/codeblocks/tickets/147/

Please comment.

oBFusCATed:
I've done it already in the tickets.

scarphin:
I've provided the steps to produce in the tickets, I couldn't reply here before because the forum was spitting database errors. And please comment my previous patches too not just the bugs. ;)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version