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.