2017-08-02 18:14:14 -07:00
|
|
|
cmake_minimum_required(VERSION 3.4)
|
2017-01-17 16:56:40 -08:00
|
|
|
|
|
|
|
project(ray)
|
|
|
|
|
2017-12-14 14:54:09 -08:00
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules")
|
|
|
|
|
2017-12-26 16:22:04 -08:00
|
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/src/thirdparty/arrow/python/cmake_modules)
|
|
|
|
|
|
|
|
find_package(Arrow)
|
|
|
|
find_package(Plasma)
|
|
|
|
|
2017-12-14 14:54:09 -08:00
|
|
|
# This ensures that things like gnu++11 get passed correctly
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
|
|
|
|
# We require a C++11 compliant compiler
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
option(RAY_BUILD_STATIC
|
2017-12-26 16:22:04 -08:00
|
|
|
"Build the libray static libraries"
|
2017-12-14 14:54:09 -08:00
|
|
|
ON)
|
|
|
|
|
|
|
|
option(RAY_BUILD_SHARED
|
2017-12-26 16:22:04 -08:00
|
|
|
"Build the libray shared libraries"
|
2017-12-14 14:54:09 -08:00
|
|
|
ON)
|
|
|
|
|
|
|
|
option(RAY_BUILD_TESTS
|
|
|
|
"Build the Ray googletest unit tests"
|
|
|
|
ON)
|
|
|
|
|
|
|
|
include(ExternalProject)
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
include(BuildUtils)
|
|
|
|
enable_testing()
|
|
|
|
|
|
|
|
include(ThirdpartyToolchain)
|
|
|
|
|
2017-12-26 16:22:04 -08:00
|
|
|
include_directories(SYSTEM ${ARROW_INCLUDE_DIR})
|
|
|
|
include_directories(SYSTEM ${PLASMA_INCLUDE_DIR})
|
2017-12-14 14:54:09 -08:00
|
|
|
include_directories("${CMAKE_CURRENT_LIST_DIR}/src/")
|
2017-07-31 21:04:15 -07:00
|
|
|
|
2017-12-14 14:54:09 -08:00
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/ray/)
|
2017-01-17 16:56:40 -08:00
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/common/)
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/plasma/)
|
2017-02-27 12:24:07 -08:00
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/local_scheduler/)
|
2017-01-17 16:56:40 -08:00
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/src/global_scheduler/)
|