Compile from source

From Fcitx
Jump to navigation Jump to search

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