[PATCH] [zorg] Add options allowing MSVC builds with Clang Cmake Build Factory.
Rick Foos
rfoos at codeaurora.org
Wed Dec 17 16:29:48 PST 2014
================
Comment at: buildbot/osuosl/master/config/builders.py:405-413
@@ +404,11 @@
+ ],
+ # Build and Check (MSVC)
+ cmakeGenerator='Visual Studio 12',
+ build_cmd=['MSBuild', 'ALL_BUILD.vcxproj','/maxcpucount',
+ "/p:Configuration=RelWithDebInfo"],
+ build_install_cmd=['MSBuild', 'INSTALL.vcxproj','/maxcpucount',
+ "/p:Configuration=RelWithDebInfo"],
+ build_check_cmd=['MSBuild', 'check-all.vcxproj','/maxcpucount',
+ "/p:Configuration=RelWithDebInfo"],
+ slave_envCmd=r""""%VS120COMNTOOLS%\vsvars32.bat" %PROCESSOR_ARCHITECTURE% & set""",
+ )},
----------------
zturner wrote:
> Any reason this can't use ninja? It will build faster than MSBuild while still using MSVC for the actual compilation and link.
I think the msvc builder and this change are obsolete.
The unified cmake builder should allow ninja, make, or MSBuild with the builder definition setting the parameters for each.
================
Comment at: zorg/buildbot/builders/ClangBuilder.py:537
@@ -509,10 +536,3 @@
- ############# CLEANING
- if clean:
- f.addStep(ShellCommand(name='clean stage 1',
- command=['rm','-rf',stage1_build],
- warnOnFailure=True,
- description='cleaning stage 1',
- descriptionDone='clean',
- workdir='.',
- env=env))
+ # Project file created by previous cmake run.
+ if 'Ninja' in cmakeGenerator:
----------------
gkistanova wrote:
> Could you consider defining and using a dict instead? Seems more natural for Python...
Yes, a dictionary would be more extensible.
cmakeGenToProjectfile={'Makefiles':'Makefile','Ninja':'build.ninja','Visual':'ALL_BUILD.vcxproj'}
cmakeProjectfile = 'Missing'
for key,val in cmakeGenToProjectfile.items():
if key in cmakeGenerator:
cmakeProjectfile = val
================
Comment at: zorg/buildbot/builders/ClangBuilder.py:548
@@ +547,3 @@
+ ############# CLEANING
+ doCleanIf = lambda step: step.build.getProperty("force_build_clean") or clean
+ f.addStep(RemoveDirectory(name='clean stage 1',
----------------
gkistanova wrote:
> May I suggest defining the "clean" arg as a property and then do a unified check if we need to clean.
> The build property will overwrite the builder or a slave one.
>
> At least this is what I'm going to do as a common approach for all builders.
>
It looked like the Force Build form 'clean before building' checkbox was setting a property named force_build_clean.
If force_build_clean is a standard buildbot property, I thought we might want to incorporate it.
doStepIf=Property('clean')
http://reviews.llvm.org/D5588
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list