Last active
July 1, 2024 21:03
-
-
Save sultanqasim/c7997eac6683fc1bf8a5385f59c8ea04 to your computer and use it in GitHub Desktop.
Simple (non-deployable) build script for SigDigger on Mac (including Apple Silicon)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
set -eux | |
BREW_PREFIX="$(brew --prefix)" | |
CPU_COUNT="$(sysctl -n hw.ncpu)" | |
QT_PATH="${HOME}/Qt/6.7.1/macos" | |
# Homebrew dependencies | |
brew update | |
brew install volk fftw libsndfile libxml2 portaudio qt@6 | |
brew tap pothosware/homebrew-pothos | |
#brew install pothossoapy soapyairspyhf # broken build | |
brew install soapyrtlsdr soapyhackrf soapybladerf soapyairspy soapyredpitaya soapyiris soapyplutosdr limesuite | |
brew install --head soapyuhd # avoiding C++14 compilation issue, as fix hasn't yet been tagged in a release | |
# get the code | |
if [ ! -e sigutils ]; then | |
git clone -b master --recurse-submodules https://github.com/sultanqasim/sigutils.git | |
fi | |
if [ ! -e suscan ]; then | |
git clone -b master --recurse-submodules https://github.com/sultanqasim/suscan.git | |
fi | |
if [ ! -e SuWidgets ]; then | |
git clone -b develop https://github.com/sultanqasim/SuWidgets | |
fi | |
if [ ! -e SigDigger ]; then | |
git clone -b develop https://github.com/sultanqasim/SigDigger.git | |
fi | |
# prepare the deploy path | |
DEPLOYROOT="$(pwd)/deploy-root" | |
rm -rf "$DEPLOYROOT" | |
mkdir -p "$DEPLOYROOT" | |
export PKG_CONFIG_PATH="$DEPLOYROOT/usr/lib/pkgconfig" | |
DEBUG=0 | |
if [ "$DEBUG" == "1" ]; then | |
CMAKE_BUILD_TYPE="Debug" | |
QMAKE_BUILD_TYPE="debug" | |
else | |
CMAKE_BUILD_TYPE="Release" | |
QMAKE_BUILD_TYPE="release" | |
fi | |
# build the source dependencies | |
( | |
cd sigutils | |
rm -rf build | |
mkdir -p build | |
cd build | |
cmake .. -DCMAKE_INSTALL_PREFIX="$DEPLOYROOT/usr" -DCMAKE_SKIP_RPATH=ON -DCMAKE_SKIP_INSTALL_RPATH=ON -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" | |
make -j${CPU_COUNT} | |
make install | |
) | |
( | |
cd suscan | |
rm -rf build | |
mkdir -p build | |
cd build | |
cmake .. -DCMAKE_INSTALL_PREFIX="$DEPLOYROOT/usr" -DCMAKE_SKIP_RPATH=ON -DCMAKE_SKIP_INSTALL_RPATH=ON -DCMAKE_PREFIX_PATH="$DEPLOYROOT/usr" -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" | |
make -j${CPU_COUNT} | |
make install | |
) | |
( | |
cd SuWidgets | |
"${QT_PATH}/bin/qmake" SuWidgetsLib.pro PREFIX="$DEPLOYROOT/usr" "CONFIG += ${QMAKE_BUILD_TYPE}" | |
make clean | |
make -j${CPU_COUNT} | |
make install | |
) | |
# build SigDigger (not as dmg for now) | |
( | |
cd SigDigger | |
"${QT_PATH}/bin/qmake" SigDigger.pro PREFIX="$DEPLOYROOT/usr" SUWIDGETS_PREFIX="$DEPLOYROOT/usr" "CONFIG += ${QMAKE_BUILD_TYPE}" | |
make clean | |
make -j${CPU_COUNT} | |
make install | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment