From caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068 Mon Sep 17 00:00:00 2001 From: "sgk@google.com" Date: Sat, 17 Jan 2009 02:25:22 +0000 Subject: 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 (, , ) 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 --- chrome/installer/util/util.scons | 129 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 121 insertions(+), 8 deletions(-) (limited to 'chrome/installer/util/util.scons') 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', + ]) -- cgit v1.1