@@ -56,16 +56,14 @@ set(SPARROW_IPC_SRC
5656 ${SPARROW_IPC_SOURCE_DIR} /serialize.cpp
5757)
5858
59- set (SCHEMA_DIR ${CMAKE_BINARY_DIR} /format)
60- set (FLATBUFFERS_GENERATED_DIR ${CMAKE_BINARY_DIR} /generated )
59+ # find_program(FLATC_EXECUTABLE flatc)
6160
62- find_program (FLATC_EXECUTABLE flatc)
63-
64- if (NOT FLATC_EXECUTABLE)
65- message (FATAL_ERROR "flatc not found. Please install Flatbuffers." )
66- endif ()
61+ # if(NOT FLATC_EXECUTABLE)
62+ # message(FATAL_ERROR "flatc not found. Please install Flatbuffers.")
63+ # endif()
6764
6865# Fetch schemas from apache arrow
66+ set (SCHEMA_DIR ${CMAKE_BINARY_DIR} /format)
6967set (SCHEMA_URLS
7068 "https://raw.githubusercontent.com/apache/arrow/refs/heads/main/format/File.fbs"
7169 "https://raw.githubusercontent.com/apache/arrow/refs/heads/main/format/Message.fbs"
@@ -81,14 +79,17 @@ file(MAKE_DIRECTORY ${SCHEMA_DIR})
8179set (FLATBUFFERS_SCHEMAS "" )
8280foreach (url IN LISTS SCHEMA_URLS)
8381 get_filename_component (filename ${url} NAME )
84- message (STATUS "Downloading schema: ${url} " )
85- file (DOWNLOAD ${url} ${SCHEMA_DIR} /${filename}
86- STATUS status
87- SHOW_PROGRESS )
82+ if (NOT EXISTS ${SCHEMA_DIR} /${filename} )
83+ message (STATUS "Downloading schema: ${url} " )
84+ file (DOWNLOAD ${url} ${SCHEMA_DIR} /${filename}
85+ STATUS status )
86+ endif ()
87+
8888 list (APPEND FLATBUFFERS_SCHEMAS ${SCHEMA_DIR} /${filename} )
8989endforeach ()
9090
9191# Generate Flatbuffers C++ headers from the schemas
92+ set (FLATBUFFERS_GENERATED_DIR ${CMAKE_BINARY_DIR} /generated )
9293file (MAKE_DIRECTORY ${FLATBUFFERS_GENERATED_DIR} )
9394
9495# Generate output files list
@@ -101,7 +102,7 @@ endforeach()
101102
102103add_custom_command (
103104 OUTPUT ${FLATBUFFERS_GENERATED_HEADERS}
104- COMMAND ${FLATC_EXECUTABLE} --cpp -o ${FLATBUFFERS_GENERATED_DIR} --cpp-std c++17 --scoped-enums ${FLATBUFFERS_SCHEMAS}
105+ COMMAND flatc --cpp -o ${FLATBUFFERS_GENERATED_DIR} --cpp-std c++17 --scoped-enums ${FLATBUFFERS_SCHEMAS}
105106 DEPENDS ${FLATBUFFERS_SCHEMAS}
106107 COMMENT "Generating FlatBuffers C++ headers from schemas"
107108)
@@ -115,8 +116,6 @@ add_library(flatbuffers_interface INTERFACE)
115116target_include_directories (flatbuffers_interface INTERFACE ${FLATBUFFERS_GENERATED_DIR} )
116117add_dependencies (flatbuffers_interface generate_flatbuffers_headers)
117118
118- find_package (FlatBuffers CONFIG REQUIRED)
119-
120119add_library (sparrow-ipc ${SPARROW_IPC_LIBRARY_TYPE} ${SPARROW_IPC_SRC} ${SPARROW_IPC_HEADERS} )
121120target_compile_definitions (sparrow-ipc PUBLIC ${SPARROW_IPC_COMPILE_DEFINITIONS} )
122121
0 commit comments