04-09-2011 09:16 AM
Hi!
This tip may not be useful for most people (or it may be obvious to the experts), but hopefully it will help someone...
If you work with plug-in architectures, you probably have spent a fair amount of time sitting around waiting for all the plugins to finish building. I started doing something recently that shaved a huge amount of time off my builds and I wanted to share it. My tip is simply this - Create a source distribution called "Libraries" that collects the NI LVLIBs so you only have to process them once during the build.
In my application, I distribute each of my plugins as a source distribution. Many of my plugins use NI_PtbyPt, NI_Gmath, NI_AALPro, etc. etc. etc. When I'd do a full build of entire project, each distribution would chug through the same libraries. I finally got fed up with waiting for it. I created a virtual folder in my project called "NI LVLibs". I then when through my project dependencies and added every NI LVLib I found to the project, putting them in my new virtual folder. I then went through each plugin build spec and put the "NI LVLibs" folder in the "Always Exclude" section. Finally, I created a new "Libraries" source distribution that only had the "NI LVLibs" folder.
Now when I run a build, the plugins are quickly processed without the libraries. The "Libraries" distribution takes a while to process all the libraries, but we're only doing it once per build - drastically shortening build time. I do have to modify the application.ini file after a build to add the VISearchPath key to point at my libraries, but this is well worth the price.
Hope this helps!
JasonP - CLD