「ビルド方法」の版間の差分
(→Windows: 画像リソースのコード化について追記) |
|||
(同じ利用者による、間の23版が非表示) | |||
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< | <pre>nmake BUILD=release SHARED=0 USE_OPENGL=1 UNICODE=1 -f makefile.vc</pre> | ||
MONOLITHIC=1 にすると,案の定,KiCadのCMakeで通らない. | MONOLITHIC=1 にすると,案の定,KiCadのCMakeで通らない. | ||
===画像リソースのコード化=== | ===画像リソースのコード化=== | ||
KiCad内で使用されているアイコン等の画像部品はビルド時にコード化されている必要があるが,それらはバージョン管理からは外されている.そのため,KiCad本体のビルド前に画像ファイルからコード化しておく必要がある. | |||
#[http://www.imagemagick.org/script/index.php ImagaMagick] (パスも通すこと) | #[http://www.imagemagick.org/script/index.php ImagaMagick] (パスも通すこと) | ||
#zlib (msys では mingw-get install libz でインストール可能) | #zlib (msys では mingw-get install libz でインストール可能) | ||
16行目: | 69行目: | ||
#[http://www.nongnu.org/icoutils/ icoutils] | #[http://www.nongnu.org/icoutils/ icoutils] | ||
#[http://inkscape.org/ Incskape] (パスも通すこと) | #[http://inkscape.org/ Incskape] (パスも通すこと) | ||
以上のライブラリを事前にインストールしておく.CygwinかMSYSの環境を作っておくこと推奨. | |||
===KiCadのビルド=== | ===KiCadのビルド=== | ||
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/ | 必要があれば,common/build_version.cpp 内でKICAD_BUILD_VERSIONのパラメータを変更.<br> | ||
生成されたソリューションファイルで,Releaseビルド. | 生成されたソリューションファイルで,Releaseビルド. | ||
28行目: | 82行目: | ||
==Mac OSX== | ==Mac OSX== | ||
参考:[http://www.sharebrained.com/2012/05/21/patching-and-building-kicad-on-mac-os-x-lion/ ShareBrained Technology]<br> | 参考:[http://www.sharebrained.com/2012/05/21/patching-and-building-kicad-on-mac-os-x-lion/ ShareBrained Technology]<br> | ||
#git clone git://gist.github.com/ | #git clone git://gist.github.com/3605799.git<br> | ||
#svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets<br> | #svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets<br> | ||
#cd wxWidgets<br> | #cd wxWidgets<br> | ||
#patch -p0 <../ | #patch -p0 <../3605799/wxWidgets-kicad-overlay.patch<br> | ||
#patch -p0 <../ | #patch -p0 <../3605799/wxWidgets-magnify-macosx.patch<br> | ||
#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. | #../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> | ||
#bzr branch lp:kicad<br> | #bzr branch lp:kicad<br> | ||
#cd kicad<br> | #cd kicad<br> | ||
#patch -p0 <../ | #patch -p0 <../3605799/kicad-macosx.patch<br> | ||
#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_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のビルドが通らない.<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本体のビルド前に画像ファイルからコード化しておく必要がある.
- 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からダウンロード)で開く.
ビルドすればパッケージの完成.