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/installer | |
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/installer')
-rw-r--r-- | chrome/installer/mini_installer/mini_installer.scons | 193 | ||||
-rw-r--r-- | chrome/installer/setup/setup.scons | 75 | ||||
-rw-r--r-- | chrome/installer/util/installer_unittests.scons | 76 | ||||
-rw-r--r-- | chrome/installer/util/util.scons | 129 |
4 files changed, 371 insertions, 102 deletions
diff --git a/chrome/installer/mini_installer/mini_installer.scons b/chrome/installer/mini_installer/mini_installer.scons index 0fefbe1..c4c4ae8 100644 --- a/chrome/installer/mini_installer/mini_installer.scons +++ b/chrome/installer/mini_installer/mini_installer.scons @@ -75,21 +75,33 @@ if env.Bit('windows'): ], ) -input_files = [ - "mini_installer.cc", - "pe_resource.cc", -] +input_files = ChromeFileList([ + # TODO(sgk): violate standard indentation so we don't have to + # reindent too much when we remove the explicit MSVSFilter() calls + # in favor of generating the hierarchy to reflect the file system. + MSVSFilter('resources', [ + 'mini_installer.ico', + 'mini_installer.rc', + 'mini_installer_exe_version.rc.version', + 'mini_installer_resource.h', + ]), + 'chrome.release', + 'mini_installer.cc', + 'mini_installer.h', + 'pe_resource.cc', + 'pe_resource.h', +]) if env.Bit('windows'): - input_files.extend([ + additional_dependencies = [ "$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/memset.obj", "$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/P4_memset.obj", - ]) - input_files.extend(resources) + ] # TODO(port): if env.Bit('windows'): - env.ChromeProgram('mini_installer', input_files) + env.ChromeProgram('mini_installer', + input_files + additional_dependencies + resources) env.AppendENVPath('PATH', r'C:\WINDOWS\system32') @@ -97,7 +109,8 @@ env.AppendENVPath('PATH', r'C:\WINDOWS\system32') # TODO(port): if env.Bit('windows'): packed = env.Command('$DESTINATION_ROOT/packed_files.txt', - ['$CHROME_DIR/tools/build/win/create_installer_archive.py', + [('$CHROME_DIR/tools/' + + 'build/win/create_installer_archive.py'), '$CHROME_DIR/installer/mini_installer/chrome.release'], ('$PYTHON ${SOURCES[0]}' ' --output_dir=${TARGET.dir}' @@ -118,66 +131,102 @@ if env.Bit('windows'): # TODO(sgk): implicit dependency should be picked up automatically env_res.Depends(resources, exe_version_rc) -env.ChromeMSVSProject('$CHROME_DIR/installer/mini_installer/mini_installer.vcproj', - dependencies = [ - '$CHROME_DIR/app/locales/et.vcproj', - '$CHROME_DIR/app/locales/pt-PT.vcproj', - '$CHROME_DIR/app/locales/fr.vcproj', - '$CHROME_DIR/app/locales/uk.vcproj', - '$CHROME_DIR/installer/setup/setup.vcproj', - '$CHROME_DIR/app/locales/th.vcproj', - '$CHROME_DIR/app/locales/hi.vcproj', - '$CHROME_DIR/app/locales/gu.vcproj', - '$CHROME_DIR/app/locales/it.vcproj', - '$CHROME_DIR/app/locales/pt-BR.vcproj', - '$CHROME_DIR/app/locales/sr.vcproj', - '$CHROME_DIR/app/locales/ko.vcproj', - '$CHROME_DIR/app/locales/en-GB.vcproj', - '$CHROME_DIR/app/locales/fil.vcproj', - '$CHROME_DIR/app/locales/ar.vcproj', - '$CHROME_DIR/app/locales/kn.vcproj', - '$CHROME_DIR/app/locales/bn.vcproj', - '$CHROME_DIR/app/locales/es.vcproj', - '$CHROME_DIR/app/locales/bg.vcproj', - '$CHROME_DIR/app/locales/nl.vcproj', - '$CHROME_DIR/app/locales/fi.vcproj', - '$CHROME_DIR/app/locales/tr.vcproj', - '$CHROME_DIR/app/locales/ta.vcproj', - '$CHROME_DIR/app/chrome_exe.vcproj', - '$CHROME_DIR/app/locales/ru.vcproj', - '$CHROME_DIR/app/locales/cs.vcproj', - '$CHROME_DIR/app/locales/lt.vcproj', - '$CHROME_DIR/app/locales/sk.vcproj', - ('$CHROME_DIR/tools/crash_service/' + - 'crash_service.vcproj'), - '$CHROME_DIR/app/locales/te.vcproj', - '$CHROME_DIR/app/locales/pl.vcproj', - '$ICU38_DIR/build/icudt.vcproj', - '$CHROME_DIR/app/locales/he.vcproj', - '$CHROME_DIR/app/locales/mr.vcproj', - '$CHROME_DIR/app/locales/da.vcproj', - '$CHROME_DIR/app/locales/lv.vcproj', - '$CHROME_DIR/app/locales/hu.vcproj', - '$CHROME_DIR/app/locales/sv.vcproj', - '$CHROME_DIR/app/locales/ja.vcproj', - '$CHROME_DIR/app/locales/nb.vcproj', - '$CHROME_DIR/app/locales/de.vcproj', - '$RLZ_DIR/rlz.vcproj', - '$CHROME_DIR/app/chrome_dll.vcproj', - '$CHROME_DIR/app/locales/zh-CN.vcproj', - '$CHROME_DIR/app/locales/sl.vcproj', - '$CHROME_DIR/app/locales/ro.vcproj', - '$CHROME_DIR/app/locales/ml.vcproj', - '$CHROME_DIR/app/locales/en-US.vcproj', - '$CHROME_DIR/app/locales/hr.vcproj', - '$CHROME_DIR/app/locales/el.vcproj', - '$CHROME_DIR/app/locales/vi.vcproj', - '$CHROME_DIR/app/locales/or.vcproj', - '$BSDIFF_DIR/bsdiff.vcproj', - '$CHROME_DIR/app/locales/id.vcproj', - '$CHROME_DIR/app/locales/zh-TW.vcproj', - '$CHROME_DIR/app/locales/ca.vcproj', - '$CHROME_DIR/app/locales/es-419.vcproj', - '$CHROME_DIR/app/theme/theme_dll.vcproj', - ], - guid='{24A5AC7C-280B-4899-9153-6BA570A081E7}') +p = env.ChromeMSVSProject('mini_installer.vcproj', + dest=('$CHROME_SRC_DIR/chrome/installer/' + + 'mini_installer/mini_installer.vcproj'), + guid='{24A5AC7C-280B-4899-9153-6BA570A081E7}', + keyword='Win32Proj', + dependencies = [ + '$CHROME_DIR/app/locales/et.vcproj', + '$CHROME_DIR/app/locales/pt-PT.vcproj', + '$CHROME_DIR/app/locales/fr.vcproj', + '$CHROME_DIR/app/locales/uk.vcproj', + '$CHROME_DIR/installer/setup/setup.vcproj', + '$CHROME_DIR/app/locales/th.vcproj', + '$CHROME_DIR/app/locales/hi.vcproj', + '$CHROME_DIR/app/locales/gu.vcproj', + '$CHROME_DIR/app/locales/it.vcproj', + '$CHROME_DIR/app/locales/pt-BR.vcproj', + '$CHROME_DIR/app/locales/sr.vcproj', + '$CHROME_DIR/app/locales/ko.vcproj', + '$CHROME_DIR/app/locales/en-GB.vcproj', + '$CHROME_DIR/app/locales/fil.vcproj', + '$CHROME_DIR/app/locales/ar.vcproj', + '$CHROME_DIR/app/locales/kn.vcproj', + '$CHROME_DIR/app/locales/bn.vcproj', + '$CHROME_DIR/app/locales/es.vcproj', + '$CHROME_DIR/app/locales/bg.vcproj', + '$CHROME_DIR/app/locales/nl.vcproj', + '$CHROME_DIR/app/locales/fi.vcproj', + '$CHROME_DIR/app/locales/tr.vcproj', + '$CHROME_DIR/app/locales/ta.vcproj', + '$CHROME_DIR/app/chrome_exe.vcproj', + '$CHROME_DIR/app/locales/ru.vcproj', + '$CHROME_DIR/app/locales/cs.vcproj', + '$CHROME_DIR/app/locales/lt.vcproj', + '$CHROME_DIR/app/locales/sk.vcproj', + ('$CHROME_DIR/tools/crash_service/' + + 'crash_service.vcproj'), + '$CHROME_DIR/app/locales/te.vcproj', + '$CHROME_DIR/app/locales/pl.vcproj', + '$ICU38_DIR/build/icudt.vcproj', + '$CHROME_DIR/app/locales/he.vcproj', + '$CHROME_DIR/app/locales/mr.vcproj', + '$CHROME_DIR/app/locales/da.vcproj', + '$CHROME_DIR/app/locales/lv.vcproj', + '$CHROME_DIR/app/locales/hu.vcproj', + '$CHROME_DIR/app/locales/sv.vcproj', + '$CHROME_DIR/app/locales/ja.vcproj', + '$CHROME_DIR/app/locales/nb.vcproj', + '$CHROME_DIR/app/locales/de.vcproj', + '$RLZ_DIR/rlz.vcproj', + '$CHROME_DIR/app/chrome_dll.vcproj', + '$CHROME_DIR/app/locales/zh-CN.vcproj', + '$CHROME_DIR/app/locales/sl.vcproj', + '$CHROME_DIR/app/locales/ro.vcproj', + '$CHROME_DIR/app/locales/ml.vcproj', + '$CHROME_DIR/app/locales/en-US.vcproj', + '$CHROME_DIR/app/locales/hr.vcproj', + '$CHROME_DIR/app/locales/el.vcproj', + '$CHROME_DIR/app/locales/vi.vcproj', + '$CHROME_DIR/app/locales/or.vcproj', + '$BSDIFF_DIR/bsdiff.vcproj', + '$CHROME_DIR/app/locales/id.vcproj', + '$CHROME_DIR/app/locales/zh-TW.vcproj', + '$CHROME_DIR/app/locales/ca.vcproj', + '$CHROME_DIR/app/locales/es-419.vcproj', + '$CHROME_DIR/app/theme/theme_dll.vcproj', + ], + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + relative_path_prefix='./', + tools=[ + MSVSTool('create installer archive', + LastChromeInstaller='$(LAST_CHROME_INSTALLER)', + LastChromeVersion='$(LAST_CHROME_VERSION)', + SkipRebuildArchive='$(SKIP_REBUILD_CHROME_ARCHIVE)' + ), + 'Version', + 'VCCLCompilerTool', + 'VCResourceCompilerTool', + 'VCLinkerTool', + 'VCManifestTool', + ], + ConfigurationType='1') + +p.AddToolFile('$CHROME_DIR/tools/build/win/release.rules') +p.AddToolFile('$CHROME_DIR/tools/build/win/version.rules') + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + './mini_installer_debug.vsprops', + '$(SolutionDir)../testing/using_gtest.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + './mini_installer_release.vsprops', + '$(SolutionDir)../testing/using_gtest.vsprops', + ]) diff --git a/chrome/installer/setup/setup.scons b/chrome/installer/setup/setup.scons index aa500eb..260d0e6 100644 --- a/chrome/installer/setup/setup.scons +++ b/chrome/installer/setup/setup.scons @@ -72,35 +72,76 @@ if env.Bit('windows'): ], ) - -input_files = [ +input_files = ChromeFileList([ + # TODO(sgk): violate standard indentation so we don't have to + # reindent too much when we remove the explicit MSVSFilter() calls + # in favor of generating the hierarchy to reflect the file system. + MSVSFilter('resources', [ + 'setup.ico', + 'setup.rc', + 'setup_exe_version.rc.version', + 'setup_resource.h', + ]), 'install.cc', 'main.cc', 'setup.cc', + 'setup.h', 'setup_constants.cc', + 'setup_constants.h', 'uninstall.cc', -] + 'uninstall.h', +]) # TODO(port): if env.Bit('windows'): - env.ChromeProgram('setup', resources + input_files) - -env.ChromeMSVSProject('$CHROME_DIR/installer/setup/setup.vcproj', - dependencies = [ - '$BASE_DIR/build/base.vcproj', - '$CHROME_DIR/common/common.vcproj', - '$ICU38_DIR/build/icu.vcproj', - '$LZMA_SDK_DIR/7z_C.vcproj', - '$BSPATCH_DIR/bspatch.vcproj', - '$CHROME_DIR/installer/util/util.vcproj', - ], - guid='{21C76E6E-8B38-44D6-8148-B589C13B9554}') + env.ChromeProgram('setup', resources + input_files[1:]) + +p = env.ChromeMSVSProject('setup.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'installer/setup/setup.vcproj'), + guid='{21C76E6E-8B38-44D6-8148-B589C13B9554}', + keyword='Win32Proj', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$CHROME_DIR/common/common.vcproj', + '$ICU38_DIR/build/icu.vcproj', + '$LZMA_SDK_DIR/7z_C.vcproj', + '$BSPATCH_DIR/bspatch.vcproj', + '$CHROME_DIR/installer/util/util.vcproj', + ], + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + relative_path_prefix='./', + tools=[ + 'Version', + 'VCCLCompilerTool', + 'VCResourceCompilerTool', + 'VCLinkerTool', + 'VCManifestTool', + ], + ConfigurationType='1') + +p.AddToolFile('$CHROME_DIR/tools/build/win/version.rules') + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + './setup_debug.vsprops', + '$(SolutionDir)installer/util/using_util.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + './setup_release.vsprops', + '$(SolutionDir)installer/util/using_util.vsprops', + ]) # TODO(port): if env.Bit('windows'): exe_version_rc = env.ChromeVersionRC('setup_exe_version.rc', - 'setup_exe_version.rc.version', - PWD = env.Dir('.')) + 'setup_exe_version.rc.version', + PWD = env.Dir('.')) # TODO(sgk): implicit dependency should be picked up automatically env_res.Depends(resources, exe_version_rc) diff --git a/chrome/installer/util/installer_unittests.scons b/chrome/installer/util/installer_unittests.scons index 1e9dd9a..f5e4b1f 100644 --- a/chrome/installer/util/installer_unittests.scons +++ b/chrome/installer/util/installer_unittests.scons @@ -51,20 +51,86 @@ if env.Bit('windows'): ], ) -input_files = [ - '../setup/setup_constants$OBJSUFFIX', +input_files = ChromeFileList([ + # TODO(sgk): violate standard indentation so we don't have to + # reindent too much when we remove the explicit MSVSFilter() calls + # in favor of generating the hierarchy to reflect the file system. + MSVSFilter('support', [ + 'run_all_unittests.cc', + ]), + MSVSFilter('tests', [ 'copy_tree_work_item_unittest.cc', 'create_dir_work_item_unittest.cc', 'create_reg_key_work_item_unittest.cc', 'delete_reg_value_work_item_unittest.cc', 'delete_tree_work_item_unittest.cc', - 'google_chrome_distribution_unittest.cc', 'helper_unittest.cc', - 'run_all_unittests.cc', + 'google_chrome_distribution_unittest.cc', 'set_reg_value_work_item_unittest.cc', + '../setup/setup_constants$OBJSUFFIX', 'work_item_list_unittest.cc', -] + ]), +]) + # TODO(port): if env.Bit('windows'): env.ChromeTestProgram('installer_unittests', input_files) + +p = env.ChromeMSVSProject('installer_unittests.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'installer/util/installer_unittests.vcproj'), + guid='{903F8C1E-537A-4C9E-97BE-075147CBE769}', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$CHROME_DIR/common/common.vcproj', + '$ICU38_DIR/build/icu.vcproj', + '$TESTING_DIR/gtest.vcproj', + '$CHROME_DIR/installer/util/util.vcproj', + ], + # 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', + MSVSTool('VCManifestTool', + AdditionalManifestFiles=( + '$(SolutionDir)installer/' + + 'mini_installer/' + + 'mini_installer.exe.manifest')), + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='1') + + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + '$(SolutionDir)/tools/build/win/unit_test.vsprops', + '$(SolutionDir)../testing/using_gtest.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + '$(SolutionDir)/tools/build/win/unit_test.vsprops', + '$(SolutionDir)../testing/using_gtest.vsprops', + ]) diff --git a/chrome/installer/util/util.scons b/chrome/installer/util/util.scons index 6932f23..69e39d1 100644 --- a/chrome/installer/util/util.scons +++ b/chrome/installer/util/util.scons @@ -26,42 +26,115 @@ env.Prepend( ], ) -input_files = [ +input_files = ChromeFileList([ 'browser_distribution.cc', + 'browser_distribution.h', 'copy_tree_work_item.cc', + 'copy_tree_work_item.h', 'create_dir_work_item.cc', + 'create_dir_work_item.h', 'create_reg_key_work_item.cc', + 'create_reg_key_work_item.h', 'delete_reg_value_work_item.cc', + 'delete_reg_value_work_item.h', 'delete_tree_work_item.cc', + 'delete_tree_work_item.h', 'google_chrome_distribution.cc', + 'google_chrome_distribution.h', 'google_update_constants.cc', + 'google_update_constants.h', 'google_update_settings.cc', + 'google_update_settings.h', 'helper.cc', + 'helper.h', + 'html_dialog.h', 'html_dialog_impl.cc', 'install_util.cc', + 'install_util.h', 'l10n_string_util.cc', + 'l10n_string_util.h', 'logging_installer.cc', + 'logging_installer.h', 'lzma_util.cc', + 'lzma_util.h', 'master_preferences.cc', + 'master_preferences.h', 'set_reg_value_work_item.cc', + 'set_reg_value_work_item.h', 'shell_util.cc', + 'shell_util.h', 'util_constants.cc', + 'util_constants.h', 'version.cc', + 'version.h', 'work_item.cc', + 'work_item.h', 'work_item_list.cc', -] + 'work_item_list.h', +]) # TODO(port): if env.Bit('windows'): env.ChromeLibrary('util', input_files) -env.ChromeMSVSProject('$CHROME_DIR/installer/util/util.vcproj', - dependencies = [ - ('$CHROME_DIR/installer/util/prebuild/' + - 'util_prebuild.vcproj'), - ], - guid='{EFBB1436-A63F-4CD8-9E99-B89226E782EC}') +p = env.ChromeMSVSProject('util.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'installer/util/util.vcproj'), + guid='{EFBB1436-A63F-4CD8-9E99-B89226E782EC}', + dependencies = [ + ('$CHROME_DIR/installer/util/prebuild/' + + 'util_prebuild.vcproj'), + ], + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + local_directory_prefix='./', + tools=[ + 'VCPreBuildEventTool', + 'VCCustomBuildTool', + 'VCXMLDataGeneratorTool', + 'VCWebServiceProxyGeneratorTool', + 'VCMIDLTool', + 'VCCLCompilerTool', + 'VCManagedResourceCompilerTool', + 'VCResourceCompilerTool', + 'VCPreLinkEventTool', + 'VCLibrarianTool', + 'VCALinkTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='4') + + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + '$(SolutionDir)common/common.vsprops', + '$(SolutionDir)installer/util/using_util.vsprops', + '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops', + ]) +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + '$(SolutionDir)common/common.vsprops', + '$(SolutionDir)installer/util/using_util.vsprops', + '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops', + ]) + + +############################################################################## + +input_files = ChromeFileList([ + 'prebuild/create_string_rc.bat', + 'prebuild/create_string_rc.py', +]) # TODO(port): if env.Bit('windows'): @@ -76,3 +149,43 @@ if env.Bit('windows'): '$CHROME_DIR/app/generated_resources.grd'] + env.Glob('$CHROME_DIR/app/resources/*.xtb'), "$PYTHON ${SOURCES[0]} ${TARGET.dir}") + +p = env.ChromeMSVSProject('prebuild/util_prebuild.vcproj', + dest=('$CHROME_SRC_DIR/chrome/installer/' + + 'util/prebuild/util_prebuild.vcproj'), + guid='{0026A376-C4F1-4575-A1BA-578C69F07013}', + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + relative_path_prefix='./', + tools=[ + 'VCPreBuildEventTool', + MSVSTool('VCCustomBuildTool', + CommandLine=('create_string_rc.bat ' + + '$(IntDir)'), + AdditionalDependencies=( + 'create_string_rc.py;' + + '$(SolutionDir)/app/' + + 'generated_resources.grd'), + Outputs=('$(IntDir)/' + + 'installer_util_strings.rc;' + + '$(IntDir)/' + + 'installer_util_strings.h')), + 'VCMIDLTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='10') + + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + ]) |