mirror of
https://github.com/ceph/ceph
synced 2024-12-24 12:24:19 +00:00
0f6b9f2816
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>
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.
|
|
|