Merge pull request #698 from cjcliffe/travis-ci

Travis-CI Build Script
This commit is contained in:
Charles J. Cliffe 2019-01-08 01:04:53 -05:00 committed by GitHub
commit 9961531620
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 68 additions and 11 deletions

13
.travis.yml Normal file
View File

@ -0,0 +1,13 @@
dist: trusty
language: cpp
addons:
apt:
packages:
- libpulse-dev
- libgtk-3-dev
- freeglut3
- freeglut3-dev
script: bash travis-ci/build.sh
cache:
directories:
- /home/travis/build/wxWidgets/staticlib

View File

@ -1,11 +1,12 @@
CubicSDR
CubicSDR ![Image Travis-CI Status](https://travis-ci.org/cjcliffe/CubicSDR.svg?branch=master)
========
Cross-Platform Software-Defined Radio Application
- Please see the [CubicSDR GitHub Wiki](https://github.com/cjcliffe/CubicSDR/wiki) for build instructions.
- Manual is available (work-in-progress) at [cubicsdr.readthedocs.io](http://cubicsdr.readthedocs.io).
- See also the current [CubicSDR Releases](https://github.com/cjcliffe/CubicSDR/releases) page for available binaries.
- The latest downloads are available on the [CubicSDR Releases](https://github.com/cjcliffe/CubicSDR/releases) page.
- Build instructions can be found at the [CubicSDR Wiki](https://github.com/cjcliffe/CubicSDR/wiki) page.
- Manual is available at [cubicsdr.readthedocs.io](http://cubicsdr.readthedocs.io).
- Manual contributions can be submitted to the [CubicSDR-Manual](https://github.com/cjcliffe/CubicSDR-Manual) repository.
Utilizes:
--------
@ -24,11 +25,6 @@ Optional Libs:
- FFTW3 (can be compiled into liquid-dsp if desired) (http://www.fftw.org/ -- https://github.com/FFTW/fftw3)
- hamlib (https://github.com/Hamlib/Hamlib)
Features and Status:
--------------------
- Please see the issues on GitHub or visit https://github.com/cjcliffe/CubicSDR/wiki/CubicSDR-Roadmap-and-Ideas for more information.
- A manual is in development at https://github.com/cjcliffe/CubicSDR/issues/248 if you would like to contribute.
Recommended minimum requirements:
--------------------
- Multi-core processor system with at least 1GB RAM.
@ -36,14 +32,12 @@ Recommended minimum requirements:
- OSX 10.9+ for Mac binary releases.
- Windows 7+ for 64 or 32-bit Windows binary releases.
- Linux and other embedded distribution support yet to be indexed, known to at least work on Debian 8+ and Ubuntu 14+.
- Raspberry Pi2 support is being experimented with; earlier versions of CubicSDR known to work with Banana Pi.
Target Platforms:
----------------
- [x] OSX
- [x] Windows
- [x] Linux
- [ ] HTML5
License:

50
travis-ci/build.sh Normal file
View File

@ -0,0 +1,50 @@
# Liquid-DSP
cd $HOME/build
mkdir jgaeddert/
cd jgaeddert/
git clone https://github.com/jgaeddert/liquid-dsp.git
cd liquid-dsp/
./bootstrap.sh
echo "Configuring liquid-dsp.."
./configure > /dev/null
echo "Building liquid-dsp.."
make -j2 > /dev/null
sudo make install
# Soapy SDR
cd $HOME/build
mkdir pothosware/
cd pothosware/
git clone https://github.com/pothosware/SoapySDR.git
mkdir SoapySDR-build
cd SoapySDR-build
cmake ../SoapySDR -DCMAKE_BUILD_TYPE=Release
echo "Building SoapySDR.."
make -j2 > /dev/null
sudo make install
# wxWidgets
if [ ! -f "$HOME/build/wxWidgets/staticlib/bin/wx-config" ]; then
echo "wxWidgets cache not found; building."
cd $HOME/build
mkdir -p $HOME/build/wxWidgets/staticlib
cd wxWidgets
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.2/wxWidgets-3.1.2.tar.bz2
echo "Unpacking wxWidgets.."
tar -xvjf wxWidgets-3.1.2.tar.bz2 > /dev/null
cd wxWidgets-3.1.2/
./autogen.sh
./configure --with-opengl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webkit --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x"
echo "Building wxWidgets.."
make -j2
make install
fi
# CubicSDR
cd $HOME/build
mkdir cjcliffe/CubicSDR-build
cd cjcliffe/CubicSDR-build
cmake ../CubicSDR -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=$HOME/build/wxWidgets/staticlib/bin/wx-config
make -j2