summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-05 17:27:18 +0000
committerbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-05 17:27:18 +0000
commitd8d0ddfd25965139899cb946e41f2cf825a1f858 (patch)
tree4fcda7851859581952fca21d2842e1d965253701
parent7c0907dae27bb65c9bcdd3e76e191d8101a209a2 (diff)
downloadchromium_src-d8d0ddfd25965139899cb946e41f2cf825a1f858.zip
chromium_src-d8d0ddfd25965139899cb946e41f2cf825a1f858.tar.gz
chromium_src-d8d0ddfd25965139899cb946e41f2cf825a1f858.tar.bz2
Unrollback the Scons changes, they weren't the cause of the problem.
Review URL: http://codereview.chromium.org/9184 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4783 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--build/SConscript.main21
-rwxr-xr-xsite_scons/site_tools/component_targets_msvs.py9
-rw-r--r--site_scons/site_tools/visual_studio_solution.py2
3 files changed, 27 insertions, 5 deletions
diff --git a/build/SConscript.main b/build/SConscript.main
index 8e10aab..5618396 100644
--- a/build/SConscript.main
+++ b/build/SConscript.main
@@ -237,6 +237,7 @@ windows_env = root_env.Clone()
environment_list.append(windows_env)
windows_env.Tool('target_platform_windows')
windows_env.Tool('target_debug')
+windows_env.Tool('component_targets_msvs') # Per target project support.
windows_env.Tool('midl')
windows_env.Replace(
BUILD_TYPE = 'debug-windows',
@@ -654,11 +655,25 @@ BuildComponents(environment_list)
# will be populated.
if root_env.Bit('solution'):
solution_env = root_env.Clone(tools = ['visual_studio_solution'])
- solution = solution_env.Solution(
- '$MAIN_DIR/chrome_scons', [windows_env],
+ src_solution = solution_env.Solution(
+ '$MAIN_DIR/chrome_scons_src', [windows_env],
exclude_pattern = '.*(Program Files|platformsdk_vista_6_0|cygwin).*',
)
+
+ solution = windows_env.ComponentVSSolution('chrome_scons',
+ [
+ 'all_libraries',
+ 'all_programs',
+ 'all_test_programs',
+ ],
+ projects = [windows_env.File('$MAIN_DIR/chrome_scons_src.vcproj')],
+ COMPONENT_VS_SOLUTION_DIR='$MAIN_DIR',
+ COMPONENT_VS_PROJECT_DIR='$MAIN_DIR/projects',
+ COMPONENT_VS_PROJECT_SCRIPT_PATH=(
+ 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'),
+ )
+
Default(None) # Delete all other default targets.
- Default(solution) # Build just the solution.
+ Default([src_solution, solution]) # Build just the solution.
# -------------------------------------------------------------------------
diff --git a/site_scons/site_tools/component_targets_msvs.py b/site_scons/site_tools/component_targets_msvs.py
index 57be5b3..e86de89 100755
--- a/site_scons/site_tools/component_targets_msvs.py
+++ b/site_scons/site_tools/component_targets_msvs.py
@@ -105,7 +105,9 @@ def ComponentVSProjectBuilder(target, source, env):
project_file = target[0].path
project_to_main = env.RelativePath(target[0].dir, env.Dir('$MAIN_DIR'),
sep='/')
- hammer_bat = '$(ProjectDir)/%s/hammer.bat' % project_to_main
+
+ env_hammer_bat = env.Clone(VS_PROJECT_TO_MAIN_DIR=project_to_main)
+ hammer_bat = env_hammer_bat.subst('$COMPONENT_VS_PROJECT_SCRIPT_PATH', raw=1)
# Project header
xml_impl = xml.dom.getDOMImplementation()
@@ -433,6 +435,10 @@ def generate(env):
COMPONENT_VS_PROJECT_DIR='$COMPONENT_VS_SOLUTION_DIR/projects',
COMPONENT_VS_SOLUTION_SUFFIX='.sln',
COMPONENT_VS_PROJECT_SUFFIX='.vcproj',
+ COMPONENT_VS_PROJECT_SCRIPT_NAME = 'hammer.bat',
+ COMPONENT_VS_PROJECT_SCRIPT_PATH = (
+ '$$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR/'
+ '$COMPONENT_VS_PROJECT_SCRIPT_NAME'),
)
AddTargetGroup('all_solutions', 'solutions can be built')
@@ -441,6 +447,7 @@ def generate(env):
vcprojaction = SCons.Script.Action(ComponentVSProjectBuilder, varlist=[
'TARGET_NAME',
'TARGET_PATH',
+ 'COMPONENT_VS_PROJECT_SCRIPT_PATH',
])
vcprojbuilder = SCons.Script.Builder(
action=vcprojaction,
diff --git a/site_scons/site_tools/visual_studio_solution.py b/site_scons/site_tools/visual_studio_solution.py
index 4c18d23..1e46767 100644
--- a/site_scons/site_tools/visual_studio_solution.py
+++ b/site_scons/site_tools/visual_studio_solution.py
@@ -71,7 +71,7 @@ def Solution(env, solution_name,
build_targets = [e.subst('$TARGET_ROOT') for e in environments]
# pick out sources, headers, and resources
sources, headers, resources, others = env.GatherInputs(
- [SCons.Script.Dir('$DESTINATION_ROOT')],
+ [env.Dir('$DESTINATION_ROOT')],
['.+\\.(c|cc|m|mm|cpp)$', # source files
'.+\\.(h|hh|hpp)$', # header files
'.+\\.(rc)$', # resource files