@clevername27 said in Share Your Best Practices for Compiling for Compiling for Commercial Distribution!:
So some explanation first:
I think Im in a slightly different place to Dave, he does consulting but I think most of his build work is for in house products, where as Im nearly 180-degrees opposite to this. I build a LOT of stuff for my client base, and only occasional stuff for my own product set, so I'm often very driven by deadlines - and very often limited in which version I use of HISE - it MUST MUST MUST include a reliable repeatable set of functions, so for example I haven't been able to run anything new since the Filter display bug (which doesnt seem to be fixed by the way) came up several months ago...
How do you go about getting the fastest, most reliable code?
A few sample questions…ha -
Do you have two versions of HISE - one for development, and one for building releases?
Nope, see item 7. One only is all thats allowed
Do you use the "CI" or "Release" schemes?
I just (mostly) use the native in-HISE menu option of compiling the product, if for some reason this is failing then I'm not keen on off-product work arounds and I try and get my product into a position where I just press EXPORT>target plugin...
Are the any definitions/preprocessor-directives you use?
Well as a base place to start I go with;
HISE_SAMPLE_DIALOG_SHOW_INSTALL_BUTTON=1
HISE_SAMPLE_DIALOG_SHOW_LOCATE_BUTTON=0
HISE_DEACTIVATE_OVERLAY=1
ENABLE_ALL_PEAK_METERS=1
I'm pretty sure the first two are no longer needed as they are replaced by the Deactivate overlay - and a note on this - I use my own in house installer for all assets(samples, images, wav files, met data etc.) so I don't want the plugin loading and trying to do installs, so really if you are wanting the plugin to load and save your Sample spot then the Overlay isn't any use to you.
What Settings do you use in HISE (for building your plugin)?
Pretty standard out of the box - Im again not keen on introducing specific dependencies for products - I want to build them as efficiently as possible so that means as little fiddling about as possible.
What Settings do you use to build HISE, itself, for the version that will compile for your final plugin?
Its a std build - and as I say only one build on the machine at any one time.
What are the safe optimisations?
Nearly all the best optimisation are going to be in your instrument design, layout and HISE Script not in complier flags.
What should ABSOLUTELY not do, but most people might miss?
One version of HISE on the machine at any given time
fail to use git -this is a double negative so let me say it clearer - GET. GIT. NOW! and then get a GitHub account and use this to backup (and occasionally restore) each project.
OK, that's a lot, but I think we can all agree it would be helpful to have all this in one place.
On my end, I'll keep it all updated, and you can see the tutorial I've written so far.
Cheers.