100 lines
4.0 KiB
Plaintext
100 lines
4.0 KiB
Plaintext
Chromium Embedded Framework (CEF) Automation Tool
|
|
-------------------------------------------------------------------------------
|
|
|
|
Document Last Updated: October 10, 2011
|
|
|
|
|
|
OVERVIEW
|
|
--------
|
|
|
|
The CEF Automation Tool can perform the following actions in an automated manner:
|
|
|
|
1. Download/update the Chromium and CEF source code.
|
|
2. Build the CEF Debug and Release targets.
|
|
3. Create the CEF binary distribution package.
|
|
|
|
|
|
SETUP
|
|
-----
|
|
|
|
1. Install Subversion [1] and Python [2]. Make sure the bin directories for both
|
|
programs are discoverable via your system PATH configuration. On Windows
|
|
install CppDoc [3] in the default location (assumes a 64bit version of
|
|
Windows 7).
|
|
|
|
2. Install build tools. On Windows install Visual Studio 2008 or newer and all
|
|
required prerequisite software [4]. On Mac install Xcode 3.2 or newer.
|
|
|
|
3. Configure the GYP environment. On Windows set the GYP_MSVS_VERSION
|
|
environment variable to "2008" or "2010" depending on which version of Visual
|
|
Studio you're building with. On Mac Lion set the GYP_DEFINES environment
|
|
variable to 'mac_sdk=10.6'.
|
|
|
|
4. Checkout the "automate" folder to a location on your hard drive. For the
|
|
trunk version of CEF you can use the following command:
|
|
|
|
svn checkout http://chromiumembedded.googlecode.com/svn/trunk/cef3/tools/automate /path/to/automate
|
|
|
|
5. Run the automate.py script at whatever interval is appropriate (for each
|
|
CEF commit, once per day, once per week, etc):
|
|
|
|
python /path/to/automate/automate.py --download-dir=/path/to/download
|
|
|
|
|
|
HOW IT WORKS
|
|
------------
|
|
|
|
The automate.py script performs the following actions in the download directory
|
|
specified by the "--download-dir" flag. This path value must contain no spaces.
|
|
|
|
1. Retrieve the Chromium URL and revision associated with a CEF URL and
|
|
revision. A specific CEF URL and revision can be specified using the "--url"
|
|
and "--revision" flags. Otherwise, the current CEF trunk URL [7] and HEAD
|
|
revision will be used. The Chromium URL and revision are retrieved by
|
|
querying the SVN repository for a CHROMIUM_BUILD_COMPATIBILITY.txt file.
|
|
|
|
2. If a "depot_tools" folder does not already exist download depot_tools [5].
|
|
The depot_tools folder will be added to the beginning of the PATH to support
|
|
execution of the below steps.
|
|
|
|
3. If a "chromium" folder does not already exist create it and configure
|
|
gclient [6] using the Chromium URL retrieved in step 1. To force execution of
|
|
this step use the "--force-config" flag.
|
|
|
|
4. If the "--force-clean" flag is specified all Chromium changes will be
|
|
reverted, all unversioned files including the CEF folder will be deleted and
|
|
steps 6-10 will be triggered automatically.
|
|
|
|
5. If both Chromium and CEF are already at the correct URL and revision the
|
|
script will exit at this point. To force execution of steps 6-8 use the
|
|
"--force-update" flag. To force execution of step 9 use the "--force-build"
|
|
flag. To force execution of step 10 use the "--force-distrib" flag.
|
|
|
|
6. Use gclient [6] to update the Chromium source code to the correct revision.
|
|
|
|
7. If a "chromium/src/cef" folder does not already exist download the CEF source
|
|
code at the correct revision. Otherwise, update CEF source code to the
|
|
correct revision.
|
|
|
|
8. Run the "chromium/src/cef/cef_create_projects.[sh|bat]" script to apply CEF
|
|
patches and generate CEF project files.
|
|
|
|
9. Run the "chromium/src/cef/tools/build_projects.[sh|bat]" script twice; once
|
|
to build the Debug target and once to build the Release target.
|
|
|
|
10.Run the "chromium/src/cef/tools/make_distrib.[sh|bat]" script to build the
|
|
binary distribution package. The resulting package will be output in a
|
|
"chromium/src/cef/binary_distrib/cef_binary_rXXX_[windows|macosx]" folder.
|
|
|
|
|
|
REFERENCES
|
|
----------
|
|
|
|
[1] http://subversion.apache.org/
|
|
[2] http://www.python.org/
|
|
[3] http://www.cppdoc.com/
|
|
[4] http://dev.chromium.org/developers/how-tos/build-instructions-windows
|
|
[5] http://dev.chromium.org/developers/how-tos/depottools
|
|
[6] http://dev.chromium.org/developers/how-tos/get-the-code
|
|
[7] http://chromiumembedded.googlecode.com/svn/trunk/cef3
|