| Index: build/SConscript.main
|
| ===================================================================
|
| --- build/SConscript.main (revision 7290)
|
| +++ build/SConscript.main (working copy)
|
| @@ -379,6 +379,35 @@
|
| windows_opt.ApplySConscript(['$CHROME_SRC_DIR/build/release.scons'])
|
|
|
| # --------------------------------------------------------------------------
|
| +# Platform-independent "msvs" mode for generating Visual Studio
|
| +# project and solution files from any platform.
|
| +
|
| +DeclareBit('msvs', 'Generate Visual Studio files')
|
| +
|
| +msvs_env = windows_env.Clone()
|
| +
|
| +msvs_env.Tool('target_platform_windows')
|
| +msvs_env.Tool('component_targets_msvs') # Per target project support.
|
| +
|
| +del msvs_env['BUILDERS']['MSVSProject']
|
| +del msvs_env['BUILDERS']['MSVSSolution']
|
| +msvs_env.Tool('MSVSNew')
|
| +
|
| +msvs_env.Tool('midl')
|
| +
|
| +environment_list.append(msvs_env)
|
| +msvs_env.Replace(
|
| + BUILD_TYPE = 'msvs',
|
| + BUILD_TYPE_DESCRIPTION = 'Generate Visual Studio files',
|
| + HOST_PLATFORMS = ['*'],
|
| + ICU_LIBS = [],
|
| +)
|
| +msvs_env.SetBits('windows', 'msvs')
|
| +# TODO(sgk): turn into separate debug + release env adding
|
| +# to a common .sln file
|
| +msvs_env.Tool('target_debug')
|
| +
|
| +# --------------------------------------------------------------------------
|
| # Linux specific
|
|
|
| linux_env = root_env.Clone()
|
| @@ -624,6 +653,30 @@
|
| )
|
|
|
|
|
| +# --------------------------------------------------------------------------
|
| +# Platform-independent "xcode" mode for generating XCode files
|
| +# from any platform.
|
| +
|
| +DeclareBit('xcode', 'Generate XCode files')
|
| +
|
| +# TODO(sgk): remove this after we update Hammer modules.
|
| +DeclareBit('mac', 'Target platform is mac.')
|
| +
|
| +xcode_env = mac_env.Clone()
|
| +# TODO(sgk): uncomment when xcode generation becomes real.
|
| +#environment_list.append(xcode_env)
|
| +xcode_env.Replace(
|
| + BUILD_TYPE = 'xcode',
|
| + BUILD_TYPE_DESCRIPTION = 'Generate XCode files',
|
| + HOST_PLATFORMS = ['*'],
|
| + ICU_LIBS = [],
|
| +)
|
| +xcode_env.SetBits('mac', 'xcode')
|
| +# TODO(sgk): turn into separate debug + release env adding
|
| +# to a common .sln file
|
| +xcode_env.Tool('target_debug')
|
| +
|
| +
|
| # -------------------------------------------------------------------------
|
|
|
|
|
| @@ -671,11 +724,6 @@
|
|
|
| Help(help_fmt % (components, all_system_libs))
|
|
|
| -
|
| -Import('build_component')
|
| -Default(None) # Reset default target to empty.
|
| -Default(Alias(build_component)) # Set default target based on where built.
|
| -
|
| # -------------------------------------------------------------------------
|
|
|
| # Invoke all the SConscripts in each of the environments that make sense on
|
| @@ -684,6 +732,24 @@
|
|
|
| # -------------------------------------------------------------------------
|
|
|
| +Default(None) # Reset default target to empty.
|
| +
|
| +modes = GetTargetModes().keys()
|
| +
|
| +if set(modes) - set(['msvs', 'xcode']):
|
| + # There's at least one mode being built besides the platform-
|
| + # independent 'msvs' or 'xcode' modes. Build the current
|
| + # build_component's Alias as default--that is, "base" when we're
|
| + # in the base/ subdirectory, "chrome" under chrome/, etc.
|
| + Import('build_component')
|
| + Default(Alias(build_component)) # Set default target based on where built.
|
| +
|
| +if 'msvs' in modes:
|
| + # We're in --mode=msvs, so add its Alias(es) to the default targets.
|
| + Default(Alias('solutions'))
|
| +
|
| +# -------------------------------------------------------------------------
|
| +
|
| # This must occur after BuildComponents so that the dependency graph
|
| # will be populated.
|
| vs_env = windows_env.Clone()
|
|
|