mirror of https://github.com/ceph/ceph
63 lines
1.7 KiB
CMake
63 lines
1.7 KiB
CMake
|
Overview
|
||
|
========
|
||
|
This is a work in progress Cmake build system. Currently it builds alimited set of targets,
|
||
|
and only on Linux/posix. The goals include faster builds (see for yourself), cleaner
|
||
|
builds (no libtool), and improved portability (e.g., Windows).
|
||
|
|
||
|
Building Ceph
|
||
|
=============
|
||
|
To build out of source make an empty directory called "build" and run:
|
||
|
$ cmake [path to top level ceph-local directory]
|
||
|
|
||
|
To build in source make an empty directory called "build" and run:
|
||
|
$ cmake ..
|
||
|
|
||
|
Once the Configuring is done and the Build files have been written to the current
|
||
|
build directory run:
|
||
|
$ make
|
||
|
|
||
|
To build only certain targets type in:
|
||
|
$ make [target name]
|
||
|
|
||
|
To install, once all the targets are built run:
|
||
|
$ make install
|
||
|
|
||
|
Options
|
||
|
=======
|
||
|
There is an option to build the Rados Gateway that is defaulted to ON
|
||
|
To build without the Rados Gateway:
|
||
|
$ cmake [path to top level ceph-local directory] -DWITH_RADOSGW=OFF
|
||
|
|
||
|
To build with debugging and alternate locations for (a couple of)
|
||
|
external dependencies:
|
||
|
$ cmake -DLEVELDB_PREFIX="/opt/hyperleveldb" -DOFED_PREFIX="/opt/ofed" \
|
||
|
-DCMAKE_INSTALL_PREFIX=/opt/accelio -DCMAKE_C_FLAGS="-O0 -g3 -gdwarf-4" \
|
||
|
..
|
||
|
|
||
|
With future development efforts more options will be implemented
|
||
|
|
||
|
Targets Built
|
||
|
==============
|
||
|
ceph-mon
|
||
|
ceph-osd
|
||
|
ceph-mds
|
||
|
cephfs
|
||
|
ceph-syn
|
||
|
rados
|
||
|
radosgw (set ON as a default)
|
||
|
librados-config
|
||
|
ceph-conf
|
||
|
monmaptool
|
||
|
osdmaptool
|
||
|
crushtool
|
||
|
ceph-authtool
|
||
|
init-ceph
|
||
|
mkcephfs
|
||
|
mon_store_converter
|
||
|
ceph-fuse
|
||
|
|
||
|
Future work will be done to build more targets, check for libraries and headers more thoroughly
|
||
|
and include tests to make this build become more robust. CMake allows ceph to build onto many
|
||
|
platforms such as Windows though the shell scripts need bash/unix to run.
|
||
|
|