Sets construction variables for the Microsoft Visual C/C++ compiler.
CCPDBFLAGS
CCPCHFLAGS
CC
CCFLAGS
CFLAGS
CCCOM
SHCC
SHCCFLAGS
SHCFLAGS
SHCCCOM
CXX
CXXFLAGS
CXXCOM
SHCXX
SHCXXFLAGS
SHCXXCOM
CPPDEFPREFIX
CPPDEFSUFFIX
INCPREFIX
INCSUFFIX
RC
RCFLAGS
RCCOM
BUILDERS
OBJPREFIX
OBJSUFFIX
SHOBJPREFIX
SHOBJSUFFIX
CFILESUFFIX
CXXFILESUFFIX
PCHPDBFLAGS
PCHCOM
CCCOMSTR
SHCCCOMSTR
CXXCOMSTR
SHCXXCOMSTR
PCH
PCHSTOP
PDB
Builds a Microsoft Visual C++ precompiled header.
Calling this builder method
returns a list of two targets: the PCH as the first element, and the object
file as the second element. Normally the object file is ignored.
This builder method is only
provided when Microsoft Visual C++ is being used as the compiler.
The PCH builder method is generally used in
conjuction with the PCH construction variable to force object files to use
the precompiled header:
env['PCH'] = env.PCH('StdAfx.cpp')[0]
Builds a Microsoft Visual C++ resource file.
This builder method is only provided
when Microsoft Visual C++ or MinGW is being used as the compiler. The
.res
(or
.o
for MinGW) suffix is added to the target name if no other suffix is given.
The source
file is scanned for implicit dependencies as though it were a C file.
Example:
env.RES('resource.rc')
Options added to the compiler command line
to support building with precompiled headers.
The default value expands expands to the appropriate
Microsoft Visual C++ command-line options
when the &cv-link-PCH; construction variable is set.
Options added to the compiler command line
to support storing debugging information in a
Microsoft Visual C++ PDB file.
The default value expands expands to appropriate
Microsoft Visual C++ command-line options
when the &cv-link-PDB; construction variable is set.
The Visual C++ compiler option that SCons uses by default
to generate PDB information is .
This works correctly with parallel () builds
because it embeds the debug information in the intermediate object files,
as opposed to sharing a single PDB file between multiple object files.
This is also the only way to get debug information
embedded into a static library.
Using the instead may yield improved
link-time performance,
although parallel builds will no longer work.
You can generate PDB files with the
switch by overriding the default &cv-link-CCPDBFLAGS; variable as follows:
env['CCPDBFLAGS'] = ['${(PDB and "/Zi /Fd%s" % File(PDB)) or ""}']
An alternative would be to use the
to put the debugging information in a separate .pdb
file for each object file by overriding
the &cv-link-CCPDBFLAGS; variable as follows:
env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb'
When set to any true value,
specifies that SCons should batch
compilation of object files
when calling the Microsoft Visual C/C++ compiler.
All compilations of source files from the same source directory
that generate target files in a same output directory
and were configured in SCons using the same construction environment
will be built in a single call to the compiler.
Only source files that have changed since their
object files were built will be passed to each compiler invocation
(via the &cv-link-CHANGED_SOURCES; construction variable).
Any compilations where the object (target) file base name
(minus the .obj)
does not match the source file base name
will be compiled separately.
The Microsoft Visual C++ precompiled header that will be used when compiling
object files. This variable is ignored by tools other than Microsoft Visual C++.
When this variable is
defined SCons will add options to the compiler command line to
cause it to use the precompiled header, and will also set up the
dependencies for the PCH file.
Example:
env['PCH'] = 'StdAfx.pch'
The command line used by the
&b-PCH;
builder to generated a precompiled header.
The string displayed when generating a precompiled header.
If this is not set, then &cv-link-PCHCOM; (the command line) is displayed.
A construction variable that, when expanded,
adds the /yD flag to the command line
only if the &cv-PDB; construction variable is set.
This variable specifies how much of a source file is precompiled. This
variable is ignored by tools other than Microsoft Visual C++, or when
the PCH variable is not being used. When this variable is define it
must be a string that is the name of the header that
is included at the end of the precompiled portion of the source files, or
the empty string if the "#pragma hrdstop" construct is being used:
env['PCHSTOP'] = 'StdAfx.h'
The resource compiler used to build
a Microsoft Visual C++ resource file.
The command line used to build
a Microsoft Visual C++ resource file.
The string displayed when invoking the resource compiler
to build a Microsoft Visual C++ resource file.
If this is not set, then &cv-link-RCCOM; (the command line) is displayed.
The flags passed to the resource compiler by the RES builder.
An automatically-generated construction variable
containing the command-line options
for specifying directories to be searched
by the resource compiler.
The value of &cv-RCINCFLAGS; is created
by appending &cv-RCINCPREFIX; and &cv-RCINCSUFFIX;
to the beginning and end
of each directory in &cv-CPPPATH;.
The prefix (flag) used to specify an include directory
on the resource compiler command line.
This will be appended to the beginning of each directory
in the &cv-CPPPATH; construction variable
when the &cv-RCINCFLAGS; variable is expanded.
The suffix used to specify an include directory
on the resource compiler command line.
This will be appended to the end of each directory
in the &cv-CPPPATH; construction variable
when the &cv-RCINCFLAGS; variable is expanded.
Sets the preferred version of Microsoft Visual C/C++ to use.
If &cv-MSVC_VERSION; is not set, SCons will (by default) select the
latest version of Visual C/C++ installed on your system. If the
specified version isn't installed, tool initialization will fail.
This variable must be passed as an argument to the Environment()
constructor; setting it later has no effect. Set it to an unexpected
value (e.g. "XXX") to see the valid values on your system.
Sets the host architecture for Visual Studio compiler. If not set,
default to the detected host architecture: note that this may depend
on the python you are using.
This variable must be passed as an argument to the Environment()
constructor; setting it later has no effect.
Valid values are the same as for &cv-TARGET_ARCH;.
This is currently only used on Windows, but in the future it will be
used on other OSes as well.
Sets the target architecture for Visual Studio compiler (i.e. the arch
of the binaries generated by the compiler). If not set, default to
&cv-HOST_ARCH;, or, if that is unset, to the architecture of the
running machine's OS (note that the python build or architecture has no
effect).
This variable must be passed as an argument to the Environment()
constructor; setting it later has no effect.
This is currently only used on Windows, but in the future it will be
used on other OSes as well.
Valid values for Windows are 'x86', 'i386' (for 32 bits);
'amd64', 'emt64', 'x86_64' (64 bits);
and 'ia64' (Itanium).
For example, if you want to compile 64-bit binaries, you would set
TARGET_ARCH='x86_64' in your SCons environment.