Template for LVGL web simulator project with EEZ Studio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
2.0 KiB

2 years ago
# Emscripten port
**LVGL ported to Emscripten to be converted to JavaScript**
The result looks like this https://lvgl.io/demos
# How to get started
## Install SDL
Downlad [SDL](https://www.libsdl.org/) (a graphics library to ope na window and handle the mouse). On Linux:
1. Find the current version of SDL2: `apt-cache search libsdl2 (e.g. libsdl2-2.0-0)`
2. Install SDL2: `sudo apt-get install libsdl2-2.0-0` (replace with the found version)
3. Install SDL2 development package: `sudo apt-get install libsdl2-dev`
4. If build essentials are not installed yet: `sudo apt-get install build-essential`
## Install Emscripten SDK
Download the [Emscripten SDK](https://kripken.github.io/emscripten-site/) and make sure it is in your PATH.
1. `git clone https://github.com/emscripten-core/emsdk.git`
2. `cd <path-to-emsdk>`
3. `git pull`
4. `./emsdk install latest`
5. `./emsdk activate latest`
6. `source ./emsdk_env.sh`
More info here: https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html
## Get the Emscripten-LVGL project
1. Be sure you ran `. <path-to-emsdk>/emsdk_env.sh` to add EMSDK to `PATH`
2. In any directoy: `git clone --recurse-submodules https://github.com/mvladic/lv_web_emscripten.git`
3. `cd <path-to-emscripten>`
4. `mkdir build`
5. `cd build`
6. `emcmake cmake ..`
7. `emmake make -j4`
5. A file called `index.html` will be generated. Run this in your browser.
### Build options (environment variables)
* `LVGL_CHOSEN_DEMO` can be set to the desired demo name so that you don't need to change any C files. This is useful to compile many demos in bulk using a script.
Example `emcmake cmake .. -DLVGL_CHOSEN_DEMO=lv_demo_widgets`
### Known issue with Google Chrome browser
Chrome can't open the generated html file offline. It works if you copy the files to a server. Use Firefox or other browser for offline testing.
### Known issue with Firefox
Firefox can't open the generated html file offline unless you go to `about:config` and change `privacy.file_unique_origin` to `false`.