The steps below correspond to the preparation of the EFL native windows compilation environment.
These steps were tested on Windows server 2019 64bit and Windows 10 64bit.
Except for topic 6 (Environment variables) that can be consulted during the process of preparing the environment, the ideal is that the steps are fulfilled in the proposed order.
Meson depends on Python, so we need to install Python first.
Go to Python website and download the latest Python installation for Windows.
When installing it, select the option to add python to environment variables so it can be used in command-line.
3.1. Install Meson using the following command on the terminal (CMD or Developer Command Prompt from Visual Studio):
> pip install --user meson
The version of meson used in this tutorial is the 0.53.2. It is possible to directly install this version with:
> pip install meson==0.53.2
To check the installed version, use
meson –version(or use
pip freezeto check all installed packages and their versions).
Check the python version installed on your Windows. In this tutorial we are using Python 3.8
3.2. At the end of the previous step, open a new terminal, type the command below and press enter:
> meson --version
The result should look like this:
If the command is not recognized, finish the environment variables step and try again. For additional help, check The meson Official documentation.
3.1. Download LLVM from LLVM's official page. The version used in this tutorial is 9.0.1.
Upon entering the corresponding section with the chosen version, a file with the following description (in this case with version 9.0.1) must be located:
LLVM-9.0.1-win64.exe. Download this file.
3.2. When installing, it is important to select at least one of the options below:
[x] Add LLVM to the system PATH for all users.
[x] Add LLVM to thr system PATH for current user.
In this tutorial, we install it in
Vcpkg is not strictly necessary, since you could install each of the dependencies separately and make sure cmake finds it, but it is a more convenient way to do so and it is supported by EFL's current build system.
To manage dependencies with vcpkg:
4.1. Follow the Vcpkg Installation Guide in Vcpkg's Github Repository. You should checkout a tag before bootstrapping like this:
c:\vcpkg-path> git checkout 2020.07
4.2. Install the following dependencies for x64 windows:
- Curl; - OpenSSL; - Freetype; - Check; - Libpng; - Libjpeg-turbo; - Zlib.
c:\vcpkg-path> vcpkg install openssl:x64-windows freetype:x64-windows check:x64-windows libpng:x64-windows zlib:x64-windows libjpeg-turbo:x64-windows curl:x64-windows
This way vcpkg will download, setup and install all of those dependencies.
Check that all dependencies were installed at
Clone the EFL Native Windows Repository repository.
CMAKE_TOOLCHAIN_FILEto point to vcpkg's toolchain file.
configure.bat uses the
vcpkg_toolchain_file environment variable to pass the toolset as parameter to CMake from Meson.
Create an environment
env.bat file in EFL's root (e.g.
C:/Users/Someone/efl/env.bat) before calling
configure.bat, containing for example (considering vcpkg is installed in
c:\efl-path> echo set vcpkg_toolchain_file=C:\vcpkg-path\scripts\buildsystems\vcpkg.cmake > env.bat
This file is run everytime by
configure.bat as a special way to set local custom environment variables.
It is necessary to add the vcpkg-installed dependencies to PATH environment variable so EFL binaries built and used in efl's build can find its dependencies.
c:\efl-path> set "PATH=%PATH%;C:\path-to-vcpkg\installed\x64-windows\debug\bin;C:\path-to-vcpkg\installed\x64-windows\bin"
Then we can configure and build and install
c:\efl-path> configure.bat --prefix=C:\efl
c:\efl-path> cd efl-prefix-path c:\efl-prefix-path> cd bin c:\efl-prefix-path\bin> .\elementary_test.exe