mirror of https://github.com/milvus-io/milvus.git
63 lines
2.3 KiB
CMake
63 lines
2.3 KiB
CMake
|
cmake_minimum_required(VERSION 3.14...3.17 FATAL_ERROR)
|
||
|
project(wrapper)
|
||
|
|
||
|
set(CMAKE_CXX_STANDARD 17)
|
||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||
|
|
||
|
if (NOT GIT_ARROW_REPO)
|
||
|
set(GIT_ARROW_REPO "https://github.com/apache/arrow.git")
|
||
|
endif ()
|
||
|
message(STATUS "Arrow Repo:" ${GIT_ARROW_REPO})
|
||
|
|
||
|
if (NOT GIT_ARROW_TAG)
|
||
|
set(GIT_ARROW_TAG "apache-arrow-2.0.0")
|
||
|
endif ()
|
||
|
message(STATUS "Arrow Tag:" ${GIT_ARROW_TAG})
|
||
|
|
||
|
###################################################################################################
|
||
|
# - cmake modules ---------------------------------------------------------------------------------
|
||
|
|
||
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH})
|
||
|
|
||
|
###################################################################################################
|
||
|
# - build arrow ------------------------------------------------------------------------------------
|
||
|
|
||
|
message(STATUS "BUILDING ARROW")
|
||
|
include(ConfigureArrow)
|
||
|
|
||
|
if (ARROW_FOUND)
|
||
|
message(STATUS "Apache Arrow found in ${ARROW_INCLUDE_DIR}")
|
||
|
else ()
|
||
|
message(FATAL_ERROR "Apache Arrow not found, please check your settings.")
|
||
|
endif (ARROW_FOUND)
|
||
|
|
||
|
add_library(arrow STATIC IMPORTED ${ARROW_LIB})
|
||
|
add_library(parquet STATIC IMPORTED ${PARQUET_LIB})
|
||
|
add_library(thrift STATIC IMPORTED ${THRIFT_LIB})
|
||
|
add_library(utf8proc STATIC IMPORTED ${UTF8PROC_LIB})
|
||
|
|
||
|
if (ARROW_FOUND)
|
||
|
set_target_properties(arrow PROPERTIES IMPORTED_LOCATION ${ARROW_LIB})
|
||
|
set_target_properties(parquet PROPERTIES IMPORTED_LOCATION ${PARQUET_LIB})
|
||
|
set_target_properties(thrift PROPERTIES IMPORTED_LOCATION ${THRIFT_LIB})
|
||
|
set_target_properties(utf8proc PROPERTIES IMPORTED_LOCATION ${UTF8PROC_LIB})
|
||
|
endif (ARROW_FOUND)
|
||
|
|
||
|
###################################################################################################
|
||
|
|
||
|
include_directories(${ARROW_INCLUDE_DIR})
|
||
|
include_directories(${PROJECT_SOURCE_DIR})
|
||
|
|
||
|
add_library(wrapper STATIC)
|
||
|
target_sources(wrapper PUBLIC ParquetWrapper.cpp
|
||
|
PayloadStream.cpp)
|
||
|
|
||
|
target_link_libraries(wrapper PUBLIC parquet arrow thrift utf8proc pthread)
|
||
|
|
||
|
if(NOT CMAKE_INSTALL_PREFIX)
|
||
|
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
|
||
|
endif()
|
||
|
install(TARGETS wrapper DESTINATION ${CMAKE_INSTALL_PREFIX})
|
||
|
install(FILES ${ARROW_LIB} ${PARQUET_LIB} ${THRIFT_LIB} ${UTF8PROC_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX})
|
||
|
|
||
|
add_subdirectory(test)
|