ビルド方法

提供: KiCad.jp Wiki
ナビゲーションに移動 検索に移動

Windows

依存ライブラリwxPythonのVC++によるビルド(BZR3257以降)

wxPythonはVC++か,次の章で説明しているMSYSかのどちらかでビルドすれば良い.
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"とごまかしてみたり。

依存ライブラリwxPythonのMSYSによるビルド

wxPythonはMSYSか,前の章で説明しているVC++かのどちらかでビルドすれば良い.
wxPythonのソースをダウンロードして展開.
ビルド用にbldディレクトリを作って,その中でconfigureする.

cd $WXDIR
mkdir bld
cd bld

../configure \
    --with-msw \
    --build=i686-pc-mingw32 \
    --prefix=/opt/wx/2.9 \
    --enable-unicode \
    --enable-geometry \
    --enable-display \
    --disable-shared \
    --with-expat=builtin \
    --with-regex=builtin \
    --with-zlib=builtin \
    --enable-optimise \
    --enable-stl \
    --with-opengl

終わったら,makeとmake install.かなりの時間がかかるので,寝る前にやったり,この間に食事に行ったりすると良い.複数コアのマシンを持っている人は,make -j8とかすること.

$PYTHON_HOME/Lib/distutils/cygwinccompiler.py を開いて,"-mno-cygwin"を全て削除.Vista以降だと,管理者権限で開いたエディタでないと編集できない箇所にあるので,注意すること.

python setup.py COMPILER=mingw32 WX_CONFIG="bash.exe -e /opt/wx/2.9/bin/wx-config" build_ext --inplace

依存ライブラリ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本体のビルド前に画像ファイルからコード化しておく必要がある.

  1. ImagaMagick (パスも通すこと)
  2. zlib (msys では mingw-get install libz でインストール可能)
  3. libpng
  4. icoutils
  5. 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

参考:ShareBrained Technology

  1. git clone git://gist.github.com/3605799.git
  2. svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets
  3. cd wxWidgets
  4. patch -p0 <../3605799/wxWidgets-kicad-overlay.patch
  5. patch -p0 <../3605799/wxWidgets-magnify-macosx.patch
  6. mkdir build-release
  7. cd build-release
  8. ../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"
  9. make
  10. cd ../..
  11. bzr branch lp:kicad
  12. cd kicad
  13. patch -p0 <../3605799/kicad-macosx.patch
  14. mkdir build-xcode
  15. cd build-xcode
  16. 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 ..
  17. 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からダウンロード)で開く.
 ビルドすればパッケージの完成.