ceph/README.cmake
Ali Maredia 0f6b9f2816 Combined CMake Build for Hammer
CMake Ceph Build System (Firefly)
CMake.  Add tests.
Respace src/CMakeLists.txt.
CMake.  Spacing cleanups.
CMake for Firefly is Triumphant
CMake for Giant
Adapt to Giant.
Fix installation for scripts and man pages
Fix CEPH_LIBDIR and CEPH_PKGLIBDIR defines
Add erasure-code libraries
	uses try_compile() to detect support for -msse flags
Fix rados object classes
Propagate Casey's cls library change to src/test.
Fix CMake build for Hammer.
Try-add rados and common to librbd link.
Fix name and linkage of libec_lrc.
Rename arch/neon.c arm.c
Fix libcommon.a dependencies (some unit tests).

Authors:
	Ali Maredia <ali@cohortfs.com>
	Casey Bodley <casey@cohortfs.com>
	Adam Emerson <aemerson@cohortfs.com>
	Marcus Watts <mdw@cohortfs.com>
	Matt Benjamin <matt@cohortfs.com>

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
2015-01-14 16:40:05 -05:00

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.