js8call/INSTALL
2020-04-26 14:39:35 -04:00

72 lines
1.8 KiB
Plaintext

# JS8Call
JS8Call is built atop the Qt framework and can be compiled on Linux, Windows, and MacOS.
## Compiling for Linux
### Get the Hamlib Source
mkdir ~/hamlib-prefix
cd ~/hamlib-prefix
git clone https://github.com/Hamlib/Hamlib.git src
### Get the JS8Call Source
mkdir ~/js8call-prefix
cd ~/js8call-prefix
git clone https://bitbucket.org/widefido/js8call.git src
### Get the Dependencies
Most Debian-based distributions make it very easy to install the required dependencies. Other distributions may require a little more effort.
JS8Call depends on:
* Qt5
* FFTW3
* Hamlib
#### 18.04 LTS:
sudo apt install build-essential git automake cmake clang gfortran libfftw3-dev git libgfortran3 libusb-1.0-dev autoconf libtool texinfo qt5-default qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libudev-dev pkg-config
#### 20.04 LTS:
sudo apt install build-essential git automake make cmake clang gfortran libfftw3-dev git libgfortran-10-dev libusb-1.0-0-dev autoconf libtool texinfo qt5-default qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libudev-dev pkg-config
### Compile Hamlib
cd ~/hamlib-prefix/src
./bootstrap
mkdir ../build
cd ../build
../src/configure --prefix=$HOME/hamlib-prefix \
--disable-shared --enable-static \
--without-cxx-binding --disable-winradio \
CFLAGS="-g -O2 -fdata-sections -ffunction-sections" \
LDFLAGS="-Wl,--gc-sections"
make
make install-strip
### Compile JS8Call
cd ~/js8call-prefix/src
mkdir ../build
cd ../build
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix -D CMAKE_INSTALL_PREFIX=~/js8call-prefix ../src
make
### Package JS8Call (.deb, .rpm, etc)
cd ~/js8call-prefix/build
cmake -D CMAKE_PREFIX_PATH=~/hamlib-prefix -D CMAKE_INSTALL_PREFIX=~/js8call-prefix ../src
make package
## Compiling for Windows
TODO
## Compiling for MacOS
TODO