Merge pull request #32607 from tchaikov/wip-odr-global-context

cmake: do not include global_context.cc multiple times

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
This commit is contained in:
Kefu Chai 2020-01-14 10:25:36 +08:00 committed by GitHub
commit 1ef9f738c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 14 deletions

View File

@ -300,6 +300,7 @@ endif()
set(libcommon_files
${CMAKE_BINARY_DIR}/src/include/ceph_ver.h
ceph_ver.c
global/global_context.cc
xxHash/xxhash.c
log/Log.cc
mon/MonCap.cc
@ -342,7 +343,6 @@ set(ceph_common_objs
$<TARGET_OBJECTS:compressor_objs>
$<TARGET_OBJECTS:common-objs>
$<TARGET_OBJECTS:common_mountcephfs_objs>
$<TARGET_OBJECTS:global_common_objs>
$<TARGET_OBJECTS:crush_objs>)
set(ceph_common_deps
json_spirit erasure_code arch crc32

View File

@ -73,6 +73,7 @@ add_library(crimson-common STATIC
${PROJECT_SOURCE_DIR}/src/common/HeartbeatMap.cc
${PROJECT_SOURCE_DIR}/src/common/PluginRegistry.cc
${PROJECT_SOURCE_DIR}/src/common/RefCountedObj.cc
${PROJECT_SOURCE_DIR}/src/global/global_context.cc
${PROJECT_SOURCE_DIR}/src/global/pidfile.cc
${PROJECT_SOURCE_DIR}/src/librbd/Features.cc
${PROJECT_SOURCE_DIR}/src/log/Log.cc
@ -96,8 +97,7 @@ add_library(crimson-common STATIC
$<TARGET_OBJECTS:crimson-auth>
$<TARGET_OBJECTS:common_buffer_obj>
$<TARGET_OBJECTS:common_mountcephfs_objs>
$<TARGET_OBJECTS:crimson-crush>
$<TARGET_OBJECTS:global_common_objs>)
$<TARGET_OBJECTS:crimson-crush>)
target_compile_definitions(crimson-common PRIVATE
"CEPH_LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\""

View File

@ -2,17 +2,12 @@ set(libglobal_srcs
global_init.cc
pidfile.cc
signal_handler.cc)
set(global_common_files
global_context.cc)
add_library(global_common_objs OBJECT ${global_common_files})
add_library(libglobal_objs OBJECT ${libglobal_srcs})
add_library(global-static STATIC
$<TARGET_OBJECTS:libglobal_objs>
$<TARGET_OBJECTS:global_common_objs>)
$<TARGET_OBJECTS:libglobal_objs>)
target_link_libraries(global-static common)
add_library(global STATIC
$<TARGET_OBJECTS:libglobal_objs>
$<TARGET_OBJECTS:global_common_objs>)
$<TARGET_OBJECTS:libglobal_objs>)
target_link_libraries(global ceph-common ${EXTRALIBS})

View File

@ -12,10 +12,13 @@
*
*/
#include "common/ceph_context.h"
#include "global/global_context.h"
#include <string.h>
#include "common/ceph_context.h"
#ifdef WITH_SEASTAR
#include "crimson/common/config_proxy.h"
#endif
/*
@ -24,7 +27,7 @@
CephContext *g_ceph_context = NULL;
ConfigProxy& g_conf() {
#ifdef WITH_SEASTAR
return ceph::common::local_conf();
return crimson::common::local_conf();
#else
return g_ceph_context->_conf;
#endif

View File

@ -43,8 +43,7 @@ if(HAS_VTA)
set_source_files_properties(osdcap.cc
PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
endif()
add_library(osd STATIC ${osd_srcs}
$<TARGET_OBJECTS:global_common_objs>)
add_library(osd STATIC ${osd_srcs})
target_link_libraries(osd
PUBLIC dmclock::dmclock
PRIVATE os heap_profiler cpu_profiler ${CMAKE_DL_LIBS})