diff options
author | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-17 02:25:22 +0000 |
---|---|---|
committer | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-17 02:25:22 +0000 |
commit | caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068 (patch) | |
tree | 26d23c79d97efa44f69d1b447ae4618bf34fc609 /chrome/app | |
parent | 75ddd63be217e7fed76f90578a8918ab75b3ead8 (diff) | |
download | chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.zip chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.tar.gz chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.tar.bz2 |
Generate all chrome .vcproj files:
* Path name translation (/ to \) of various MSVSTool attributes.
* Explicit keyword= arguments to MSVSProject. This will likely
go away eventually in favor of uniform behavior.
* Add a relative_path_substitutions array that can be used
to substitute in Visual Studio variable like $(OutDir).
* Add a local_directory_prefix that can be set to './' to only
affect files in the current directory.
* Additional Keyword ordering in Tool attributes to continue to
match the default order Visual Studio generates.
* Add a Derived() proxy class that can wrap a File node to tell
the .vcproj generation that we want the derived file, not its
source(s), in the file list.
* In the individual *.scons files, add the necessary files (mostly
.h files) to file lists, and update MSVSProject() calls with
the additional necessary information.
Result is identical .vcproj files modulo the following differences:
* Four locales .vcproj files (da, en-US, he and zh-TW) with
source file orders that don't match the other locale .vcproj
files have re-ordered file lists to match the rest.
* Cosmetic XML changes (white space, ending tags) in:
chrome/app/chrome_dll.vcproj
chrome/app/generated_resources.vcproj
net/build/net_resources.vcproj
* Removal or addition of ./ prefixes from various files that don't
match the other file specifications within their individual
.vcproj files:
chrome/installer/util/util.vcproj
net/build/net.vcproj
net/build/net_unittests.vcproj
* Add missing empty sections (<ToolFiles>, <References>, <Globals>)
for consistency with other .vcproj files:
chrome/tools/test/image_diff/image_diff.vcproj
third_party/libpng/libpng.vcproj
third_party/zlib/zlib.vcproj
* Add missing RootNameSpace attribute:
chrome/test/automation/automation.vcproj
testing/gtest.vcproj
* Use && instead of \r\n as a command separator, to sidestep
XML-generation problems:
chrome/app/chrome_exe.vcproj
* Remove unnecessary (?) duplicate files in the file list:
chrome/browser/views/browser_views.vcproj
(event_utils.cc and event_utils.h were duplicated)
Review URL: http://codereview.chromium.org/17603
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8253 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app')
-rw-r--r-- | chrome/app/locales/locales.scons | 3 | ||||
-rw-r--r-- | chrome/app/resources/SConscript | 113 | ||||
-rw-r--r-- | chrome/app/theme/SConscript | 61 |
3 files changed, 166 insertions, 11 deletions
diff --git a/chrome/app/locales/locales.scons b/chrome/app/locales/locales.scons index d36d05c..0ce5df3c 100644 --- a/chrome/app/locales/locales.scons +++ b/chrome/app/locales/locales.scons @@ -14,7 +14,8 @@ def ChromiumLocaleProject(name, guid): '$WEBKIT_DIR/build/localized_strings/localized_strings.vcproj', '$CHROME_DIR/app/generated_resources.vcproj', ], - guid=guid) + guid=guid, + keyword='Win32Proj') ChromiumLocaleProject('$CHROME_DIR/app/locales/ar.vcproj', guid='{3AB90E6A-56FF-4C9D-B918-AB76DDBF8BE8}') diff --git a/chrome/app/resources/SConscript b/chrome/app/resources/SConscript index 6b23b9c..c3f1391 100644 --- a/chrome/app/resources/SConscript +++ b/chrome/app/resources/SConscript @@ -96,11 +96,68 @@ locale_list = [ 'zh-TW', ] +# TODO(sgk): remove these when we no longer want to worry about +# consistent GUIDs in the .vcproj files from checkin to checkin. +locale_GUIDMap = { + 'ar' : '{3AB90E6A-56FF-4C9D-B918-AB76DDBF8BE8}', + 'bg' : '{5BDB7EE1-A1FD-410C-9598-21519A1B7952}', + 'bn' : '{4B60E8B8-416F-40B2-8A54-F75970A21992}', + 'ca' : '{F7790A54-4078-4E4A-8231-818BE9FB1F94}', + 'cs' : '{7EA8C4AB-F9C6-4FA1-8B0A-74F5650430B2}', + 'da' : '{A493331B-3180-49FE-8D0E-D121645E63AD}', + 'de' : '{BA62FF5E-08A6-4102-9675-C12E8C9D4CC0}', + 'el' : '{D314F1B3-9299-4866-8362-08BF811B0FA3}', + 'en-GB' : '{34231B28-C51C-4C1C-AF07-C763668B1404}', + 'en-US' : '{CAE2D1E6-3F19-492F-A35C-68AA7ACAD6D3}', + 'es-419' : '{FA660037-EB40-4A43-AA9D-9653C57F2789}', + 'es' : '{5AEA4BF6-27CD-47FC-9370-D87771CFA196}', + 'et' : '{0557BC3C-DE87-4127-BDAA-9BD9BDB13FB4}', + 'fi' : '{64D81334-DE73-457D-8FC1-9492508A2663}', + 'fil' : '{3A932C39-AFA9-4BDC-B775-F71A426D04BF}', + 'fr' : '{0D54A5C4-B78B-41A2-BF8A-5DA48AC90495}', + 'gu' : '{256DECCE-9886-4C21-96A5-EE47DF5E07E9}', + 'he' : '{A28310B8-7BD0-4CDF-A7D8-59CAB42AA1C4}', + 'hi' : '{228DD844-9926-420E-B193-6973BF2A4D0B}', + 'hr' : '{CE1426F6-7D2B-4574-9929-58387BF7B05F}', + 'hu' : '{AFF332BF-AF3D-4D35-86FC-42A727F01D36}', + 'id' : '{E3DF045F-2174-4685-9CF7-0630A79F324B}', + 'it' : '{275F2993-EE9B-4E00-9C85-10A182FD423A}', + 'ja' : '{B2D715CE-4CBB-415A-A032-E700C90ADF91}', + 'kn' : '{3E6B24F6-9FA9-4066-859E-BF747FA3080A}', + 'ko' : '{32167995-4014-4E4C-983B-F7E17C24EB25}', + 'lt' : '{80E37CB5-059D-4F4B-AEF6-08265468D368}', + 'lv' : '{A5C5D801-4026-49F2-BBF1-250941855306}', + 'ml' : '{CAB69303-0F02-4C68-A12E-FFE55DB52526}', + 'mr' : '{A464166F-8507-49B4-9B02-5CB77C498B25}', + 'nb' : '{B30B0E1F-1CE9-4DEF-A752-7498FD709C1F}', + 'nl' : '{63011A7B-CE4D-4DF1-B5DA-1B133C14A2E8}', + 'or' : '{E07D267C-34C3-4DDB-8B41-94697808714A}', + 'pl' : '{9F53807E-9382-47BD-8371-E5D04F517E9C}', + 'pt-BR' : '{2F914112-2657-49EC-8EA6-3BA63340DE27}', + 'pt-PT' : '{0A13F602-B497-4BC1-ABD8-03CA8E95B2AF}', + 'ro' : '{C70D3509-57C4-4326-90C1-2EC0AE34848D}', + 'ru' : '{7D456640-3619-4D23-A56D-E0084400CCBF}', + 'sk' : '{82F5BFE5-FDCE-47D4-8B38-BEEBED561681}', + 'sl' : '{C2A444C2-9D74-4AD7-AE7C-04F5EDA17060}', + 'sr' : '{300C6A09-663E-48B6-8E07-A0D50CAF8F25}', + 'sv' : '{B0D5BD91-6153-4CA6-BC2F-4E3BD43E5DB7}', + 'ta' : '{7A0BA0C5-0D90-49AE-919A-4BE096F69E4F}', + 'te' : '{9D13D9B8-6C28-42A7-935C-B769EBC55BAA}', + 'th' : '{226B3533-1FF3-42F6-A8E3-C4DDBC955290}', + 'tr' : '{65C78BBB-8FCB-48E4-94C8-1F0F981929AF}', + 'uk' : '{182D578D-2DAC-4BB7-AFEC-9A2855E56F94}', + 'vi' : '{DA5C6FCB-FCFD-49B8-8DDA-8351638096DB}', + 'zh-CN' : '{C0C7DA58-C90D-4BDE-AE44-588997339F5D}', + 'zh-TW' : '{E7B11CF0-FE40-4A69-AE20-1B882F4D7585}', +} + gcs_rc = '$TARGET_ROOT/grit_derived_sources/google_chrome_strings_%s.rc' cs_rc = '$TARGET_ROOT/grit_derived_sources/chromium_strings_%s.rc' gr_res = '$TARGET_ROOT/grit_derived_sources/generated_resources_%s.res' ws_res = '$TARGET_ROOT/grit_derived_sources/webkit_strings_%s.res' +dest_vcproj = '$CHROME_SRC_DIR/chrome/app/locales/%s.vcproj' + locale_dlls = [] for locale in locale_list: @@ -112,9 +169,61 @@ for locale in locale_list: dll = env_dll.ChromeSharedLibrary(locale, [ gr_res % locale, - ws_res % locale, - res ]) + res, + ws_res % locale]) locale_dlls.append(dll) + p = env.ChromeMSVSProject('../locales/%s.vcproj' % locale, + dest=dest_vcproj % locale, + guid=locale_GUIDMap.get(locale), + buildtargets=dll, + relative_path_substitutions = [ + ('../../../..', '$(OutDir)'), + ], + tools=[ + 'VCPreBuildEventTool', + 'VCCustomBuildTool', + 'VCXMLDataGeneratorTool', + 'VCWebServiceProxyGeneratorTool', + 'VCMIDLTool', + 'VCCLCompilerTool', + 'VCManagedResourceCompilerTool', + 'VCResourceCompilerTool', + 'VCPreLinkEventTool', + 'VCLinkerTool', + 'VCALinkTool', + 'VCManifestTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='2') + + if locale == 'en-US': + kw = {'CharacterSet' : '1'} + else: + kw = {} + + p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + '../../tools/build/win/data_dll.vsprops', + '../../tools/build/win/language_dll.vsprops', + ], + **kw) + + p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + '../../tools/build/win/data_dll.vsprops', + '../../tools/build/win/language_dll.vsprops', + ], + **kw) + i = env.Install('$DESTINATION_ROOT/locales/', locale_dlls) env.Alias('chrome_locales', i) diff --git a/chrome/app/theme/SConscript b/chrome/app/theme/SConscript index 30857ed..a70a944 100644 --- a/chrome/app/theme/SConscript +++ b/chrome/app/theme/SConscript @@ -17,12 +17,6 @@ env_res.Append( ], ) -res = [ - env_res.RES('theme_resources.rc'), - env_res.RES('distribution_resources.rc'), -] - - env.Append( LINKFLAGS = [ @@ -42,8 +36,59 @@ env.Append( ], ) +input_files = ChromeFileList([ + 'theme_resources.h', + 'theme_resources.rc', + 'distribution_resources.rc', +]) + +res = [] +res.extend(env_res.RES('theme_resources.rc')) +res.extend(env_res.RES('distribution_resources.rc')) + themes_default = env.ChromeSharedLibrary("default", res) env.Install("$DESTINATION_ROOT/themes", themes_default) -# TODO(bradnelson): figure out why this was needed -#env.AddPostAction(themes_default[1], Touch(themes_default[1:])) +p = env.ChromeMSVSProject('theme_dll.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'app/theme/theme_dll.vcproj'), + guid='{FD683DD6-D9BF-4B1B-AB6D-A3AC03EDAA4D}', + keyword='Win32Proj', + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + tools=[ + 'VCPreBuildEventTool', + 'VCCustomBuildTool', + 'VCXMLDataGeneratorTool', + 'VCWebServiceProxyGeneratorTool', + 'VCMIDLTool', + 'VCCLCompilerTool', + 'VCManagedResourceCompilerTool', + 'VCResourceCompilerTool', + 'VCPreLinkEventTool', + 'VCLinkerTool', + 'VCALinkTool', + 'VCManifestTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='2') + + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/debug.vsprops', + './theme_dll.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/release.vsprops', + './theme_dll.vsprops', + ]) |