hamncheese/build-n2n.sh

52 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
# Build n2n.
BUILDROOT=${PWD}
mkdir -p bin
function buildn2n() {
TRIPLE=$1
SUFFIX=$2
TOOLCHAIN=${BUILDROOT}/cmake/${TRIPLE}.cmake
pushd n2n/thirdparty/libnatpmp
sed -i 's/Iphlpapi/iphlpapi/g' CMakeLists.txt
[[ -d build ]] && rm -rf build
mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} ..
make
popd
pushd n2n/thirdparty/miniupnp/miniupnpc
[[ -d build ]] && rm -rf build
mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} ..
make
popd
pushd n2n
cd include
ln -f -s ../../N2Nconfig.h config.h
cd ..
ln -f -s ../N2NCMakeLists.txt CMakeLists.txt
[[ -d build ]] && rm -rf build
mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} ..
make
upx -9 edge${SUFFIX}
upx -9 supernode${SUFFIX}
mv edge${SUFFIX} ../../bin/${TRIPLE}-edge${SUFFIX}
mv supernode${SUFFIX} ../../bin/${TRIPLE}-supernode${SUFFIX}
popd
}
buildn2n "x86_64-linux-gnu"
buildn2n "x86_64-w64-mingw32" ".exe"