add script to build KiCad on Ubuntu/Debian/Mint linux
This commit is contained in:
parent
25a1277247
commit
1eab1f7a88
|
@ -0,0 +1,129 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Install KiCad from source onto a Ubuntu/Debian/Mint compatible linux system.
|
||||||
|
# The "installing pre-requisites" step is the only "distro dependent" one. Could modify
|
||||||
|
# that step for other linux distros probably.
|
||||||
|
|
||||||
|
|
||||||
|
# Set where the 3 source trees will go
|
||||||
|
WORKING_TREES=~/kicad_sources
|
||||||
|
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo ""
|
||||||
|
echo " usage:"
|
||||||
|
echo ""
|
||||||
|
echo "./kicad-install.sh <cmd>"
|
||||||
|
echo " where <cmd> is one of:"
|
||||||
|
echo " --install-or-update (does full installation or update.)"
|
||||||
|
echo " --remove-sources (removes source trees for another attempt.)"
|
||||||
|
echo ""
|
||||||
|
echo "example:"
|
||||||
|
echo ' $ ./kicad-install.sh --install-or-update'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
install_or_update()
|
||||||
|
{
|
||||||
|
echo "step 1) installing pre-requisites"
|
||||||
|
sudo apt-get install \
|
||||||
|
bzr \
|
||||||
|
bzrtools \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
cmake-curses-gui \
|
||||||
|
debhelper \
|
||||||
|
doxygen \
|
||||||
|
libssl-dev \
|
||||||
|
libwxgtk2.8-dev
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 2) make $WORKING_TREES if it does not exist"
|
||||||
|
if [ ! -d "$WORKING_TREES" ]; then
|
||||||
|
sudo mkdir -p "$WORKING_TREES"
|
||||||
|
echo " mark $WORKING_TREES as owned by me"
|
||||||
|
sudo chown -R `whoami` "$WORKING_TREES"
|
||||||
|
fi
|
||||||
|
cd $WORKING_TREES
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 3) checking out the source code from launchpad repo..."
|
||||||
|
if [ ! -d "$WORKING_TREES/kicad.bzr" ]; then
|
||||||
|
bzr checkout lp:kicad kicad.bzr
|
||||||
|
echo " source repo to local working tree."
|
||||||
|
else
|
||||||
|
cd kicad.bzr
|
||||||
|
bzr up
|
||||||
|
echo " local source working tree updated."
|
||||||
|
cd ../
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 4) checking out the libraries from launchpad repo..."
|
||||||
|
if [ ! -d "$WORKING_TREES/kicad-lib.bzr" ]; then
|
||||||
|
bzr checkout lp:~kicad-lib-committers/kicad/library kicad-lib.bzr
|
||||||
|
echo ' kicad-lib just checked out.'
|
||||||
|
else
|
||||||
|
cd kicad-lib.bzr
|
||||||
|
bzr up
|
||||||
|
echo ' kicad-lib repo just updated.'
|
||||||
|
cd ../
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "step 5) checking out the documentation from launchpad repo..."
|
||||||
|
if [ ! -d "$WORKING_TREES/kicad-doc.bzr" ]; then
|
||||||
|
bzr checkout lp:~kicad-developers/kicad/doc kicad-doc.bzr
|
||||||
|
echo " docs checked out."
|
||||||
|
else
|
||||||
|
cd kicad-doc.bzr
|
||||||
|
bzr up
|
||||||
|
echo " docs working tree updated."
|
||||||
|
cd ../
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 6) compiling source code..."
|
||||||
|
cd kicad.bzr
|
||||||
|
rm -rf build && mkdir build && cd build
|
||||||
|
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DUSE_FP_LIB_TABLE \
|
||||||
|
-DBUILD_GITHUB_PLUGIN \
|
||||||
|
../
|
||||||
|
make
|
||||||
|
echo " kicad compiled."
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 7) installing KiCad program files..."
|
||||||
|
sudo make install
|
||||||
|
echo " kicad installed."
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 8) installing libraries..."
|
||||||
|
cd ../../kicad-lib.bzr
|
||||||
|
rm -rf build && mkdir build && cd build
|
||||||
|
cmake ../
|
||||||
|
sudo make install
|
||||||
|
echo " kicad-lib installed."
|
||||||
|
|
||||||
|
|
||||||
|
echo "step 9) installing documentation..."
|
||||||
|
cd ../../kicad-doc.bzr
|
||||||
|
rm -rf build && mkdir build && cd build
|
||||||
|
cmake ../
|
||||||
|
sudo make install
|
||||||
|
echo " kicad-doc.bzr installed."
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ $# -eq 1 -a "$1" == "--remove-sources" ]; then
|
||||||
|
# run this only once, kills .config & makes dirs
|
||||||
|
rm -rf "$WORKING_TREES"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -eq 1 -a "$1" == "--install-or-update" ]; then
|
||||||
|
install_or_update
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
usage
|
Loading…
Reference in New Issue