Skip to content

Commit

Permalink
Merge pull request #10059 from tchaikov/wip-cmake
Browse files Browse the repository at this point in the history
cmake changes

Reviewed-by: Ali Maredia <amaredia@redhat.com>
  • Loading branch information
alimaredia committed Jun 30, 2016
2 parents 3d7d221 + e50460b commit 789fb17
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 18 deletions.
8 changes: 7 additions & 1 deletion CMakeLists.txt
Expand Up @@ -367,7 +367,7 @@ find_package(Threads REQUIRED)

option(WITH_SELINUX "build SELinux policy" OFF)
if(WITH_SELINUX)
find_file(SELINUX_MAKEFILE selinux/devel/include/Makefile
find_file(SELINUX_MAKEFILE selinux/devel/Makefile
PATH /usr/share)
if(NOT SELINUX_MAKEFILE)
message(FATAL_ERROR "Can't find selinux's Makefile")
Expand Down Expand Up @@ -398,3 +398,9 @@ add_subdirectory(doc)
if(WITH_MANPAGE)
add_subdirectory(man)
endif(WITH_MANPAGE)

option(WITH_SYSTEMD "install systemd target and service files" OFF)
if(WITH_SYSTEMD)
add_subdirectory(systemd)
endif()

1 change: 1 addition & 0 deletions doc/man/8/CMakeLists.txt
Expand Up @@ -61,6 +61,7 @@ if(WITH_RBD)
ceph-rbdnamer.rst
rbd-mirror.rst
rbd-nbd.rst
rbd-replay-many.rst
rbd-replay-prep.rst
rbd-replay.rst
rbdmap.rst
Expand Down
7 changes: 5 additions & 2 deletions src/CMakeLists.txt
Expand Up @@ -1327,8 +1327,11 @@ if(${WITH_RBD})
${Boost_REGEX_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
install(TARGETS rbd rbd-nbd rbd-mirror DESTINATION bin)
install(PROGRAMS ${CMAKE_SOURCE_DIR}/src/ceph-rbdnamer DESTINATION bin)
install(PROGRAMS ${CMAKE_SOURCE_DIR}/src/rbdmap DESTINATION bin)
install(PROGRAMS
${CMAKE_SOURCE_DIR}/src/ceph-rbdnamer
${CMAKE_SOURCE_DIR}/src/rbd-replay-many
${CMAKE_SOURCE_DIR}/src/rbdmap
DESTINATION ${CMAKE_INSTALL_BINDIR})
add_subdirectory(rbd_replay)
endif(${WITH_RBD})

Expand Down
30 changes: 16 additions & 14 deletions src/cls/CMakeLists.txt
@@ -1,28 +1,30 @@
## Rados object classes

set(cls_dir ${CMAKE_INSTALL_LIBDIR}/rados-classes)

# cls_hello
add_library(cls_hello SHARED hello/cls_hello.cc)
set_target_properties(cls_hello PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_hello DESTINATION lib/rados-classes)
install(TARGETS cls_hello DESTINATION ${cls_dir})

# cls_numops
add_library(cls_numops SHARED numops/cls_numops.cc)
set_target_properties(cls_numops PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_numops DESTINATION lib/rados-classes)
install(TARGETS cls_numops DESTINATION ${cls_dir})

# cls_rbd
if (WITH_RBD)
add_library(cls_rbd SHARED rbd/cls_rbd.cc rbd/cls_rbd_types.cc)
set_target_properties(cls_rbd PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_rbd DESTINATION lib/rados-classes)
install(TARGETS cls_rbd DESTINATION ${cls_dir})

add_library(cls_rbd_client STATIC rbd/cls_rbd_client.cc rbd/cls_rbd_types.cc)
endif (WITH_RBD)

# cls_lock
add_library(cls_lock SHARED lock/cls_lock.cc)
set_target_properties(cls_lock PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_lock DESTINATION lib/rados-classes)
install(TARGETS cls_lock DESTINATION ${cls_dir})

add_library(cls_lock_client STATIC
lock/cls_lock_client.cc
Expand All @@ -36,7 +38,7 @@ add_library(cls_refcount SHARED
${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
target_link_libraries(cls_refcount json_spirit)
set_target_properties(cls_refcount PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_refcount DESTINATION lib/rados-classes)
install(TARGETS cls_refcount DESTINATION ${cls_dir})

add_library(cls_refcount_client STATIC
refcount/cls_refcount_client.cc
Expand All @@ -45,7 +47,7 @@ add_library(cls_refcount_client STATIC
# cls_version
add_library(cls_version SHARED version/cls_version.cc)
set_target_properties(cls_version PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_version DESTINATION lib/rados-classes)
install(TARGETS cls_version DESTINATION ${cls_dir})

add_library(cls_version_client STATIC
version/cls_version_client.cc
Expand All @@ -54,28 +56,28 @@ add_library(cls_version_client STATIC
# cls_log
add_library(cls_log SHARED log/cls_log.cc)
set_target_properties(cls_log PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_log DESTINATION lib/rados-classes)
install(TARGETS cls_log DESTINATION ${cls_dir})

add_library(cls_log_client STATIC log/cls_log_client.cc)

# cls_statelog
add_library(cls_statelog SHARED statelog/cls_statelog.cc)
set_target_properties(cls_statelog PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_statelog DESTINATION lib/rados-classes)
install(TARGETS cls_statelog DESTINATION ${cls_dir})

add_library(cls_statelog_client STATIC statelog/cls_statelog_client.cc)

# cls_timeindex
add_library(cls_timeindex SHARED timeindex/cls_timeindex.cc)
set_target_properties(cls_timeindex PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_timeindex DESTINATION lib/rados-classes)
install(TARGETS cls_timeindex DESTINATION ${cls_dir})

add_library(cls_timeindex_client STATIC timeindex/cls_timeindex_client.cc)

# cls_replica_log
add_library(cls_replica_log SHARED replica_log/cls_replica_log.cc)
set_target_properties(cls_replica_log PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_replica_log DESTINATION lib/rados-classes)
install(TARGETS cls_replica_log DESTINATION ${cls_dir})

add_library(cls_replica_log_client STATIC
replica_log/cls_replica_log_types.cc
Expand All @@ -85,7 +87,7 @@ add_library(cls_replica_log_client STATIC
# cls_user
add_library(cls_user SHARED user/cls_user.cc)
set_target_properties(cls_user PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_user DESTINATION lib/rados-classes)
install(TARGETS cls_user DESTINATION ${cls_dir})

add_library(cls_user_client STATIC
user/cls_user_client.cc
Expand All @@ -97,7 +99,7 @@ add_library(cls_journal SHARED
journal/cls_journal.cc
journal/cls_journal_types.cc)
set_target_properties(cls_journal PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_journal DESTINATION lib/rados-classes)
install(TARGETS cls_journal DESTINATION ${cls_dir})

add_library(cls_journal_client STATIC
journal/cls_journal_client.cc
Expand All @@ -112,7 +114,7 @@ if (WITH_RADOSGW)
${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
target_link_libraries(cls_rgw json_spirit)
set_target_properties(cls_rgw PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_rgw DESTINATION lib/rados-classes)
install(TARGETS cls_rgw DESTINATION ${cls_dir})

add_library(cls_rgw_client STATIC
rgw/cls_rgw_client.cc
Expand All @@ -125,7 +127,7 @@ if (WITH_CEPHFS)
add_library(cls_cephfs SHARED
cephfs/cls_cephfs.cc)
set_target_properties(cls_cephfs PROPERTIES VERSION "1.0.0" SOVERSION "1")
install(TARGETS cls_cephfs DESTINATION lib/rados-classes)
install(TARGETS cls_cephfs DESTINATION ${cls_dir})

add_library(cls_cephfs_client STATIC
cephfs/cls_cephfs_client.cc)
Expand Down
2 changes: 2 additions & 0 deletions src/test/objectstore/CMakeLists.txt
Expand Up @@ -41,6 +41,8 @@ target_link_libraries(ceph_test_keyvaluedb
${BLKID_LIBRARIES}
${CMAKE_DL_LIBS}
)
install(TARGETS ceph_test_keyvaluedb
DESTINATION ${CMAKE_INSTALL_BINDIR})

# ceph_test_objectstore_workloadgen
add_executable(ceph_test_objectstore_workloadgen
Expand Down
2 changes: 1 addition & 1 deletion src/tracing/CMakeLists.txt
Expand Up @@ -48,5 +48,5 @@ add_tracing_library(rados_tp librados.tp 2.0.0)
add_tracing_library(rbd_tp librbd.tp 1.0.0)
add_tracing_library(os_tp objectstore.tp 1.0.0)

install(TARGETS rados_tp osd_tp rbd_tp os_tp DESTINATION lib)
install(TARGETS rados_tp osd_tp rbd_tp os_tp DESTINATION ${CMAKE_INSTALL_LIBDIR})

16 changes: 16 additions & 0 deletions systemd/CMakeLists.txt
@@ -0,0 +1,16 @@
install(FILES
ceph.target
ceph-osd.target
ceph-mon.target
ceph-mds.target
ceph-radosgw.target
ceph-rbd-mirror.target
ceph-mds@.service
ceph-mon@.service
ceph-create-keys@.service
ceph-osd@.service
ceph-radosgw@.service
ceph-rbd-mirror@.service
ceph-disk@.service
rbdmap.service
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)

0 comments on commit 789fb17

Please sign in to comment.