Difference between revisions of "Compile from source"
Weng Xuetian (talk | contribs) |
Weng Xuetian (talk | contribs) (Marked this version for translation) |
||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
<translate> | <translate> | ||
− | == Grab the source == | + | == Grab the source == <!--T:1--> |
You can always get the stable code from [http://code.google.com/p/fcitx/downloads/], if you wish to use development version, you need to install '''git''' and take a look at http://code.google.com/p/fcitx/source/checkout and http://github.com/fcitx/. | You can always get the stable code from [http://code.google.com/p/fcitx/downloads/], if you wish to use development version, you need to install '''git''' and take a look at http://code.google.com/p/fcitx/source/checkout and http://github.com/fcitx/. | ||
− | == General Dependency == | + | == General Dependency == <!--T:2--> |
In general, fcitx and its component largely uses cmake as its build system, and create many of macro with cmake to help build. | In general, fcitx and its component largely uses cmake as its build system, and create many of macro with cmake to help build. | ||
+ | <!--T:3--> | ||
This section means, it's the most common dependency among all Fcitx related package, though some of them might not depend on these. | This section means, it's the most common dependency among all Fcitx related package, though some of them might not depend on these. | ||
* C compiler (both [[wikipedia:GNU_Compiler_Collection|GCC]] and [[wikipedia:Clang|Clang]] are tested) | * C compiler (both [[wikipedia:GNU_Compiler_Collection|GCC]] and [[wikipedia:Clang|Clang]] are tested) | ||
Line 14: | Line 15: | ||
* make | * make | ||
− | === Dependency of Fcitx === | + | === Dependency of Fcitx === <!--T:4--> |
* gtk2 (gtk2 input method module) | * gtk2 (gtk2 input method module) | ||
* gtk3 (gtk2 input method module) | * gtk3 (gtk2 input method module) | ||
Line 30: | Line 31: | ||
* gobject-introspection | * gobject-introspection | ||
+ | <!--T:5--> | ||
If you want to see the specific package name on different distribution, please check [[Special:myLanguage/Fcitx Complie Dependencies|Fcitx Complie Dependencies]] | If you want to see the specific package name on different distribution, please check [[Special:myLanguage/Fcitx Complie Dependencies|Fcitx Complie Dependencies]] | ||
− | == Compile Option == | + | == Compile Option == <!--T:6--> |
All compile option start with -D, following only include option name. | All compile option start with -D, following only include option name. | ||
− | === CMake General option === | + | === CMake General option === <!--T:7--> |
* CMAKE_INSTALL_PREFIX (Directory to install) | * CMAKE_INSTALL_PREFIX (Directory to install) | ||
* CMAKE_BUILD_TYPE (Debug, Release, RelWithDbgInfo) | * CMAKE_BUILD_TYPE (Debug, Release, RelWithDbgInfo) | ||
− | === Fcitx option === | + | === Fcitx option === <!--T:8--> |
+ | <!--T:9--> | ||
All ENABLE option is boolean value, can be set with On or Off. For default value, please check CMakeLists.txt. | All ENABLE option is boolean value, can be set with On or Off. For default value, please check CMakeLists.txt. | ||
+ | <!--T:10--> | ||
* ENABLE_GTK2_IM_MODULE | * ENABLE_GTK2_IM_MODULE | ||
* ENABLE_GTK3_IM_MODULE | * ENABLE_GTK3_IM_MODULE | ||
Line 61: | Line 65: | ||
* LIB_INSTALL_DIR (By default is prefix/lib, useful when want to install under /usr/lib64 or other directory) | * LIB_INSTALL_DIR (By default is prefix/lib, useful when want to install under /usr/lib64 or other directory) | ||
− | == General command == | + | == General command == <!--T:11--> |
+ | <!--T:12--> | ||
All cmake based Fcitx component can be compiled in following way. | All cmake based Fcitx component can be compiled in following way. | ||
− | cd /path/to/source | + | <!--T:13--> |
+ | cd /path/to/source | ||
mkdir build | mkdir build | ||
cd build | cd build | ||
Line 73: | Line 79: | ||
+ | <!--T:14--> | ||
For example, build Fcitx with all im module, and install to /usr. | For example, build Fcitx with all im module, and install to /usr. | ||
cd /path/to/source | cd /path/to/source | ||
Line 81: | Line 88: | ||
sudo make install | sudo make install | ||
+ | <!--T:15--> | ||
For Other Fcitx component, you'd better use | For Other Fcitx component, you'd better use | ||
− | cd /path/to/source | + | <!--T:16--> |
+ | cd /path/to/source | ||
mkdir build | mkdir build | ||
cd build | cd build | ||
Line 90: | Line 99: | ||
sudo make install | sudo make install | ||
− | == Use non standard path to install == | + | == Use non standard path to install == <!--T:17--> |
It's not recommend to use non standard path, but if you have special need, you need following environment variable to make things work. | It's not recommend to use non standard path, but if you have special need, you need following environment variable to make things work. | ||
+ | <!--T:18--> | ||
Say you install Fcitx at /opt/fcitx, and the library directory is /opt/fcitx/lib, then you need following environment variable. | Say you install Fcitx at /opt/fcitx, and the library directory is /opt/fcitx/lib, then you need following environment variable. | ||
− | export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/fcitx/lib/pkgconfig | + | <!--T:19--> |
+ | export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/fcitx/lib/pkgconfig | ||
export PATH=$PATH:/opt/fcitx/bin | export PATH=$PATH:/opt/fcitx/bin | ||
export CMAKE_PREFIX_PATH=/opt/fcitx | export CMAKE_PREFIX_PATH=/opt/fcitx | ||
− | == See also == | + | == See also == <!--T:20--> |
* [[Special:myLanguage/Make a portable Fcitx|Make a portable Fcitx]] | * [[Special:myLanguage/Make a portable Fcitx|Make a portable Fcitx]] | ||
* [http://www.cmake.org/Wiki/ CMake wiki] | * [http://www.cmake.org/Wiki/ CMake wiki] | ||
+ | <!--T:21--> | ||
[[Category:Compile]] | [[Category:Compile]] | ||
</translate> | </translate> |
Revision as of 04:54, 21 October 2012
Grab the source
You can always get the stable code from [1], if you wish to use development version, you need to install git and take a look at http://code.google.com/p/fcitx/source/checkout and http://github.com/fcitx/.
General Dependency
In general, fcitx and its component largely uses cmake as its build system, and create many of macro with cmake to help build.
This section means, it's the most common dependency among all Fcitx related package, though some of them might not depend on these.
Dependency of Fcitx
- gtk2 (gtk2 input method module)
- gtk3 (gtk2 input method module)
- qt4 (qt4 input method module)
- libxrender (Classic UI)
- cairo (Classic UI)
- pango (Classic UI)
- dbus (all im module, Kimpanel)
- dbus-glib (gtk im module)
- opencc (Better Simp-Trad Chinese Conversion for Chttrans)
- enchant (Keyboard keyboard word hint)
- presage (Keyboard better English word hint)
- libxkbfile
- icu
- gobject-introspection
If you want to see the specific package name on different distribution, please check Fcitx Complie Dependencies
Compile Option
All compile option start with -D, following only include option name.
CMake General option
- CMAKE_INSTALL_PREFIX (Directory to install)
- CMAKE_BUILD_TYPE (Debug, Release, RelWithDbgInfo)
Fcitx option
All ENABLE option is boolean value, can be set with On or Off. For default value, please check CMakeLists.txt.
- ENABLE_GTK2_IM_MODULE
- ENABLE_GTK3_IM_MODULE
- ENABLE_QT_IM_MODULE
- ENABLE_CAIRO
- ENABLE_PANGO
- ENABLE_DBUS
- ENABLE_DEBUG
- ENABLE_TABLE
- ENABLE_OPENCC
- ENABLE_STATIC
- ENABLE_TEST
- ENABLE_SNOOPER
- ENABLE_GIR
- ENABLE_ENCHANT
- ENABLE_PRESAGE
- NO_SNOOPER_APPS (Comma separated regex string)
- LIB_INSTALL_DIR (By default is prefix/lib, useful when want to install under /usr/lib64 or other directory)
General command
All cmake based Fcitx component can be compiled in following way.
cd /path/to/source mkdir build cd build cmake .. [CMake options] make sudo make install
For example, build Fcitx with all im module, and install to /usr.
cd /path/to/source mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_GTK3_IM_MODULE=On -DENABLE_QT_IM_MODULE=On make sudo make install
For Other Fcitx component, you'd better use
cd /path/to/source mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=`fcitx4-config --prefix` make sudo make install
Use non standard path to install
It's not recommend to use non standard path, but if you have special need, you need following environment variable to make things work.
Say you install Fcitx at /opt/fcitx, and the library directory is /opt/fcitx/lib, then you need following environment variable.
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/fcitx/lib/pkgconfig export PATH=$PATH:/opt/fcitx/bin export CMAKE_PREFIX_PATH=/opt/fcitx