ビルド方法
Windows
依存ライブラリwxPythonのビルド(BZR3257以降)
KiCadにPythonスクリプトによるプラグイン機能が追加されたので、これからはこちらのライブラリを使用する。
wxWidgets 2.9.4.1を,VC++2010 Express Editionにてビルド.
wxPythonの公式Webページから直接ダウンロードできるのは2.9.4.0だが、SourceForgeにはincludeファイル指定のミスを直した2.9.4.1のパッチファイルが存在する。
wxWidgetsを展開後,include/wx/msw/setup0.h内のwxUSE_STLマクロを1に設定する.
また、build/tools/build-wxwidgets.pyとwxPython/build-wxpython.py,wxPython/config.pyを開き、getVisCVersion関数を
def getVisCVersion(): text = getoutput("cl.exe") if 'Version 15' in text: return '9' elif 'Version 16' in text: return '10' # TODO: Add more tests to get the other versions... else: return 'FIXME'
のように修正。
build/mxw/config.vcを開いて、BUILDをreleaseに。DEBUG関連をすべて0(使用しない)に変更。
VC付属のコマンドラインから,wxPython内で,
python build-wxpython.py --unicode
include/platform.hの154行目を#include "wx/msw/setup.h"とごまかしてみたり。
依存ライブラリwxWidgetsのビルド(BZR3256以前)
KiCadは2.9.3以上のwxWidgetsでないといけないので,StableリリースではなくDevelopmentリリースを使うところに注意!
wxWidgets 2.9.3を,VC++2010 Express Editionにてビルド.
参考:Jazz++ MIDI Sequencer
wxWidgetsを展開後,include/wx/msw/setup.h内のwxUSE_STLマクロを1に設定する.
VC付属のコマンドラインから,build/msw内で,
nmake BUILD=release SHARED=0 USE_OPENGL=1 UNICODE=1 -f makefile.vc
MONOLITHIC=1 にすると,案の定,KiCadのCMakeで通らない.
画像リソースのコード化
KiCad内で使用されているアイコン等の画像部品はビルド時にコード化されている必要があるが,それらはバージョン管理からは外されている.そのため,KiCad本体のビルド前に画像ファイルからコード化しておく必要がある.
- ImagaMagick (パスも通すこと)
- zlib (msys では mingw-get install libz でインストール可能)
- libpng
- icoutils
- Incskape (パスも通すこと)
以上のライブラリを事前にインストールしておく.CygwinかMSYSの環境を作っておくこと推奨.
KiCadのビルド
BZR3256ソースを,VC++2010 Express Editionにてビルド.
CMakeで,wxUSE_UNICODEとKICAD_STABLE_VERSIOINにチェック.
Pythonプラグインの機能をONにしたければ,KICAD_SCRIPTINGとKICAD_SCRIPTING_WXPYTHONもチェックしておく.KICAD_SCRIPTING_MODULESのオプションは,Pythonを独立してインストールしている人向け.
CMakeで,CMAKE_INSTALL_PREFIXをpackaging/windowsにしておく.
必要があれば,common/build_version.cpp 内でKICAD_BUILD_VERSIONのパラメータを変更.
生成されたソリューションファイルで,Releaseビルド.
Linux
Mac OSX
- git clone git://gist.github.com/3605799.git
- svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets
- cd wxWidgets
- patch -p0 <../3605799/wxWidgets-kicad-overlay.patch
- patch -p0 <../3605799/wxWidgets-magnify-macosx.patch
- mkdir build-release
- cd build-release
- ../configure --enable-release --enable-unicode=yes --disable-shared --enable-monolithic --with-opengl --with-expat=builtin --enable-aui --with-osx_cocoa --enable-universal-binary=i386,x86_64 --with-macosx-version-min=10.5 --prefix=$PWD/../build-release CFLAGS="-DMAC_OS_X_VERSION_MAX_ALLOWED=1080 -DNDEBUG" CXXFLAGS="-DMAC_OS_X_VERSION_MAX_ALLOWED=1080 -DNDEBUG"
- make
- cd ../..
- bzr branch lp:kicad
- cd kicad
- patch -p0 <../3605799/kicad-macosx.patch
- mkdir build-xcode
- cd build-xcode
- cmake -DwxWidgets_CONFIG_EXECUTABLE=$PWD/../../wxWidgets/build-release/wx-config -DwxWidgets_wxrc_EXECUTABLE=$PWD/../../wxWidgets/build-release/utils/wxrc/wxrc -DKICAD_STABLE_VERSION=ON -DCMAKE_CXX_FLAGS=-D__ASSERTMACROS__ -DwxUSE_UNICODE=ON -DCMAKE_INSTALL_PREFIX=$PWD/../packaging/mac-osx -G Xcode ..
- open -a Xcode kicad.xcodeproj
Xcodeでは,各プロジェクトのOS X Deployment TargetをOS X 10.5に設定.また,Compiler for C/C++/Objective-CをLLVM GCC 4.2に設定する.LLVM GCC 4.0だと,EeSchemaのビルドが通らない.
Build for Archivingしたあと,ターゲットをinstallに変えて,再度ビルドすることで,packaging/mac-osxディレクトリ内に必要なファイルがそろう.
docについても,installのターゲットを同ディレクトリに設定し(CMake),インストールすることで合体.
パッケージ化
packaging-mac-osx内のosx-package.pmdocをPaclageMaker(OSX10.8からは,Auxiliary Tools for XCodeとしてXcodeから分割されてしまったので,Mac Dev Centerからダウンロード)で開く.
ビルドすればパッケージの完成.