Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
ba2548a9
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ba2548a9
编写于
11月 11, 2019
作者:
Q
quicksilver
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add FindArrow.cmake
上级
ac61309c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
440 addition
and
15 deletion
+440
-15
core/src/index/cmake/FindArrow.cmake
core/src/index/cmake/FindArrow.cmake
+431
-0
core/src/index/cmake/ThirdPartyPackagesCore.cmake
core/src/index/cmake/ThirdPartyPackagesCore.cmake
+9
-15
未找到文件。
core/src/index/cmake/FindArrow.cmake
0 → 100644
浏览文件 @
ba2548a9
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
# - Find Arrow (arrow/api.h, libarrow.a, libarrow.so)
# This module defines
# ARROW_FOUND, whether Arrow has been found
# ARROW_FULL_SO_VERSION, full shared object version of found Arrow "100.0.0"
# ARROW_IMPORT_LIB, path to libarrow's import library (Windows only)
# ARROW_INCLUDE_DIR, directory containing headers
# ARROW_LIBS, deprecated. Use ARROW_LIB_DIR instead
# ARROW_LIB_DIR, directory containing Arrow libraries
# ARROW_SHARED_IMP_LIB, deprecated. Use ARROW_IMPORT_LIB instead
# ARROW_SHARED_LIB, path to libarrow's shared library
# ARROW_SO_VERSION, shared object version of found Arrow such as "100"
# ARROW_STATIC_LIB, path to libarrow.a
# ARROW_VERSION, version of found Arrow
# ARROW_VERSION_MAJOR, major version of found Arrow
# ARROW_VERSION_MINOR, minor version of found Arrow
# ARROW_VERSION_PATCH, patch version of found Arrow
include
(
FindPkgConfig
)
include
(
FindPackageHandleStandardArgs
)
set
(
ARROW_SEARCH_LIB_PATH_SUFFIXES
)
if
(
CMAKE_LIBRARY_ARCHITECTURE
)
list
(
APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES
"lib/
${
CMAKE_LIBRARY_ARCHITECTURE
}
"
)
endif
()
list
(
APPEND ARROW_SEARCH_LIB_PATH_SUFFIXES
"lib64"
"lib32"
"lib"
"bin"
)
set
(
ARROW_CONFIG_SUFFIXES
"_RELEASE"
"_RELWITHDEBINFO"
"_MINSIZEREL"
"_DEBUG"
""
)
if
(
CMAKE_BUILD_TYPE
)
string
(
TOUPPER
${
CMAKE_BUILD_TYPE
}
ARROW_CONFIG_SUFFIX_PREFERRED
)
set
(
ARROW_CONFIG_SUFFIX_PREFERRED
"_
${
ARROW_CONFIG_SUFFIX_PREFERRED
}
"
)
list
(
INSERT ARROW_CONFIG_SUFFIXES 0
"
${
ARROW_CONFIG_SUFFIX_PREFERRED
}
"
)
endif
()
if
(
NOT DEFINED ARROW_MSVC_STATIC_LIB_SUFFIX
)
if
(
MSVC
)
set
(
ARROW_MSVC_STATIC_LIB_SUFFIX
"_static"
)
else
()
set
(
ARROW_MSVC_STATIC_LIB_SUFFIX
""
)
endif
()
endif
()
# Internal function.
#
# Set shared library name for ${base_name} to ${output_variable}.
#
# Example:
# arrow_build_shared_library_name(ARROW_SHARED_LIBRARY_NAME arrow)
# # -> ARROW_SHARED_LIBRARY_NAME=libarrow.so on Linux
# # -> ARROW_SHARED_LIBRARY_NAME=libarrow.dylib on macOS
# # -> ARROW_SHARED_LIBRARY_NAME=arrow.dll with MSVC on Windows
# # -> ARROW_SHARED_LIBRARY_NAME=libarrow.dll with MinGW on Windows
function
(
arrow_build_shared_library_name output_variable base_name
)
set
(
${
output_variable
}
"
${
CMAKE_SHARED_LIBRARY_PREFIX
}${
base_name
}${
CMAKE_SHARED_LIBRARY_SUFFIX
}
"
PARENT_SCOPE
)
endfunction
()
# Internal function.
#
# Set import library name for ${base_name} to ${output_variable}.
# This is useful only for MSVC build. Import library is used only
# with MSVC build.
#
# Example:
# arrow_build_import_library_name(ARROW_IMPORT_LIBRARY_NAME arrow)
# # -> ARROW_IMPORT_LIBRARY_NAME=arrow on Linux (meaningless)
# # -> ARROW_IMPORT_LIBRARY_NAME=arrow on macOS (meaningless)
# # -> ARROW_IMPORT_LIBRARY_NAME=arrow.lib with MSVC on Windows
# # -> ARROW_IMPORT_LIBRARY_NAME=libarrow.dll.a with MinGW on Windows
function
(
arrow_build_import_library_name output_variable base_name
)
set
(
${
output_variable
}
"
${
CMAKE_IMPORT_LIBRARY_PREFIX
}${
base_name
}${
CMAKE_IMPORT_LIBRARY_SUFFIX
}
"
PARENT_SCOPE
)
endfunction
()
# Internal function.
#
# Set static library name for ${base_name} to ${output_variable}.
#
# Example:
# arrow_build_static_library_name(ARROW_STATIC_LIBRARY_NAME arrow)
# # -> ARROW_STATIC_LIBRARY_NAME=libarrow.a on Linux
# # -> ARROW_STATIC_LIBRARY_NAME=libarrow.a on macOS
# # -> ARROW_STATIC_LIBRARY_NAME=arrow.lib with MSVC on Windows
# # -> ARROW_STATIC_LIBRARY_NAME=libarrow.dll.a with MinGW on Windows
function
(
arrow_build_static_library_name output_variable base_name
)
set
(
${
output_variable
}
"
${
CMAKE_STATIC_LIBRARY_PREFIX
}${
base_name
}${
ARROW_MSVC_STATIC_LIB_SUFFIX
}${
CMAKE_STATIC_LIBRARY_SUFFIX
}
"
PARENT_SCOPE
)
endfunction
()
# Internal function.
#
# Set macro value for ${macro_name} in ${header_content} to ${output_variable}.
#
# Example:
# arrow_extract_macro_value(version_major
# "ARROW_VERSION_MAJOR"
# "#define ARROW_VERSION_MAJOR 1.0.0")
# # -> version_major=1.0.0
function
(
arrow_extract_macro_value output_variable macro_name header_content
)
string
(
REGEX MATCH
"#define +
${
macro_name
}
+[^
\r\n
]+"
macro_definition
"
${
header_content
}
"
)
string
(
REGEX
REPLACE
"^#define +
${
macro_name
}
+(.+)$"
"
\\
1"
macro_value
"
${
macro_definition
}
"
)
set
(
${
output_variable
}
"
${
macro_value
}
"
PARENT_SCOPE
)
endfunction
()
# Internal macro only for arrow_find_package.
#
# Find package in HOME.
macro
(
arrow_find_package_home
)
find_path
(
${
prefix
}
_include_dir
"
${
header_path
}
"
PATHS
"
${
home
}
"
PATH_SUFFIXES
"include"
NO_DEFAULT_PATH
)
set
(
include_dir
"
${${
prefix
}
_include_dir
}
"
)
set
(
${
prefix
}
_INCLUDE_DIR
"
${
include_dir
}
"
PARENT_SCOPE
)
if
(
MSVC
)
set
(
CMAKE_SHARED_LIBRARY_SUFFIXES_ORIGINAL
${
CMAKE_FIND_LIBRARY_SUFFIXES
}
)
# .dll isn't found by find_library with MSVC because .dll isn't included in
# CMAKE_FIND_LIBRARY_SUFFIXES.
list
(
APPEND CMAKE_FIND_LIBRARY_SUFFIXES
"
${
CMAKE_SHARED_LIBRARY_SUFFIX
}
"
)
endif
()
find_library
(
${
prefix
}
_shared_lib
NAMES
"
${
shared_lib_name
}
"
PATHS
"
${
home
}
"
PATH_SUFFIXES
${
ARROW_SEARCH_LIB_PATH_SUFFIXES
}
NO_DEFAULT_PATH
)
if
(
MSVC
)
set
(
CMAKE_SHARED_LIBRARY_SUFFIXES
${
CMAKE_FIND_LIBRARY_SUFFIXES_ORIGINAL
}
)
endif
()
set
(
shared_lib
"
${${
prefix
}
_shared_lib
}
"
)
set
(
${
prefix
}
_SHARED_LIB
"
${
shared_lib
}
"
PARENT_SCOPE
)
if
(
shared_lib
)
add_library
(
${
target_shared
}
SHARED IMPORTED
)
set_target_properties
(
${
target_shared
}
PROPERTIES IMPORTED_LOCATION
"
${
shared_lib
}
"
)
if
(
include_dir
)
set_target_properties
(
${
target_shared
}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
"
${
include_dir
}
"
)
endif
()
find_library
(
${
prefix
}
_import_lib
NAMES
"
${
import_lib_name
}
"
PATHS
"
${
home
}
"
PATH_SUFFIXES
${
ARROW_SEARCH_LIB_PATH_SUFFIXES
}
NO_DEFAULT_PATH
)
set
(
import_lib
"
${${
prefix
}
_import_lib
}
"
)
set
(
${
prefix
}
_IMPORT_LIB
"
${
import_lib
}
"
PARENT_SCOPE
)
if
(
import_lib
)
set_target_properties
(
${
target_shared
}
PROPERTIES IMPORTED_IMPLIB
"
${
import_lib
}
"
)
endif
()
endif
()
find_library
(
${
prefix
}
_static_lib
NAMES
"
${
static_lib_name
}
"
PATHS
"
${
home
}
"
PATH_SUFFIXES
${
ARROW_SEARCH_LIB_PATH_SUFFIXES
}
NO_DEFAULT_PATH
)
set
(
static_lib
"
${${
prefix
}
_static_lib
}
"
)
set
(
${
prefix
}
_STATIC_LIB
"
${
static_lib
}
"
PARENT_SCOPE
)
if
(
static_lib
)
add_library
(
${
target_static
}
STATIC IMPORTED
)
set_target_properties
(
${
target_static
}
PROPERTIES IMPORTED_LOCATION
"
${
static_lib
}
"
)
if
(
include_dir
)
set_target_properties
(
${
target_static
}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
"
${
include_dir
}
"
)
endif
()
endif
()
endmacro
()
# Internal macro only for arrow_find_package.
#
# Find package by CMake package configuration.
macro
(
arrow_find_package_cmake_package_configuration
)
# ARROW-5575: We need to split target files for each component
if
(
TARGET
${
target_shared
}
OR TARGET
${
target_static
}
)
set
(
${
cmake_package_name
}
_FOUND TRUE
)
else
()
find_package
(
${
cmake_package_name
}
CONFIG
)
endif
()
if
(
${
cmake_package_name
}
_FOUND
)
set
(
${
prefix
}
_USE_CMAKE_PACKAGE_CONFIG TRUE PARENT_SCOPE
)
if
(
TARGET
${
target_shared
}
)
foreach
(
suffix
${
ARROW_CONFIG_SUFFIXES
}
)
get_target_property
(
shared_lib
${
target_shared
}
IMPORTED_LOCATION
${
suffix
}
)
if
(
shared_lib
)
# Remove shared library version:
# libarrow.so.100.0.0 -> libarrow.so
# Because ARROW_HOME and pkg-config approaches don't add
# shared library version.
string
(
REGEX
REPLACE
"(
${
CMAKE_SHARED_LIBRARY_SUFFIX
}
)[.0-9]+$"
"
\\
1"
shared_lib
"
${
shared_lib
}
"
)
set
(
${
prefix
}
_SHARED_LIB
"
${
shared_lib
}
"
PARENT_SCOPE
)
break
()
endif
()
endforeach
()
endif
()
if
(
TARGET
${
target_static
}
)
foreach
(
suffix
${
ARROW_CONFIG_SUFFIXES
}
)
get_target_property
(
static_lib
${
target_static
}
IMPORTED_LOCATION
${
suffix
}
)
if
(
static_lib
)
set
(
${
prefix
}
_STATIC_LIB
"
${
static_lib
}
"
PARENT_SCOPE
)
break
()
endif
()
endforeach
()
endif
()
endif
()
endmacro
()
# Internal macro only for arrow_find_package.
#
# Find package by pkg-config.
macro
(
arrow_find_package_pkg_config
)
pkg_check_modules
(
${
prefix
}
_PC
${
pkg_config_name
}
)
if
(
${
prefix
}
_PC_FOUND
)
set
(
${
prefix
}
_USE_PKG_CONFIG TRUE PARENT_SCOPE
)
set
(
include_dir
"
${${
prefix
}
_PC_INCLUDEDIR
}
"
)
set
(
lib_dir
"
${${
prefix
}
_PC_LIBDIR
}
"
)
set
(
shared_lib_paths
"
${${
prefix
}
_PC_LINK_LIBRARIES
}
"
)
# Use the first shared library path as the IMPORTED_LOCATION
# for ${target_shared}. This assumes that the first shared library
# path is the shared library path for this module.
list
(
GET shared_lib_paths 0 first_shared_lib_path
)
# Use the rest shared library paths as the INTERFACE_LINK_LIBRARIES
# for ${target_shared}. This assumes that the rest shared library
# paths are dependency library paths for this module.
list
(
LENGTH shared_lib_paths n_shared_lib_paths
)
if
(
n_shared_lib_paths LESS_EQUAL 1
)
set
(
rest_shared_lib_paths
)
else
()
list
(
SUBLIST
shared_lib_paths
1
-1
rest_shared_lib_paths
)
endif
()
set
(
${
prefix
}
_VERSION
"
${${
prefix
}
_PC_VERSION
}
"
PARENT_SCOPE
)
set
(
${
prefix
}
_INCLUDE_DIR
"
${
include_dir
}
"
PARENT_SCOPE
)
set
(
${
prefix
}
_SHARED_LIB
"
${
first_shared_lib_path
}
"
PARENT_SCOPE
)
add_library
(
${
target_shared
}
SHARED IMPORTED
)
set_target_properties
(
${
target_shared
}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
"
${
include_dir
}
"
INTERFACE_LINK_LIBRARIES
"
${
rest_shared_lib_paths
}
"
IMPORTED_LOCATION
"
${
first_shared_lib_path
}
"
)
find_library
(
${
prefix
}
_static_lib
NAMES
"
${
static_lib_name
}
"
PATHS
"
${
lib_dir
}
"
NO_DEFAULT_PATH
)
set
(
static_lib
"
${${
prefix
}
_static_lib
}
"
)
set
(
${
prefix
}
_STATIC_LIB
"
${
static_lib
}
"
PARENT_SCOPE
)
if
(
static_lib
)
add_library
(
${
target_static
}
STATIC IMPORTED
)
set_target_properties
(
${
target_static
}
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
"
${
include_dir
}
"
IMPORTED_LOCATION
"
${
static_lib
}
"
)
endif
()
endif
()
endmacro
()
function
(
arrow_find_package
prefix
home
base_name
header_path
cmake_package_name
pkg_config_name
)
arrow_build_shared_library_name
(
shared_lib_name
${
base_name
}
)
arrow_build_import_library_name
(
import_lib_name
${
base_name
}
)
arrow_build_static_library_name
(
static_lib_name
${
base_name
}
)
set
(
target_shared
${
base_name
}
_shared
)
set
(
target_static
${
base_name
}
_static
)
if
(
home
)
arrow_find_package_home
()
set
(
${
prefix
}
_FIND_APPROACH
"HOME:
${
home
}
"
PARENT_SCOPE
)
else
()
arrow_find_package_cmake_package_configuration
()
if
(
${
cmake_package_name
}
_FOUND
)
set
(
${
prefix
}
_FIND_APPROACH
"CMake package configuration:
${
cmake_package_name
}
"
PARENT_SCOPE
)
else
()
arrow_find_package_pkg_config
()
set
(
${
prefix
}
_FIND_APPROACH
"pkg-config:
${
pkg_config_name
}
"
PARENT_SCOPE
)
endif
()
endif
()
if
(
NOT include_dir
)
if
(
TARGET
${
target_shared
}
)
get_target_property
(
include_dir
${
target_shared
}
INTERFACE_INCLUDE_DIRECTORIES
)
elseif
(
TARGET
${
target_static
}
)
get_target_property
(
include_dir
${
target_static
}
INTERFACE_INCLUDE_DIRECTORIES
)
endif
()
endif
()
if
(
include_dir
)
set
(
${
prefix
}
_INCLUDE_DIR
"
${
include_dir
}
"
PARENT_SCOPE
)
endif
()
if
(
shared_lib
)
get_filename_component
(
lib_dir
"
${
shared_lib
}
"
DIRECTORY
)
elseif
(
static_lib
)
get_filename_component
(
lib_dir
"
${
static_lib
}
"
DIRECTORY
)
else
()
set
(
lib_dir NOTFOUND
)
endif
()
set
(
${
prefix
}
_LIB_DIR
"
${
lib_dir
}
"
PARENT_SCOPE
)
# For backward compatibility
set
(
${
prefix
}
_LIBS
"
${
lib_dir
}
"
PARENT_SCOPE
)
endfunction
()
if
(
NOT
"$ENV{ARROW_HOME}"
STREQUAL
""
)
file
(
TO_CMAKE_PATH
"$ENV{ARROW_HOME}"
ARROW_HOME
)
endif
()
arrow_find_package
(
ARROW
"
${
ARROW_HOME
}
"
arrow
arrow/api.h
Arrow
arrow
)
if
(
ARROW_HOME
)
if
(
ARROW_INCLUDE_DIR
)
file
(
READ
"
${
ARROW_INCLUDE_DIR
}
/arrow/util/config.h"
ARROW_CONFIG_H_CONTENT
)
arrow_extract_macro_value
(
ARROW_VERSION_MAJOR
"ARROW_VERSION_MAJOR"
"
${
ARROW_CONFIG_H_CONTENT
}
"
)
arrow_extract_macro_value
(
ARROW_VERSION_MINOR
"ARROW_VERSION_MINOR"
"
${
ARROW_CONFIG_H_CONTENT
}
"
)
arrow_extract_macro_value
(
ARROW_VERSION_PATCH
"ARROW_VERSION_PATCH"
"
${
ARROW_CONFIG_H_CONTENT
}
"
)
if
(
"
${
ARROW_VERSION_MAJOR
}
"
STREQUAL
""
OR
"
${
ARROW_VERSION_MINOR
}
"
STREQUAL
""
OR
"
${
ARROW_VERSION_PATCH
}
"
STREQUAL
""
)
set
(
ARROW_VERSION
"0.0.0"
)
else
()
set
(
ARROW_VERSION
"
${
ARROW_VERSION_MAJOR
}
.
${
ARROW_VERSION_MINOR
}
.
${
ARROW_VERSION_PATCH
}
"
)
endif
()
arrow_extract_macro_value
(
ARROW_SO_VERSION_QUOTED
"ARROW_SO_VERSION"
"
${
ARROW_CONFIG_H_CONTENT
}
"
)
string
(
REGEX REPLACE
"^
\"
(.+)
\"
$"
"
\\
1"
ARROW_SO_VERSION
"
${
ARROW_SO_VERSION_QUOTED
}
"
)
arrow_extract_macro_value
(
ARROW_FULL_SO_VERSION_QUOTED
"ARROW_FULL_SO_VERSION"
"
${
ARROW_CONFIG_H_CONTENT
}
"
)
string
(
REGEX
REPLACE
"^
\"
(.+)
\"
$"
"
\\
1"
ARROW_FULL_SO_VERSION
"
${
ARROW_FULL_SO_VERSION_QUOTED
}
"
)
endif
()
else
()
if
(
ARROW_USE_CMAKE_PACKAGE_CONFIG
)
find_package
(
Arrow CONFIG
)
elseif
(
ARROW_USE_PKG_CONFIG
)
pkg_get_variable
(
ARROW_SO_VERSION arrow so_version
)
pkg_get_variable
(
ARROW_FULL_SO_VERSION arrow full_so_version
)
endif
()
endif
()
set
(
ARROW_ABI_VERSION
${
ARROW_SO_VERSION
}
)
mark_as_advanced
(
ARROW_ABI_VERSION
ARROW_CONFIG_SUFFIXES
ARROW_FULL_SO_VERSION
ARROW_IMPORT_LIB
ARROW_INCLUDE_DIR
ARROW_LIBS
ARROW_LIB_DIR
ARROW_SEARCH_LIB_PATH_SUFFIXES
ARROW_SHARED_IMP_LIB
ARROW_SHARED_LIB
ARROW_SO_VERSION
ARROW_STATIC_LIB
ARROW_VERSION
ARROW_VERSION_MAJOR
ARROW_VERSION_MINOR
ARROW_VERSION_PATCH
)
find_package_handle_standard_args
(
Arrow REQUIRED_VARS
# The first required variable is shown
# in the found message. So this list is
# not sorted alphabetically.
ARROW_INCLUDE_DIR
ARROW_LIB_DIR
ARROW_FULL_SO_VERSION
ARROW_SO_VERSION
VERSION_VAR
ARROW_VERSION
)
set
(
ARROW_FOUND
${
Arrow_FOUND
}
)
if
(
Arrow_FOUND AND NOT Arrow_FIND_QUIETLY
)
message
(
STATUS
"Arrow version:
${
ARROW_VERSION
}
(
${
ARROW_FIND_APPROACH
}
)"
)
message
(
STATUS
"Arrow SO and ABI version:
${
ARROW_SO_VERSION
}
"
)
message
(
STATUS
"Arrow full SO version:
${
ARROW_FULL_SO_VERSION
}
"
)
message
(
STATUS
"Found the Arrow core shared library:
${
ARROW_SHARED_LIB
}
"
)
message
(
STATUS
"Found the Arrow core import library:
${
ARROW_IMPORT_LIB
}
"
)
message
(
STATUS
"Found the Arrow core static library:
${
ARROW_STATIC_LIB
}
"
)
endif
()
core/src/index/cmake/ThirdPartyPackagesCore.cmake
浏览文件 @
ba2548a9
...
...
@@ -50,9 +50,14 @@ endmacro()
macro
(
resolve_dependency DEPENDENCY_NAME
)
if
(
${
DEPENDENCY_NAME
}
_SOURCE STREQUAL
"AUTO"
)
#message(STATUS "Finding ${DEPENDENCY_NAME} package")
#message(STATUS "${DEPENDENCY_NAME} package not found")
build_dependency
(
${
DEPENDENCY_NAME
}
)
if
(
${
DEPENDENCY_NAME
}
STREQUAL
"ARROW"
)
find_package
(
${
DEPENDENCY_NAME
}
MODULE
)
if
(
NOT
${${
DEPENDENCY_NAME
}
_FOUND
}
)
build_dependency
(
${
DEPENDENCY_NAME
}
)
endif
()
else
()
build_dependency
(
${
DEPENDENCY_NAME
}
)
endif
()
elseif
(
${
DEPENDENCY_NAME
}
_SOURCE STREQUAL
"BUNDLED"
)
build_dependency
(
${
DEPENDENCY_NAME
}
)
elseif
(
${
DEPENDENCY_NAME
}
_SOURCE STREQUAL
"SYSTEM"
)
...
...
@@ -131,17 +136,6 @@ if (USE_JFROG_CACHE STREQUAL "ON")
endif
()
endif
()
macro
(
resolve_dependency DEPENDENCY_NAME
)
if
(
${
DEPENDENCY_NAME
}
_SOURCE STREQUAL
"AUTO"
)
#disable find_package for now
build_dependency
(
${
DEPENDENCY_NAME
}
)
elseif
(
${
DEPENDENCY_NAME
}
_SOURCE STREQUAL
"BUNDLED"
)
build_dependency
(
${
DEPENDENCY_NAME
}
)
elseif
(
${
DEPENDENCY_NAME
}
_SOURCE STREQUAL
"SYSTEM"
)
find_package
(
${
DEPENDENCY_NAME
}
REQUIRED
)
endif
()
endmacro
()
# ----------------------------------------------------------------------
# ExternalProject options
...
...
@@ -412,7 +406,7 @@ if (KNOWHERE_WITH_ARROW AND NOT TARGET arrow_ep)
resolve_dependency
(
ARROW
)
link_directories
(
SYSTEM
${
ARROW_
PREFIX
}
/lib/
)
link_directories
(
SYSTEM
${
ARROW_
LIBRARY_DIRS
}
)
include_directories
(
SYSTEM
${
ARROW_INCLUDE_DIR
}
)
endif
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录