Difference between revisions of "Compile from source"

From Fcitx
Jump to navigation Jump to search
Line 7: Line 7:
 
* gtk3 (gtk2 input method module)
 
* gtk3 (gtk2 input method module)
 
* qt4 (qt4 input method module)
 
* qt4 (qt4 input method module)
* libxrender ([[Classic UI]])
+
* libxrender ([[ClassicUI|Classic UI]])
* cairo ([[Classic UI]])
+
* cairo ([[ClassicUI|Classic UI]])
* pango ([[Classic UI]])
+
* pango ([[ClassicUI|Classic UI]])
 
* dbus (all im module, [[Kimpanel]])
 
* dbus (all im module, [[Kimpanel]])
 
* dbus-glib (gtk im module)
 
* dbus-glib (gtk im module)

Revision as of 11:56, 9 March 2012

In general, fcitx largely use cmake as its build system, and create many of macro with cmake to help build.

Fcitx Dependency

  • C compiler (both GCC and Clang are tested)
  • C++ compiler (both G++ and CLang++)
  • 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)
  • intltool

If you want to browse specific package name for a distro, please check Dependency of Fcitx

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
   cmake .. [CMake options]
   make
   sudo make install


For Other Fcitx component, you'd better use

   cd /path/to/source
   mkdir build
   cmake .. -DCMAKE_INSTALL_PREFIX=`fcitx4-config --prefix`
   make
   sudo make install

See also