forked from ceph/ceph
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.cmake
62 lines (51 loc) · 1.7 KB
/
README.cmake
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
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.