Do not add Excluded Files to compilation units

Issue #3 resolved
Former user created an issue

I have another problem

i have some some configurations that set the ExcludeFromBuild flag so i don't want these files to be added to the compilation units

see pull request

Comments (11)

  1. Damien Courtois repo owner

    Hi, I'm sorry I couldn't work on this, but I recently had a few time, and I'm defenitely not at ease with manually creating the fileconfigs in the bakeFiles override. I want to avoid introducing dependencies between the various premake "stages" because I'm pretty sure that it might lead to some problems in the future.

    But the good news is I think there is a pretty easy workaround that I'm currently investigating: in the bakeFiles overrides, I no longer fill the compilation units. Instead I initialize a table containing, for each compilation unit, the list of files that are potentially going into it. And my idea is to defer the creation of the actual compilation unit files until after all the file configs are available. This way, I just have to iterate on my table, create the compilation units, and for each file in them, query the fileconfig and add only those that are not disabled.

    That might sound a bit overkill, but I think it's "cleaner" since it keeps each overriden function well contained. So anyway, just wanted to let you know that I didn't forget this issue, and hopefully I'll have a fix in the next few days :)

  2. Damien Courtois repo owner

    Fixed by commit e0bfb4b and 74683ba

    Note : the way the addon work changed quite a lot. Now the customBakeFiles and customAddFileConfig respectively add the compilation files, and update the list of files that will need to go into them (taking into account anything thing that might disable them for a specific configuration, etc.)

    Then in a later override (bakeConfigs to be precise) I can parse those list and actually generate the compilation unit files. It has the added benefit that in more complex projects, we might more easily update this function to balance the compilation files based on more complex schemes (in a company which I worked for, the overall complexity of the cpp files were evaluated based on their disk size to try to produce compilation units that are roughly equal in complexity)

    Again, sorry for the delay :)

  3. Former user Account Deleted reporter

    sounds amazing ...I'll give it a shot tomorrow ... No need to apologize ...this is open source ... Thank you for all your hard work :)

  4. Log in to comment