diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..5af5c49 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,34 @@ +version: 2.1 +jobs: + build: + docker: + - image: cimg/base:current-22.04 + resource_class: medium + environment: + - CACHE_DIR: ~/build/wxWidgets/staticlib + steps: + - checkout + - restore_cache: + keys: + - cache-{{ checksum ".circleci/scripts/build_wxwidgets.sh" }} + - run: + name: Install Dependencies + command: | + sudo apt-get update + sudo apt-get install -y build-essential cmake libpulse-dev libgtk-3-dev freeglut3 freeglut3-dev libhamlib-dev + - run: + name: Build wxWidgets + command: bash .circleci/scripts/build_wxwidgets.sh + - run: + name: Build LiquidDSP + command: bash .circleci/scripts/build_liquiddsp.sh + - run: + name: Build SoapySDR + command: bash .circleci/scripts/build_soapysdr.sh + - run: + name: Build CubicSDR + command: bash .circleci/scripts/build_cubicsdr.sh + - save_cache: + key: cache-{{ checksum ".circleci/scripts/build_wxwidgets.sh" }} + paths: + - ~/build/wxWidgets/staticlib diff --git a/.circleci/scripts/build_cubicsdr.sh b/.circleci/scripts/build_cubicsdr.sh new file mode 100644 index 0000000..8c724ac --- /dev/null +++ b/.circleci/scripts/build_cubicsdr.sh @@ -0,0 +1,5 @@ +# CubicSDR +mkdir -p $HOME/build/cjcliffe/CubicSDR-build +cd $HOME/build/cjcliffe/CubicSDR-build +cmake ~/project -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=$HOME/build/wxWidgets/staticlib/bin/wx-config -DUSE_HAMLIB=1 -DENABLE_DIGITAL_LAB=1 +make -j2 diff --git a/travis-ci/build_liquiddsp.sh b/.circleci/scripts/build_liquiddsp.sh similarity index 63% rename from travis-ci/build_liquiddsp.sh rename to .circleci/scripts/build_liquiddsp.sh index 12d9ef2..07cbe26 100644 --- a/travis-ci/build_liquiddsp.sh +++ b/.circleci/scripts/build_liquiddsp.sh @@ -1,11 +1,9 @@ # Liquid-DSP -cd $HOME/build - -mkdir jgaeddert/ -cd jgaeddert/ +mkdir -p $HOME/build/jgaeddert +cd $HOME/build/jgaeddert git clone https://github.com/jgaeddert/liquid-dsp.git -cd liquid-dsp/ +cd $HOME/build/jgaeddert/liquid-dsp ./bootstrap.sh echo "Configuring liquid-dsp.." @@ -13,4 +11,4 @@ echo "Configuring liquid-dsp.." echo "Building liquid-dsp.." make -j2 > /dev/null -sudo make install \ No newline at end of file +sudo make install diff --git a/.circleci/scripts/build_soapysdr.sh b/.circleci/scripts/build_soapysdr.sh new file mode 100644 index 0000000..3cc8d82 --- /dev/null +++ b/.circleci/scripts/build_soapysdr.sh @@ -0,0 +1,13 @@ +# Soapy SDR +mkdir -p $HOME/build/pothosware/SoapySDR-build + +cd $HOME/build/pothosware +git clone https://github.com/pothosware/SoapySDR.git + +cd $HOME/build/pothosware/SoapySDR-build +cmake $HOME/build/pothosware/SoapySDR -DCMAKE_BUILD_TYPE=Release + +echo "Building SoapySDR.." +make -j2 > /dev/null + +sudo make install diff --git a/travis-ci/build_wxwidgets.sh b/.circleci/scripts/build_wxwidgets.sh similarity index 90% rename from travis-ci/build_wxwidgets.sh rename to .circleci/scripts/build_wxwidgets.sh index aa5b065..c4ef42f 100644 --- a/travis-ci/build_wxwidgets.sh +++ b/.circleci/scripts/build_wxwidgets.sh @@ -8,9 +8,8 @@ fi echo "Fetch wxWidgets.." -cd $HOME/build mkdir -p $HOME/build/wxWidgets/staticlib -cd wxWidgets +cd $HOME/build/wxWidgets wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.1/wxWidgets-3.2.1.tar.bz2 > /dev/null echo "Unpacking wxWidgets.." @@ -18,15 +17,13 @@ tar -xvjf wxWidgets-3.2.1.tar.bz2 > /dev/null cd wxWidgets-3.2.1/ ./autogen.sh -if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then -./configure --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x" -fi -if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then +if [ "$(uname)" == "Linux" ]; then +./configure --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x" +elif [ "$(uname)" == "Darwin" ]; then ./configure --with-opengl --disable-glcanvasegl --disable-shared --enable-monolithic --with-libjpeg --with-libtiff --with-libpng --with-zlib --with-mac --disable-sdltest --enable-unicode --enable-display --enable-propgrid --disable-webkit --disable-webview --disable-webviewwebkit --prefix=`echo $HOME/build/wxWidgets/staticlib` CXXFLAGS="-std=c++0x" --with-libiconv=/usr fi echo "Building wxWidgets.." -make -j2 +make V=1 -j2 make install - diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c16ef30..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -os: - - linux - - osx -osx_image: xcode11.3 -dist: trusty -language: cpp -addons: - apt: - packages: - - libpulse-dev - - libgtk-3-dev - - freeglut3 - - freeglut3-dev - - libhamlib-dev -script: - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install hamlib; fi - - bash travis-ci/build_liquiddsp.sh - - bash travis-ci/build_soapysdr.sh - - bash travis-ci/build_wxwidgets.sh - - bash travis-ci/build_cubicsdr.sh -cache: - directories: - - $HOME/build/wxWidgets/staticlib diff --git a/travis-ci/build_cubicsdr.sh b/travis-ci/build_cubicsdr.sh deleted file mode 100644 index bbdbc2d..0000000 --- a/travis-ci/build_cubicsdr.sh +++ /dev/null @@ -1,7 +0,0 @@ -# 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 -DUSE_HAMLIB=1 -DENABLE_DIGITAL_LAB=1 -make -j2 - diff --git a/travis-ci/build_soapysdr.sh b/travis-ci/build_soapysdr.sh deleted file mode 100644 index 0f8b8a1..0000000 --- a/travis-ci/build_soapysdr.sh +++ /dev/null @@ -1,16 +0,0 @@ -# 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 \ No newline at end of file