forked from ray-project/ray
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFlatBuffersExternalProject.cmake
43 lines (37 loc) · 1.51 KB
/
FlatBuffersExternalProject.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# flatbuffers external project
# target:
# - flatbuffer_ep
# depends:
#
# defines:
# - FLATBUFFERS_HOME
# - FLATBUFFERS_INCLUDE_DIR
# - FLATBUFFERS_STATIC_LIB
# - FLATBUFFERS_COMPILER
# - FBS_DEPENDS, to keep compatible
if(DEFINED ENV{RAY_FLATBUFFERS_HOME} AND EXISTS $ENV{RAY_FLATBUFFERS_HOME})
set(FLATBUFFERS_HOME "$ENV{RAY_FLATBUFFERS_HOME}")
set(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_HOME}/include")
set(FLATBUFFERS_STATIC_LIB "${FLATBUFFERS_HOME}/lib${LIB_SUFFIX}/libflatbuffers.a")
set(FLATBUFFERS_COMPILER "${FLATBUFFERS_HOME}/bin/flatc")
add_custom_target(flatbuffers_ep)
else()
set(flatbuffers_VERSION "1.10.0")
set(flatbuffers_URL "https://github.com/google/flatbuffers/archive/v${flatbuffers_VERSION}.tar.gz")
set(flatbuffers_URL_MD5 "f7d19a3f021d93422b0bc287d7148cd2")
set(FLATBUFFERS_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/external/flatbuffers-install")
set(FLATBUFFERS_HOME "${FLATBUFFERS_INSTALL_PREFIX}")
set(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_INSTALL_PREFIX}/include")
set(FLATBUFFERS_STATIC_LIB "${FLATBUFFERS_INSTALL_PREFIX}/lib${LIB_SUFFIX}/libflatbuffers.a")
set(FLATBUFFERS_COMPILER "${FLATBUFFERS_INSTALL_PREFIX}/bin/flatc")
ExternalProject_Add(flatbuffers_ep
PREFIX external/flatbuffers
URL ${flatbuffers_URL}
URL_MD5 ${flatbuffers_URL_MD5}
CMAKE_ARGS
"-DCMAKE_CXX_FLAGS=-fPIC"
"-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_INSTALL_PREFIX}"
"-DFLATBUFFERS_BUILD_TESTS=OFF"
"-DCMAKE_BUILD_TYPE=RELEASE")
endif()
set(FBS_DEPENDS flatbuffers_ep)