「ビルド方法」の版間の差分

提供: KiCad.jp Wiki
ナビゲーションに移動 検索に移動
(→‎Mac OSX: 新しいwxWidgetsと開発環境に合わせたパッチを作成)
 
(同じ利用者による、間の18版が非表示)
1行目: 1行目:
==Windows==
==Windows==
===依存ライブラリ[http://wxwidgets.org/ wxWidgets]のビルド===
===依存ライブラリ[http://wxpython.org/ wxPython]のVC++によるビルド(BZR3257以降)===
wxPythonはVC++か,次の章で説明しているMSYSかのどちらかでビルドすれば良い.<br>
KiCadにPythonスクリプトによるプラグイン機能が追加されたので、これからはこちらのライブラリを使用する。<br>
wxWidgets 2.9.4.1を,VC++2010 Express Editionにてビルド.<br>
wxPythonの公式Webページから直接ダウンロードできるのは[http://sourceforge.net/projects/wxpython/files/wxPython/2.9.4.0/wxPython-src-2.9.4.0.tar.bz2/download 2.9.4.0]だが、SourceForgeにはincludeファイル指定のミスを直した2.9.4.1の[http://sourceforge.net/projects/wxpython/files/wxPython/2.9.4.0/wxPython-src-2.9.4.1.patch/download パッチファイル]が存在する。<br>
wxWidgetsを展開後,include/wx/msw/setup0.h内のwxUSE_STLマクロを1に設定する.<br>
また、build/tools/build-wxwidgets.pyとwxPython/build-wxpython.py,wxPython/config.pyを開き、getVisCVersion関数を<br>
<pre>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'</pre>
のように修正。<br>
build/mxw/config.vcを開いて、BUILDをreleaseに。DEBUG関連をすべて0(使用しない)に変更。<br>
VC付属のコマンドラインから,wxPython内で,<br>
<pre>python build-wxpython.py --unicode</pre>
include/platform.hの154行目を#include "wx/msw/setup.h"とごまかしてみたり。<br>
<!-- <br>
wxrcもビルドしなければならない.<br>
wxPythonのビルドに続けて,VC付属のコマンドラインからutils/wxrc内で
<pre>nmake BUILD=release LIBTYPE_SUFFIX=dll COMPILER_PREFIX=vc10 -f makefile.vc</pre> -->
 
===依存ライブラリ[http://wxpython.org/ wxPython]のMSYSによるビルド===
wxPythonはMSYSか,前の章で説明しているVC++かのどちらかでビルドすれば良い.<br>
wxPythonのソースをダウンロードして展開.<br>
ビルド用にbldディレクトリを作って,その中でconfigureする.
<pre>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</pre>
終わったら,makeとmake install.かなりの時間がかかるので,寝る前にやったり,この間に食事に行ったりすると良い.複数コアのマシンを持っている人は,make -j8とかすること.<br>
<br>
$PYTHON_HOME/Lib/distutils/cygwinccompiler.py を開いて,"-mno-cygwin"を全て削除.Vista以降だと,管理者権限で開いたエディタでないと編集できない箇所にあるので,注意すること.<br>
<pre>python setup.py COMPILER=mingw32 WX_CONFIG="bash.exe -e /opt/wx/2.9/bin/wx-config" build_ext --inplace</pre>
 
===依存ライブラリ[http://wxwidgets.org/ wxWidgets]のビルド(BZR3256以前)===
KiCadは2.9.3以上のwxWidgetsでないといけないので,StableリリースではなくDevelopmentリリースを使うところに注意!<br>
KiCadは2.9.3以上のwxWidgetsでないといけないので,StableリリースではなくDevelopmentリリースを使うところに注意!<br>
wxWidgets 2.9.3を,VC++2010 Express Editionにてビルド.<br>
wxWidgets 2.9.3を,VC++2010 Express Editionにてビルド.<br>
6行目: 59行目:
wxWidgetsを展開後,include/wx/msw/setup.h内のwxUSE_STLマクロを1に設定する.<br>
wxWidgetsを展開後,include/wx/msw/setup.h内のwxUSE_STLマクロを1に設定する.<br>
VC付属のコマンドラインから,build/msw内で,<br>
VC付属のコマンドラインから,build/msw内で,<br>
nmake BUILD=release SHARED=0 USE_OPENGL=1 UNICODE=1 -f makefile.vc<br>
<pre>nmake BUILD=release SHARED=0 USE_OPENGL=1 UNICODE=1 -f makefile.vc</pre>
MONOLITHIC=1 にすると,案の定,KiCadのCMakeで通らない.
MONOLITHIC=1 にすると,案の定,KiCadのCMakeで通らない.


21行目: 74行目:
BZR3256ソースを,VC++2010 Express Editionにてビルド.<br>
BZR3256ソースを,VC++2010 Express Editionにてビルド.<br>
CMakeで,wxUSE_UNICODEとKICAD_STABLE_VERSIOINにチェック.<br>
CMakeで,wxUSE_UNICODEとKICAD_STABLE_VERSIOINにチェック.<br>
Pythonプラグインの機能をONにしたければ,KICAD_SCRIPTINGとKICAD_SCRIPTING_WXPYTHONもチェックしておく.KICAD_SCRIPTING_MODULESのオプションは,Pythonを独立してインストールしている人向け.<br>
CMakeで,CMAKE_INSTALL_PREFIXをpackaging/windowsにしておく.<br>
CMakeで,CMAKE_INSTALL_PREFIXをpackaging/windowsにしておく.<br>
必要があれば,common/build_versioin.cpp 内でKICAD_BUILD_VERSIONのパラメータを変更.<br>
必要があれば,common/build_version.cpp 内でKICAD_BUILD_VERSIONのパラメータを変更.<br>
生成されたソリューションファイルで,Releaseビルド.
生成されたソリューションファイルで,Releaseビルド.


35行目: 89行目:
#mkdir build-release<br>
#mkdir build-release<br>
#cd build-release<br>
#cd build-release<br>
#../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 CXXFLAGS=-DMAC_OS_X_VERSION_MAX_ALLOWED=1080<br>
#../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"<br>
#make<br>
#make<br>
#cd ../..<br>
#cd ../..<br>
43行目: 97行目:
#mkdir build-xcode<br>
#mkdir build-xcode<br>
#cd build-xcode<br>
#cd build-xcode<br>
#cmake -DwxWidgets_CONFIG_EXECUTABLE=$PWD/../../wxWidgets/build-release/wx-config -DwxWidgets_wxrc_EXECUTABLE=$PWD/../../wxWidgets/build-release/utils/wxrc/wxrc -DKICAD_TESTING_VERSION=ON -DCMAKE_CXX_FLAGS=-D__ASSERTMACROS__ -G 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
#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のビルドが通らない.<br/>
 Build for Archivingしたあと,ターゲットをinstallに変えて,再度ビルドすることで,packaging/mac-osxディレクトリ内に必要なファイルがそろう.<br/>
 docについても,installのターゲットを同ディレクトリに設定し(CMake),インストールすることで合体.<br/>
===パッケージ化===
 packaging-mac-osx内のosx-package.pmdocをPaclageMaker(OSX10.8からは,Auxiliary Tools for XCodeとしてXcodeから分割されてしまったので,Mac Dev Centerからダウンロード)で開く.<br/>
 ビルドすればパッケージの完成.

2012年12月26日 (水) 18:55時点における最新版

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からダウンロード)で開く.
 ビルドすればパッケージの完成.