Skip to content

Compiling

Shuanglei Tao edited this page Feb 27, 2023 · 15 revisions

Dependencies

ImPlay depends on the following external libraries:

  • glfw
  • libmpv
  • freetype2

Cmake Options

  • USE_OPENGL_ES3: Compile with OpenGL ES 3.0 loader
  • USE_PATCHED_GLFW: Compile glfw with patches for features that not suppored by upstream yet (requires dependencies to be installed)
  • USE_MPV_WIN_BUILD: Windows only, Use Prebuilt static mpv dlls on from mpv-winbuild-cmake
  • USE_XDG_PORTAL: Linux only, Use xdg-desktop-portal for file dialogs (requires dbus-1 dev package to be installed)
  • CREATE_PACKAGE: Create binary packages with CPack

Linux

Ubuntu
sudo apt-get install -y build-essential cmake git pkg-config \
    libgtk-3-dev libglfw3-dev libfreetype6-dev libmpv-dev
git clone https://github.com/tsl0922/ImPlay.git
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE ..
cmake --build .
cmake --install .

macOS

Install Homebrew, and run:

brew install cmake git mpv freetype2 pkg-config
git clone https://github.com/tsl0922/ImPlay.git
mkdir build && cd build
export PKG_CONFIG_PATH=/usr/local/opt/libarchive/lib/pkgconfig
cmake -DCMAKE_BUILD_TYPE=RELEASE -DUSE_PATCHED_GLFW=ON -DCREATE_PACKAGE=ON ..
cmake --build . --target package

This will build a DMG file.

Windows

Install msys2, and open the MSYS2 MINGW64 shell:

pacman -S base-devel git p7zip mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-freetype
git clone https://github.com/tsl0922/ImPlay.git
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DUSE_PATCHED_GLFW=ON -DUSE_OPENGL_ES3=ON -DCREATE_PACKAGE=ON ..
cmake --build . --target package

This will build a MSI installer and a portable ZIP.

Clone this wiki locally