Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 3.19 KB

building_nymphcast_player.md

File metadata and controls

75 lines (51 loc) · 3.19 KB

NymphCast Player

This document covers how to build this software from source.

NymphCast Player (NCP) is a GUI (Qt5-based) client application that can auto-detect NymphCast Server & MediaServer instances on the local network, as well as initiate and control playback of content.

NCP allows for the playback of local media files, files shared via an NC MediaServer, or via a URL.

Dependencies

A C++17-capable GCC, or MSVC toolchain is required in addition to the below dependencies:

On Debian & derivatives:

sudo apt -y install qtbase5-dev

On Arch & derivatives:

sudo pacman -S qt5-base

Building

The project can be built with QMake or with CMake. Either way, obtain and install the NymphRPC & LibNymphCast dependencies:

  1. Check-out NymphRPC elsewhere and build the library per the provided instructions.
  2. Check-out LibNymphCast elsewhere and build the library per the provided instructions.

When building on the command line, follow one of the following sections. Otherwise both options can be loaded into any IDE like the Qt Creator IDE and built from there.

Linux and similar

CMake

  1. Download or clone the project repository
  2. Navigate to the player folder in the project files.
  3. Trigger CMake cmake -B build
  4. Build it: cmake --build build
  5. The player binary is created as build/NymphCastPlayer/nymphcast-player

QMake

  1. Download or clone the project repository
  2. Navigate to the player/NymphCastPlayer folder in the project files.
  3. Create build folder: mkdir build and enter it: cd build
  4. Trigger QMake: qmake ..
  5. Build with Make: make
  6. The player binary is created either in the same build folder or in a debug/ sub-folder.

MSVC

With MSVC 2017, 2019 or 2022:

  1. Download or clone the project repository.
  2. Ensure vcpkg is installed with the VCPKG_ROOT environment variable defined.
  3. Compile from native x64 MSVC shell using Setup-NMake-vcpkg.bat.
  4. Create InnoSetup-based installer using Setup-NMake-vcpkg.bat package with the IS root folder in the system path.

Android

Note: Poco for Android must be built using the patches provided with the alternate Poco build system for certain network functionality to function.

  1. Download or clone the project repository.
  2. Compile the dependencies (LibNymphCast, NymphRPC & Poco) for the target Android platforms.
  3. Ensure dependency libraries along with their headers are installed in the Android NDK, under <ANDROID_SDK>/ndk/<VERSION>/toolchains/llvm/prebuilt/<HOST_OS>/sysroot/usr/lib/<TARGET> where TARGET is the target Android platform (ARMv7, AArch64, x86, x86_64). Header files are placed in the accompanying usr/include folder.
  4. Open the Qt project in a Qt Creator instance which has been configured for building for Android targets, and build the project.
  5. An APK is produced, which can be loaded on any supported Android device.