FFmpeg

To build FFmpeg on Windows cross-compile it with the Windows Subsystem for Linux.

Enable the Windows Subsystem for Linux:

Start an Ubuntu shell and setup the environment:

sudo apt update
sudo apt install mingw-w64 yasm make unzip

Build FFmpeg:

./configure \
      --disable-programs \
      --disable-doc \
      --disable-bzlib \
      --disable-iconv \
      --disable-lzma \
      --enable-pic \
      --arch=x86_64 \
      --cross-prefix=x86_64-w64-mingw32- \
      --target-os=mingw32 \
      --enable-cross-compile \
      --prefix=$CMAKE_BINARY_DIR/install \
      --enable-shared
make
make install

Building

Required build tools:

Required libraries:

Open a command prompt and clone the DJV repository:

git clone https://github.com/darbyjohnston/DJV.git djv-git

Create a new directory for the build and run CMake:

mkdir djv-git-Debug
cd djv-git-Debug
cmake ..\djv-git -DCMAKE_BUILD_TYPE=Debug

Add the install path to your PATH environment variable in the Windows control panel:

$CMAKE_BINARY_DIR\install\bin

Open "DJV.sln" in Visual Studio and build the solution.

Run the confidence tests by building the RUN_TESTS target.

Packaging

cmake ..\djv-git -DCMAKE_BUILD_TYPE=Release -DDJV_BUILD_PACKAGE=TRUE
cmake ..\djv-git -DDJV_THIRD_PARTY_DISABLE_BUILD=TRUE

Create MSI and ZIP packages by building the PACKAGE target.