Skip to content

Instantly share code, notes, and snippets.

@senselessDev
Last active November 14, 2015 23:13
Show Gist options
  • Select an option

  • Save senselessDev/cdc4d7ec4bd93761cf37 to your computer and use it in GitHub Desktop.

Select an option

Save senselessDev/cdc4d7ec4bd93761cf37 to your computer and use it in GitHub Desktop.
Script for compilation of current KiCad version on OS X Yosemite (10.10) with python scripting support
#! /usr/bin/env sh
KICAD_SOURCE_FOLDER=kicad
KICAD_BIN_FOLDER=kicad-bin
WX_PYTHON_SOURCE_FOLDER=wxPython
WX_PYTHON_BIN_FOLDER=wxPython-bin
OSX_VERSION=10.10
#############################################
START_DIR=`pwd`
COLOR="\033[1;34m"
STANDARDCOLOR="\033[0m"
if [ ! -d $KICAD_SOURCE_FOLDER ]
then
echo "${COLOR}Fetching KiCad sources from github.com into ${KICAD_SOURCE_FOLDER} now.${STANDARDCOLOR}"
mkdir -p $KICAD_SOURCE_FOLDER
git clone https://github.com/KiCad/kicad-source-mirror.git $KICAD_SOURCE_FOLDER
else
echo "${COLOR}KiCad sources already available. Updating them now.${STANDARDCOLOR}"
cd $KICAD_SOURCE_FOLDER
git pull
cd $START_DIR
fi
cd $KICAD_SOURCE_FOLDER
git reset --hard HEAD
patch -p1 <<< 'diff --git a/scripts/osx_build_wx.sh b/scripts/osx_build_wx.sh
index d803d4c..4ee6dd1 100755
--- a/scripts/osx_build_wx.sh
+++ b/scripts/osx_build_wx.sh
@@ -144,6 +144,7 @@ doPatch "$1" "$3/patches/wxwidgets-3.0.0_macosx_soname.patch"
doPatch "$1" "$3/patches/wxwidgets-3.0.2_macosx_retina_opengl.patch"
# patch to support pinch-to-zoom on trackpads
doPatch "$1" "$3/patches/wxwidgets-3.0.2_macosx_magnify_event.patch"
+doPatch "$1" "$3/patches/wxwidgets-3.0.2_macosx_yosemite.patch"
# configure and build wxWidgets
wxWidgets_configure "$1" "$2" "$4"'
cd $START_DIR
if [ ! -d $WX_PYTHON_SOURCE_FOLDER ]
then
echo "${COLOR}Fetching wxPython sources from github.com into ${WX_PYTHON_SOURCE_FOLDER} now.${STANDARDCOLOR}"
mkdir -p $WX_PYTHON_SOURCE_FOLDER
git clone https://github.com/wxWidgets/wxPython.git $WX_PYTHON_SOURCE_FOLDER
else
echo "${COLOR}wxPython sources already available. Updating them now.${STANDARDCOLOR}"
cd $WX_PYTHON_SOURCE_FOLDER
git pull
cd $START_DIR
fi
cd $WX_PYTHON_SOURCE_FOLDER
git fetch --tags
WX_PYTHON_LAST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $WX_PYTHON_LAST_TAG
cd $START_DIR
if [ ! -d $WX_PYTHON_BIN_FOLDER ]
then
echo "${COLOR}wxPython not built yet, building now.${STANDARDCOLOR}"
cd $WX_PYTHON_SOURCE_FOLDER/wxPython
bin/subrepos-make
cd $START_DIR
kicad/scripts/osx_build_wx.sh $WX_PYTHON_SOURCE_FOLDER $WX_PYTHON_BIN_FOLDER $KICAD_SOURCE_FOLDER $OSX_VERSION "-j8"
else
echo "${COLOR}wxPython already built, skipping.${STANDARDCOLOR}"
fi
mkdir -p $KICAD_BIN_FOLDER
cd $KICAD_BIN_FOLDER
cmake ../kicad \
-DCMAKE_C_COMPILER=`which clang` \
-DCMAKE_CXX_COMPILER=`which clang++` \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.10 \
-DwxWidgets_CONFIG_EXECUTABLE=$START_DIR/$WX_PYTHON_BIN_FOLDER/bin/wx-config \
-DPYTHON_EXECUTABLE=`which python2.7` \
-DPYTHON_SITE_PACKAGE_PATH=$START_DIR/$WX_PYTHON_BIN_FOLDER/lib/python2.7/site-packages \
-DKICAD_SCRIPTING=ON \
-DKICAD_SCRIPTING_MODULES=ON \
-DKICAD_SCRIPTING_WXPYTHON=ON \
-DOPENSSL_CRYPTO_LIBRARY=/usr/local/opt/openssl/lib/libcrypto.dylib \
-DOPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include \
-DOPENSSL_SSL_LIBRARY=/usr/local/opt/openssl/lib/libssl.dylib \
-DCMAKE_INSTALL_PREFIX=../bin \
-DCMAKE_BUILD_TYPE=Release
make -j 8
make install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment