| 
									
										
										
										
											2020-04-26 14:39:35 -04:00
										 |  |  | # 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: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-19 09:52:00 -04:00
										 |  |  | sudo apt install build-essential git automake cmake clang gfortran libfftw3-dev git libgfortran5 libusb-1.0-0-dev autoconf libtool texinfo qt5-default qtmultimedia5-dev libqt5multimedia5-plugins libqt5serialport5-dev libudev-dev pkg-config | 
					
						
							| 
									
										
										
										
											2020-04-26 14:39:35 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #### 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 |