Difference between revisions of "Compile from source"
Weng Xuetian (talk | contribs) m |
Weng Xuetian (talk | contribs) |
||
Line 4: | Line 4: | ||
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. | ||
− | == | + | == General Dependency == |
+ | 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) | ||
* C++ compiler (both [[wikipedia:G++|G++]] and [[wikipedia:Clang++|CLang++]]) | * C++ compiler (both [[wikipedia:G++|G++]] and [[wikipedia:Clang++|CLang++]]) | ||
+ | * cmake | ||
+ | * intltool | ||
+ | |||
+ | === Dependency of Fcitx === | ||
* gtk2 (gtk2 input method module) | * gtk2 (gtk2 input method module) | ||
* gtk3 (gtk2 input method module) | * gtk3 (gtk2 input method module) | ||
Line 16: | Line 21: | ||
* dbus-glib (gtk im module) | * dbus-glib (gtk im module) | ||
* [http://code.google.com/p/opencc opencc] (Better Simp-Trad Chinese Conversion for [[Special:myLanguage/Chttrans|Chttrans]]) | * [http://code.google.com/p/opencc opencc] (Better Simp-Trad Chinese Conversion for [[Special:myLanguage/Chttrans|Chttrans]]) | ||
− | |||
== Compile Option == | == Compile Option == |
Revision as of 01:37, 22 March 2012
In general, fcitx and its component largely uses cmake as its build system, and create many of macro with cmake to help build.
General Dependency
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)
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
- 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 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