1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
Basics:
-------
To compile the core or the plug-ins, just copy-paste these lines into a terminal (assuming you are in the main directory of the core/plug-ins):
-------------------------------------------------
cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
-------------------------------------------------
Notes:
------
Install the dock first, and then compile the plug-ins. For more details, have a look at this webpage: http://www.glx-dock.org/ww_page.php?p=By%20compiling&lang=en
If you choose to install in another folder than /usr, you must specify the same prefix for both core and plug-ins (and specify this folder in LD_LIBRARY_PATH and PKG_CONFIG_PATH).
You can launch 'cmake' and 'make' commands from another directory, it's maybe cleaner:
-------------------------------------------------
mkdir build/
cd build/
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
-------------------------------------------------
For 64bits (x86_64) architectures, the libraries are installed in a 'lib64' directory by default but it seems it can be a problem for some distributions (e.g.: ArchLinux). If you have a problem by launching Cairo-Dock, you can compile it (core and its plug-ins) with the flag "FORCE_NOT_LIB64":
$ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_NOT_LIB64=yes
You can also force another prefix for this librairy directory with "LIB_SUFFIX" flag, e.g. for 'lib32' directory:
$ cmake CMakeLists.txt -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=32
Plug-ins are compiled all at once, but you can skip some of them. Unstable plug-ins are skipped by default, unless you add "-Denable-xxx=yes", where xxx is the name of the plug-in.
See the "Applets.stable" file in the "plug-ins" folder for an exhaustive list of stable applets (that are effectively integrated into the official package).
Some CMake flags:
* Core and plug-ins:
-Dforce-icon-in-menus=OFF to not force the display of icons in GtkMenus created by the dock
* Core:
-Denable-desktop-manager=ON to add 'Cairo-Dock Session' which will use 'gnome-session' to launch a session with GNOME, Compiz and Cairo-Dock
* Plug-ins:
All applets/plugins which need extras dependences can be disabled by using: -Denabled-xxx=OFF where 'xxx' is the name of the plug-in ; e.g. -Denable-gmenu=OFF
Notes: it's not a good idea to do that when creating packages for a distribution. You can find all these flags by launching this command:
$ grep enable_if_not_defined cairo-dock-plug-ins/CMakeLists.txt
Notes to packagers/maintainers:
-------------------------------
You can use these CMake flags to install some files in other directories:
CMAKE_INSTALL_BINDIR (default: 'bin')
CMAKE_INSTALL_LIBDIR (default: 'lib' or 'lib64' on Debian 64bit distributions or forks)
CMAKE_INSTALL_INCLUDEDIR (default: 'include')
CMAKE_INSTALL_DATAROOTDIR (default: 'share')
CMAKE_INSTALL_DATADIR (default: DATAROOTDIR)
CMAKE_INSTALL_LOCALEDIR (default: DATAROOTDIR'/locale')
CMAKE_INSTALL_MANDIR (default: DATAROOTDIR'/man')
Note that cairo-dock-plug-ins project needs the same version as the core.
We advice to create a few packages:
* cairo-dock: a meta-package to install cairo-dock-core, cairo-dock-plug-ins, cairo-dock-plug-ins-integration and cairo-dock-plug-ins-dbus-interface-python
* cairo-dock-core: with the binary (usr/bin)
* cairo-dock-data: with common files (usr/share)
* libgldiX: with the .so file (lib/libgldiX.so.*)
* libgldi-dev: files needed to compile the plug-ins (usr/include, usr/lib/pkgconfig, usr/lib/libgldiX.so)
* cairo-dock-plug-ins: with binaries files (usr/lib/cairo-dock/libcd-*.so)
* cairo-dock-plug-ins-data: with common files (usr/share/locale, usr/share/cairo-dock, usr/lib/cairo-dock/*(!.so))
* cairo-dock-plug-ins-integration: these files do NOT require any dependences, these plugins are automatically enabled if you're using gnome/kde/xfce. Note that it will try to use gvfs by default. (usr/lib/cairo-dock/libcd_*.so)
* cairo-dock-plug-ins-dbus-interface-mono: with files of the mono interface (needed to launch 'third-party' applets made in Mono) (usr/lib/cli/cairo-dock-plug-ins/CDApplet*.dll)
* cairo-dock-plug-ins-dbus-interface-python: with files of the Python interface (needed to launch 'third-party' applets made in Python) (usr/lib/python*/dist-packages/*.py)
* cairo-dock-plug-ins-dbus-interface-ruby: with files of the Ruby interface (needed to launch 'third-party' applets made in Ruby) (usr/lib/ruby*)
* cairo-dock-plug-ins-dbus-interface-vala: with files of the Vala interface (needed to launch 'third-party' applets made in Vala) (usr/lib/libCDApplet.so,usr/lib/pkgconfig/CDApplet.pc, usr/share/vala*)
About the Python interface, this CMake flag is needed to install files in another directory: -DROOT_PREFIX=/PATH/TO/YOUR/DIR
About the Cairo-Dock session, it uses gnome-session (>= 3.0) and this CMake flag is needed (for cairo-dock-core): -Denable-desktop-manager=yes
We are maintaining Ubuntu packages: https://launchpad.net/~cairo-dock-team/+archive/ppa/+packages
Feel free to have a look at the debian directory to have a few examples.
And don't hesitate to report any bugs and ideas and to propose patches ;)
If you like this project:
-------------------------
There are various ways to help us ;)
http://glx-dock.org/ww_page.php?p=How%20to%20help%20us&lang=en
Notes to developers:
--------------------
This project is mostly coded in C but applets can be coded in various languages (Python, Ruby, Vala, Mono, Bash, etc.)
Please have a look at this webpage for more details: http://glx-dock.org/ww_page.php?p=Documentation&lang=en
To build the Cairo-Dock documentation, use the generate-doc.sh script in the 'doc' directory of the core.
Thanks for using Cairo-Dock, hope you will enjoy it ! ^_^
Website: http://glx-dock.org/
Project: https://launchpad.net/cairo-dock
Wiki: http://wiki.glx-dock.org/
Forum: http://forum.glx-dock.org/
Screenshots: http://pics.glx-dock.org/
Documentation: http://doc.glx-dock.org/
API DBus: http://dbus.glx-dock.org/
Applets extras: http://extras.glx-dock.org/
Identi.ca: http://identi.ca/cairodock
Twitter: http://twitter.com/cairodock
Google +: https://plus.google.com/106693551620606700380/
Flattr: https://flattr.com/thing/370779/Support-Cairo-Dock-development
Paypal & How to help us: http://glx-dock.org/ww_page.php?p=How%20to%20help%20us&lang=en
|