Skip to content

Commit

Permalink
use vars for flatbuffers, don't rebuild files every time
Browse files Browse the repository at this point in the history
  • Loading branch information
Tim Paine committed Oct 9, 2019
1 parent 2ad82a5 commit 0377eb9
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 22 deletions.
35 changes: 20 additions & 15 deletions cmake/arrow/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,21 @@ set_property(SOURCE util/io_util.cc
APPEND_STRING
PROPERTY COMPILE_FLAGS " -Wno-unused-macros -stdlib=libc++")


# make clean will delete the generated file
set_source_files_properties(Message_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(feather_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(File_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(../arrow-src/cpp/src/arrow/ipc/Message_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(../arrow-src/cpp/src/arrow/ipc/File_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(../arrow-src/cpp/src/arrow/ipc/Schema_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(../arrow-src/cpp/src/arrow/ipc/Tensor_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(../arrow-src/cpp/src/arrow/ipc/SparseTensor_generated.h PROPERTIES GENERATED TRUE)
set_source_files_properties(../arrow-src/cpp/src/arrow/ipc/feather_generated.h PROPERTIES GENERATED TRUE)

set(FBS_OUTPUT_FILES "src/arrow/ipc/File_generated.h"
"src/arrow/ipc/Message_generated.h"
"src/arrow/ipc/feather_generated.h")
set(FBS_OUTPUT_FILES
"../arrow-src/cpp/src/arrow/ipc/Message_generated.h"
"../arrow-src/cpp/src/arrow/ipc/File_generated.h"
"../arrow-src/cpp/src/arrow/ipc/Schema_generated.h"
"../arrow-src/cpp/src/arrow/ipc/Tensor_generated.h"
"../arrow-src/cpp/src/arrow/ipc/SparseTensor_generated.h"
"../arrow-src/cpp/src/arrow/ipc/feather_generated.h")

set(FBS_SRC
../format/Message.fbs
Expand All @@ -106,13 +112,11 @@ endforeach()

include_directories(src)
set(ARROW_BUILD_STATIC ON)

if (PSP_WASM_BUILD)
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
elseif(PSP_CPP_BUILD OR PSP_PYTHON_BUILD)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()

add_library(arrow STATIC ${ARROW_SRCS})
target_compile_definitions(arrow PUBLIC ARROW_NO_DEPRECATED_API)
target_compile_definitions(arrow PUBLIC ARROW_STATIC)
Expand All @@ -123,14 +127,15 @@ target_link_libraries(arrow
${Boost_SYSTEM_LIBRARY}
${ARROW_TEST_LINK_TOOLCHAIN})

add_custom_target(arrow_fb_files
# COMMAND node $<TARGET_FILE:flatc>
COMMAND /usr/local/bin/flatc
add_custom_command(OUTPUT ${FBS_OUTPUT_FILES}
COMMAND ${FLATBUFFERS_COMPILER}
-c
-o
../arrow-src/cpp/src/arrow/ipc/
${ABS_FBS_SRC}
DEPENDS ${FLATBUFFERS_COMPILER}
COMMENT "Running flatc compiler on ${ABS_FBS_SRC}"
VERBATIM)
# add_dependencies(arrow_fb_files flatc)

add_custom_target(arrow_fb_files DEPENDS ${FBS_OUTPUT_FILES})
add_dependencies(arrow arrow_fb_files)
6 changes: 3 additions & 3 deletions cmake/modules/FindFlatbuffers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,13 @@
# https://gitlab.kitware.com/cmake/cmake/issues/19120
find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers/flatbuffers.h
PATHS ${FLATBUFFERS_ROOT}/include
HINTS /usr/local /usr
HINTS /usr/local /usr/local/flatbuffers /usr/local/Homebrew /usr ~/homebrew/ /usr/local/include /usr/local/flatbuffers/include /usr/include ~/homebrew/include
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH)

find_program(FLATBUFFERS_COMPILER flatc
PATHS ${FLATBUFFERS_ROOT}/bin
HINTS /usr/local/bin /usr/bin /usr/local/Homebrew/bin ~/homebrew/bin
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH)

Expand All @@ -44,5 +45,4 @@ endif()
message("${FLATBUFFERS_COMPILER}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FLATBUFFERS REQUIRED_VARS
FLATBUFFERS_COMPILER)
# FLATBUFFERS_INCLUDE_DIR FLATBUFFERS_COMPILER)
FLATBUFFERS_INCLUDE_DIR FLATBUFFERS_COMPILER)
7 changes: 3 additions & 4 deletions cpp/perspective/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,6 @@ if (PSP_WASM_BUILD)
include_directories("/usr/local/Homebrew/include")
include_directories("/usr/local/include" SYSTEM)
include_directories("/boost_includes")
include_directories("/usr/local/flatbuffers/include")
psp_build_dep("rapidjson" "../../cmake/rapidjson.txt.in")

set(EXTENDED_FLAGS " \
Expand Down Expand Up @@ -313,8 +312,8 @@ find_package(Flatbuffers)
if(NOT FLATBUFFERS_FOUND)
message(FATAL_ERROR"${Red}Flatbuffers could not be located${ColorReset}")
else()
message("${Cyan}Found Flatbuffers in ${FLATBUFFERS_INCLUDE_DIRS}${ColorReset}")
include_directories( ${FLATBUFFERS_INCLUDE_DIRS} )
message("${Cyan}Found Flatbuffers in ${FLATBUFFERS_INCLUDE_DIR}${ColorReset}")
include_directories( ${FLATBUFFERS_INCLUDE_DIR} )
endif()

set(CMAKE_C_FLAGS " \
Expand Down Expand Up @@ -449,7 +448,7 @@ elseif(PSP_CPP_BUILD OR PSP_PYTHON_BUILD)
target_compile_definitions(psp PRIVATE PSP_ENABLE_PYTHON=1)
target_link_libraries(psp arrow)
target_link_libraries(psp ${Boost_FILESYSTEM_LIBRARY})

target_link_libraries(psp ${PYTHON_LIBRARIES})
set(CMAKE_SHARED_LIBRARY_SUFFIX .so)

Expand Down

0 comments on commit 0377eb9

Please sign in to comment.