未验证 提交 317ec86d 编写于 作者: X XuanYang-cn 提交者: GitHub

Optimize download&compilation of opentracing (#3276)

* opentracing runable
Signed-off-by: Nyangxuan <xuan.yang@zilliz.com>

* optimize opentracing
Signed-off-by: Nyangxuan <xuan.yang@zilliz.com>

* rm opentracing from Thirdpartypackages.cmake
Signed-off-by: Nyangxuan <xuan.yang@zilliz.com>

* rm dup links
Signed-off-by: Nyangxuan <xuan.yang@zilliz.com>

* fit unittest cann't compile bug
Signed-off-by: Nyangxuan <xuan.yang@zilliz.com>

* fix format
Signed-off-by: Nyangxuan <xuan.yang@zilliz.com>
Co-authored-by: Nyangxuan <xuan.yang@zilliz.com>
上级 ddd4c42b
......@@ -16,7 +16,6 @@ set(MILVUS_THIRDPARTY_DEPENDENCIES
SQLite
libunwind
gperftools
Opentracing
fiu
AWS
oatpp)
......@@ -41,8 +40,6 @@ macro(build_dependency DEPENDENCY_NAME)
build_libunwind()
elseif ("${DEPENDENCY_NAME}" STREQUAL "gperftools")
build_gperftools()
elseif ("${DEPENDENCY_NAME}" STREQUAL "Opentracing")
build_opentracing()
elseif ("${DEPENDENCY_NAME}" STREQUAL "fiu")
build_fiu()
elseif ("${DEPENDENCY_NAME}" STREQUAL "oatpp")
......@@ -253,13 +250,6 @@ else ()
"https://github.com/gperftools/gperftools/releases/download/gperftools-${GPERFTOOLS_VERSION}/gperftools-${GPERFTOOLS_VERSION}.tar.gz")
endif ()
if (DEFINED ENV{MILVUS_OPENTRACING_URL})
set(OPENTRACING_SOURCE_URL "$ENV{MILVUS_OPENTRACING_URL}")
else ()
set(OPENTRACING_SOURCE_URL "https://github.com/opentracing/opentracing-cpp/archive/${OPENTRACING_VERSION}.tar.gz"
"https://gitee.com/quicksilver/opentracing-cpp/repository/archive/${OPENTRACING_VERSION}.zip")
endif ()
if (DEFINED ENV{MILVUS_FIU_URL})
set(FIU_SOURCE_URL "$ENV{MILVUS_FIU_URL}")
else ()
......@@ -564,58 +554,6 @@ if (MILVUS_WITH_GPERFTOOLS)
link_directories(SYSTEM ${GPERFTOOLS_PREFIX}/lib)
endif ()
# ----------------------------------------------------------------------
# opentracing
macro(build_opentracing)
message(STATUS "Building OPENTRACING-${OPENTRACING_VERSION} from source")
set(OPENTRACING_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/opentracing_ep-prefix/src/opentracing_ep")
set(OPENTRACING_STATIC_LIB "${OPENTRACING_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}opentracing${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(OPENTRACING_MOCK_TRACER_STATIC_LIB "${OPENTRACING_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}opentracing_mocktracer${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(OPENTRACING_INCLUDE_DIR "${OPENTRACING_PREFIX}/include")
set(OPENTRACING_CMAKE_ARGS
${EP_COMMON_CMAKE_ARGS}
"-DCMAKE_INSTALL_PREFIX=${OPENTRACING_PREFIX}"
-DBUILD_SHARED_LIBS=OFF)
ExternalProject_Add(opentracing_ep
URL
${OPENTRACING_SOURCE_URL}
${EP_LOG_OPTIONS}
URL_MD5
"e598ba4b81ae8e1ceed8cd8bbf86f2fd"
CMAKE_ARGS
${OPENTRACING_CMAKE_ARGS}
BUILD_COMMAND
${MAKE}
${MAKE_BUILD_ARGS}
BUILD_BYPRODUCTS
${OPENTRACING_STATIC_LIB}
${OPENTRACING_MOCK_TRACER_STATIC_LIB}
)
file(MAKE_DIRECTORY "${OPENTRACING_INCLUDE_DIR}")
add_library(opentracing STATIC IMPORTED)
set_target_properties(opentracing
PROPERTIES IMPORTED_LOCATION "${OPENTRACING_STATIC_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${OPENTRACING_INCLUDE_DIR}")
add_library(opentracing_mocktracer STATIC IMPORTED)
set_target_properties(opentracing_mocktracer
PROPERTIES IMPORTED_LOCATION "${OPENTRACING_MOCK_TRACER_STATIC_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${OPENTRACING_INCLUDE_DIR}")
add_dependencies(opentracing opentracing_ep)
add_dependencies(opentracing_mocktracer opentracing_ep)
endmacro()
if (MILVUS_WITH_OPENTRACING)
resolve_dependency(Opentracing)
get_target_property(OPENTRACING_INCLUDE_DIR opentracing INTERFACE_INCLUDE_DIRECTORIES)
include_directories(SYSTEM ${OPENTRACING_INCLUDE_DIR})
endif ()
# ----------------------------------------------------------------------
# fiu
macro(build_fiu)
......
......@@ -48,11 +48,11 @@ add_subdirectory( storage )
add_subdirectory( cache )
add_subdirectory( codecs )
add_subdirectory( segment )
add_subdirectory( tracing )
add_subdirectory( utils )
add_subdirectory( metrics )
add_subdirectory( config )
add_subdirectory( tracing )
add_subdirectory( query )
add_subdirectory( db ) # target milvus_engine
add_subdirectory( log )
......@@ -62,7 +62,6 @@ set(link_lib
milvus_engine
config
metrics
tracing
log
oatpp
query
......
......@@ -145,6 +145,7 @@ target_link_libraries( milvus_engine
cache
storage
codecs
tracing
${THIRD_PARTY_LIBS}
${ENGINE_LIBS}
)
......@@ -15,11 +15,11 @@ aux_source_directory( ${MILVUS_ENGINE_SRC}/tracing TRACING_FILES )
add_library( tracing STATIC ${TRACING_FILES} )
set( TRACING_LIB opentracing
opentracing_mocktracer
set( TRACING_LIB opentracing::opentracing
opentracing::mocktracer
pthread
z
dl
)
target_link_libraries( tracing ${TRACING_LIB} )
target_link_libraries( tracing PUBLIC ${TRACING_LIB} )
......@@ -46,3 +46,8 @@ endif ()
if ( MILVUS_WITH_YAMLCPP )
add_subdirectory( yaml-cpp )
endif()
# ****************************** Thirdparty opentracing ***************************************
if ( MILVUS_WITH_OPENTRACING )
add_subdirectory( opentracing )
endif()
#-------------------------------------------------------------------------------
# Copyright (C) 2019-2020 Zilliz. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
# or implied. See the License for the specific language governing permissions and limitations under the License.
#-------------------------------------------------------------------------------
if ( DEFINED ENV{MILVUS_OPENTRACING_URL} )
set(OPENTRACING_SOURCE_URL "$ENV{MILVUS_OPENTRACING_URL}")
else ()
set(OPENTRACING_SOURCE_URL
"https://github.com/opentracing/opentracing-cpp/archive/${OPENTRACING_VERSION}.tar.gz" )
endif ()
message(STATUS "Building OPENTRACING-${OPENTRACING_VERSION} from source")
FetchContent_Declare(
opentracing
URL ${OPENTRACING_SOURCE_URL}
URL_MD5 "e598ba4b81ae8e1ceed8cd8bbf86f2fd"
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/opentracing-src
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/opentracing-build
)
set( BUILD_SHARED_LIBS CACHE BOOL OFF FORCE)
set( ENABLE_LINTING CACHE BOOL OFF FORCE)
set( BUILD_TESTING CACHE BOOL OFF FORCE )
FetchContent_GetProperties( opentracing )
if ( NOT opentracing_POPULATED )
FetchContent_Populate( opentracing )
# Adding the following targets:
# opentracing-static
# opentracing_mocktracer-static
add_subdirectory( ${opentracing_SOURCE_DIR}
${opentracing_BINARY_DIR}
EXCLUDE_FROM_ALL )
# Opentracing-cpp CMakeLists.txt file didn't give a
# correct interface directories
target_include_directories( opentracing-static
INTERFACE $<BUILD_INTERFACE:${opentracing_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${opentracing_BINARY_DIR}/include>
$<BUILD_INTERFACE:${opentracing_SOURCE_DIR}/3rd_party/include> )
target_include_directories( opentracing_mocktracer-static
INTERFACE $<BUILD_INTERFACE:${opentracing_SOURCE_DIR}/mocktracer/include> )
# Adding the following ALIAS Targets:
# opentracing::opentracing
# opentracing::mocktracer
if ( NOT TARGET opentracing::opentracing )
add_library( opentracing::opentracing ALIAS opentracing-static )
endif()
if ( NOT TARGET opentracing::mocktracer )
add_library( opentracing::mocktracer ALIAS opentracing_mocktracer-static )
endif()
endif()
get_property( var DIRECTORY "${opentracing_SOURCE_DIR}" PROPERTY COMPILE_OPTIONS )
message( STATUS "opentracing compile options: ${var}" )
......@@ -54,8 +54,8 @@ set( UNITTEST_LIBS sqlite
libstdc++fs.a
pthread
gfortran
opentracing
opentracing_mocktracer
opentracing::opentracing
opentracing::mocktracer
fiu
dl
z
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册