Skip to content

Cross-platform app runtime module for Ultralight

License

Notifications You must be signed in to change notification settings

Weyzu/AppCore

 
 

Repository files navigation

AppCore

AppCore is a cross-platform app runtime module for Ultralight that provides platform-specific window creation, events, message loops, and GPU context creation / drawing.

You should use AppCore only if you intend to build a standalone HTML-based desktop application (ala Electron).

For lower-level integration, (eg, for rendering within an existing game engine), you should instead use the lower-level Ultralight API (eg, Renderer::Create()) which grants you the ability to render Views offscreen to a pixel buffer using the CPU renderer.

For more information see our Docs.

The following GPU back-ends are used on each platform:

Platform GPU Driver
Windows Direct3D 11
macOS Metal
Linux OpenGL 3.2 (GLFW)

Downloading pre-built binaries

Pre-built binares are uploaded to the following S3 buckets every commit:

Click any of the bucket links to get an XML file listing. Download a package by appending the filename to the bucket URL.

You'll need the following:

Setting up on Windows

  1. Install Visual Studio 2019 (Free Community Edition works fine). Remember to select the C++ packages.
  2. Install Chocolatey (https://chocolatey.org).
  3. Run the following from command line:
choco install cmake ninja

Setting up on macOS

  1. Install Xcode 9.4.1 (Older versions of Xcode can be found here: https://developer.apple.com/download/more/)
  2. Install Homebrew (https://brew.sh/)
  3. Run the following from command line:
brew install cmake ninja

Setting up on Linux (Debian 9.5+)

To get everything on Linux, just type the following:

sudo apt install cmake ninja-build clang lld-4.0 libx11-dev xorg-dev libglu1-mesa-dev

Building from source

Building on Windows

To build AppCore for Windows / 64-bit:

make release x64

Building Debug on Windows

To build AppCore with debug symbols:

make full_debug x64

Building on Windows with locally-built dependencies

By default, the build scripts in this repo fetch pre-built dependencies from our servers.

To build AppCore using locally-built dependencies in the /deps folder (really only useful if you need to build against modified modules/deps):

make release x64 local

Building on macOS and Linux

To build for macOS/Linux:

./make

Build products

Build products will be in <build_dir>/out.

If your checkout is up-to-date, a 7zip release archive will also be generated in <build_dir>.

About

Cross-platform app runtime module for Ultralight

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 77.8%
  • C++ 14.6%
  • Objective-C 2.9%
  • Objective-C++ 1.2%
  • CMake 1.2%
  • HLSL 0.5%
  • Other 1.8%