GithubHelp home page GithubHelp logo

gordonsmith / cef-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chromiumembedded/cef-project

0.0 3.0 0.0 252 KB

Chromium Embedded Framework (CEF) sample project official mirror.

Home Page: https://bitbucket.org/chromiumembedded/cef-project

License: Other

CMake 2.28% Python 97.69% Batchfile 0.02% Shell 0.01%

cef-project's Introduction

The Chromium Embedded Framework (CEF) is a simple framework for embedding Chromium-based browsers in other applications. This repository hosts a sample project called "cef-project" that can be used as the starting point for third-party applications built using CEF.

Quick Links

Setup

First install some necessary tools and download the cef-project source code.

1. Install CMake, a cross-platform open-source build system. Version 2.8.12.1 or newer is required.

2. Install Python. Version 2.x is required. If Python is not installed to the default location you can set the PYTHON_EXECUTABLE environment variable before running CMake (watch for errors during the CMake generation step below).

3. Install platform-specific build tools.

  • Linux: Currently supported distributions include Debian Wheezy, Ubuntu Precise, and related. Ubuntu 14.04 64-bit is recommended. Newer versions will likely also work but may not have been tested. Required packages include: build-essential, libgtk2.0-dev, libgtkglext1-dev.
  • macOS: Xcode 6 or newer building on macOS 10.9 (Mavericks) or newer is required. Xcode 8.3 and macOS 10.12 (Sierra) are recommended. The Xcode command-line tools must also be installed. Only 64-bit builds are supported on macOS.
  • Windows: Visual Studio 2013 or newer building on Windows 7 or newer is required. Visual Studio 2017 and Windows 10 64-bit are recommended.

4. Download the cef-project source code from the Downloads page or by using Git command-line tools:

git clone https://bitbucket.org/chromiumembedded/cef-project.git

Build

Now run CMake which will download the CEF binary distribution from the Spotify automated builder and generate build files for your platform. Then build using platform build tools. For example, using the most recent tool versions on each platform:

cd /path/to/cef-project

# Create and enter the build directory.
mkdir build
cd build

# To perform a Linux build using a 32-bit CEF binary distribution on a 32-bit
# Linux platform or a 64-bit CEF binary distribution on a 64-bit Linux platform:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make -j4

# To perform a macOS build using a 64-bit CEF binary distribution:
cmake -G "Xcode" ..
# Then, open build\cef.xcodeproj in Xcode and select Product > Build.

# To perform a Windows build using a 32-bit CEF binary distribution:
cmake -G "Visual Studio 15" ..
# Then, open build\cef.sln in Visual Studio 2017 and select Build > Build Solution.

# To perform a Windows build using a 64-bit CEF binary distribution:
cmake -G "Visual Studio 15 Win64" ..
# Then, open build\cef.sln in Visual Studio 2017 and select Build > Build Solution.

CMake supports different generators on each platform. Run cmake --help to list all supported generators. Generators that have been tested with CEF include:

  • Linux: Ninja, Unix Makefiles
  • macOS: Ninja, Xcode 6+
  • Windows: Ninja, Visual Studio 2013+

Ninja is a cross-platform open-source tool for running fast builds using pre-installed platform toolchains (GNU, clang, Xcode or MSVC). See comments in the "third_party/cef/cef_binary_*/CMakeLists.txt" file for Ninja usage instructions.

Examples

CEF provides a number of examples that you can use as a starting point or reference for your own CEF-based development.

  • By default all example targets will be included in the project files generated using CMake.
  • The CEF binary distribution includes cefsimple and cefclient sample applications.
    • The cefsimple application demonstrates the minimal implementation required for a standalone executable target and is described on the Tutorial Wiki page.
    • The cefclient application demonstrates a wide range of CEF functionality most of which is documented on the GeneralUsage Wiki page.
  • The examples directory contains example targets that demonstrate specific aspects of CEF functionality.
    • See the examples README.md file for information about the examples targets.
    • Add -DWITH_EXAMPLES=Off to the cmake command-line if you do not wish to build the examples targets.

Next Steps

Here are some activities you might want to try next to gain a better understanding of CEF:

1. Update the CEF version used to build your local copy of cef-project:

  • Visit the Spotify automated builder page to see what CEF versions are available.
  • Change the "CEF_VERSION" value near the top of the top-level CMakeLists.txt file.
  • Re-run the cmake and build commands. Add -DWITH_EXAMPLES=Off to the cmake command-line to disable targets from the examples directory because they may not build successfully with the new CEF version.

2. Add your own project source code:

  • Create a new "myproject" directory in the root cef-project directory (e.g. "/path/to/cef-project/myproject").
  • Copy the contents of the "third_party/cef/cef_binary_*/cefsimple" directory to "myproject" as a starting point.
  • Add a new add_subdirectory(myproject) command near the end of top-level CMakeLists.txt file after the existing add_subdirectory commands.
  • Change the "CEF_TARGET" and "CEF_HELPER_TARGET" values in "myproject/CMakeLists.txt" from "cefsimple" to "myproject".
  • (Windows only) Rename the "cefclient.exe.manifest" file to "myproject.exe.manifest" in both "myproject/CMakeLists.txt" and the "myproject" directory.
  • Re-run the cmake and build commands.

3. Gain a better understanding of the cefsimple application by reading the Tutorial Wiki page.

4. Fork the cef-project repository using Bitbucket and Git to store the source code for your own CEF-based project. See the ContributingWithGit Wiki page for details (replace all instances of "cef" with "cef-project" in those instructions).

5. Review the GeneralUsage Wiki page for additional details on CEF implementation and usage.

Support and Contributions

If you have any questions about CEF or cef-project please ask on the CEF Forum. If you would like to make contributions please see the "Helping Out" section of the CEF Main Page.

cef-project's People

Contributors

magreenblatt avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.