mirror of
https://github.com/emqx/neuron.git
synced 2026-10-17 04:40:42 +08:00
48 lines
1.2 KiB
CMake
48 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.12)
|
|
|
|
project(plugin-datalayers)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
set(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/plugins")
|
|
|
|
file(COPY ${CMAKE_SOURCE_DIR}/plugins/datalayers/datalayers.json DESTINATION ${CMAKE_BINARY_DIR}/plugins/schema/)
|
|
|
|
add_library(${PROJECT_NAME} SHARED
|
|
datalayers_config.c
|
|
datalayers_handle.c
|
|
datalayers_plugin.c
|
|
datalayers_plugin_intf.c
|
|
${CMAKE_SOURCE_DIR}/src/persist/datalayers/flight_sql_client.cpp
|
|
)
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
|
${CMAKE_SOURCE_DIR}/include/neuron
|
|
${CMAKE_SOURCE_DIR}/plugins/datalayers
|
|
${CMAKE_SOURCE_DIR}/src/persist/datalayers
|
|
)
|
|
|
|
set(ARROW_USE_STATIC_LIBS ON)
|
|
set(ARROW_STATIC_LIB TRUE)
|
|
|
|
find_package(Arrow REQUIRED)
|
|
find_package(ArrowFlight REQUIRED)
|
|
find_package(ArrowFlightSql REQUIRED)
|
|
find_package(gRPC REQUIRED)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
-Wl,--whole-archive
|
|
gRPC::grpc++
|
|
-Wl,--no-whole-archive
|
|
Arrow::arrow_static
|
|
ArrowFlight::arrow_flight_static
|
|
ArrowFlightSql::arrow_flight_sql_static
|
|
stdc++
|
|
gflags
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
)
|
|
|
|
target_link_libraries(${PROJECT_NAME} neuron-base)
|
|
target_link_libraries(${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT}) |