I'm not dead yet
I am still alive here. I haven't been able to work much because of some real life issues. I still have lots of ideas in my head. Unfortunately, I still haven't developed my secret project enough to show yet. I've recently upgraded my site to Mambo 4.6 so there's going to be some buggy-ness for a while (thumbnail image strips are gone code highlighting is a bit busted. It will all get fixed in time.- Details
- Written by Chris Savoie
- Category: Update
- Hits: 2878
Why am I still on break!!
For some reason I'm still looking into the compiler thing. It turns out that since I have the VCCLCompilerTool I was able to pretty easily convert that to a commandline to run. Though I did have to write a function a few hundred lines long to do it, all of them 'if this add option'. Very boring stuff. Then I had the next problem. Cl.exe was running, but failing, and there was no output, just some obscure error message.So it is possible, but I don't feel like looking into it anymore. I proved my point, but I don't personally have any need for it at the moment. Though I'm sure there is a market for a cheak multi-processor compiler add-in for visual studio. If anyone reads this and makes one you should send me a site license :D
Well back to super ultra secret project X.
- Details
- Written by Chris Savoie
- Category: Update
- Hits: 3085
Break Break Over
Turns out it's not as easy as I thought. Getting the files and libs and exes to compile is pretty easy. The problem came with controlling the build process. Within visual studio extensibility you can only start builds. There isn't any way (that I found) to begin the build process but control it from there. The following is the code I used to get all of the files to compile and to build them. Unfortunately each call to compile/build starts and stops a seperate build process, the equivalent of right-clicking and compiling each individual file. It seems going for a solution like Jam would be better.ArrayList PCHFiles = new ArrayList(); ArrayList NormalFiles = new ArrayList(); ArrayList Libraries = new ArrayList(); ArrayList Executables = new ArrayList(); for (int i = 1; i <= b.BuildDependencies.Count; ++i) { BuildDependency d = (BuildDependency)b.BuildDependencies.Item(i); VCProject project = d.Project.Object as VCProject; Configuration active = d.Project.ConfigurationManager.ActiveConfiguration; IVCCollection configs = project.Configurations as IVCCollection; VCConfiguration cfg = configs.Item(active.ConfigurationName) as VCConfiguration; if (cfg.ConfigurationType == ConfigurationTypes.typeStaticLibrary) { Libraries.Add(cfg); } else { Executables.Add(cfg); } foreach (VCFile f in (project.Files as IVCCollection)) { IVCCollection fconfigs = (f.FileConfigurations as IVCCollection); VCFileConfiguration fcfg = fconfigs.Item(active.ConfigurationName) as VCFileConfiguration; VCCLCompilerTool tool = fcfg.Tool as VCCLCompilerTool; if (tool != null) { if (tool.UsePrecompiledHeader == pchOption.pchCreateUsingSpecific) PCHFiles.Add(fcfg); else NormalFiles.Add(fcfg); } } } // build foreach (VCFileConfiguration fcfg in PCHFiles) { fcfg.Compile(true, true); } foreach (VCFileConfiguration fcfg in NormalFiles) { fcfg.Compile(true, true); } foreach (VCConfiguration cfg in Libraries) { cfg.Build(); } foreach (VCConfiguration cfg in Executables) { cfg.Build(); }
- Details
- Written by Chris Savoie
- Category: Update
- Hits: 2966
A break from my break
I'm going to take a little break from my current break to look into something that's started bugging me yesterday. While doing some compile time performance testing we found out that Incredibuild, with a multi-core license, is about as fast on a single computer with 4 cores as it is using an entire network of machines but only using one core from each. So I did some googling and found out that there's no simple solutions for Visual Studio.NET 2003 that simply adds multi-core support to the compiling process.So during my break I'm going to see if I can whip together a simple Add-in for Visual Studio that simply re-orders the build process and forks off multiple threads. Stay tuned!
- Details
- Written by Chris Savoie
- Category: Update
- Hits: 2825