Skip to content

Commit d46845c

Browse files
committed
Fix SDK CMake
1 parent 002420e commit d46845c

File tree

3 files changed

+39
-32
lines changed

3 files changed

+39
-32
lines changed

CMakeLists.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,13 @@ if(EXECUTORCH_BUILD_ANDROID_DEMO_APP_JNI)
324324
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/demo-apps/android/jni)
325325
endif()
326326

327+
if(EXECUTORCH_BUILD_SDK)
328+
set(EXECUTORCH_BUILD_EXTENSION_DATA_LOADER ON CACHE BOOL "EXECUTORCH_BUILD_EXTENSION_DATA_LOADER" FORCE)
329+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sdk)
330+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util)
331+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/sdk)
332+
endif()
333+
327334
option(EXECUTORCH_BUILD_EXTENSION_DATA_LOADER
328335
"Build the extension/data_loader directory" OFF)
329336
if(EXECUTORCH_BUILD_EXTENSION_DATA_LOADER)
@@ -377,12 +384,6 @@ if(EXECUTORCH_BUILD_SIZE_TEST)
377384
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/test)
378385
endif()
379386

380-
if(EXECUTORCH_BUILD_SDK)
381-
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sdk)
382-
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/util)
383-
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples/sdk)
384-
endif()
385-
386387
if(EXECUTORCH_BUILD_EXAMPLES)
387388
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/examples)
388389
endif()

sdk/CMakeLists.txt

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ if(NOT EXECUTORCH_ROOT)
3030
set(EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..)
3131
endif()
3232

33+
if(NOT FLATC_EXECUTABLE)
34+
set(FLATC_EXECUTABLE flatc)
35+
endif()
36+
3337
# Paths to headers generated from the .fbs files. set(_etdump_schemas
3438
# etdump_schema_flatcc.fbs scalar_type.fbs)
3539

@@ -38,12 +42,9 @@ set(_etdump_schema__srcs
3842
${CMAKE_CURRENT_SOURCE_DIR}/etdump/scalar_type.fbs)
3943

4044

41-
set(_bundled_program_schema_dir
42-
${CMAKE_CURRENT_SOURCE_DIR}/bundled_program/schema)
43-
4445
set(_bundled_program_schema__srcs
45-
${_bundled_program_schema_dir}/bundled_program_schema.fbs
46-
${_bundled_program_schema_dir}/scalar_type.fbs)
46+
${CMAKE_CURRENT_SOURCE_DIR}/bundled_program/schema/bundled_program_schema.fbs
47+
${CMAKE_CURRENT_SOURCE_DIR}/bundled_program/schema/scalar_type.fbs)
4748

4849
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third-party/flatcc
4950
${CMAKE_BINARY_DIR}/third-party/flatcc)
@@ -53,6 +54,7 @@ include(ExternalProject)
5354

5455
# The include directory that will contain the generated schema headers.
5556
set(_program_schema__include_dir "${CMAKE_BINARY_DIR}/sdk/include")
57+
set(_bundled_schema__include_dir "${CMAKE_BINARY_DIR}/sdk/bundled_program")
5658

5759
# Add the host project
5860
# lint_cmake: -readability/wonkycase
@@ -75,7 +77,7 @@ set(_bundled_program_schema__outputs)
7577
foreach(fbs_file ${_bundled_program_schema__srcs})
7678
string(REGEX REPLACE "[.]fbs$" "_generated.h" generated "${fbs_file}")
7779
list(APPEND _bundled_program_schema__outputs
78-
"${_program_schema__include_dir}/${generated}")
80+
"${_bundled_schema__include_dir}/${generated}")
7981
endforeach()
8082

8183
add_library(etdump_schema INTERFACE ${_etdump_schema__outputs})
@@ -104,23 +106,32 @@ add_custom_command(
104106
COMMENT "Generating etdump headers"
105107
VERBATIM)
106108

107-
add_custom_command(
108-
OUTPUT ${_bundled_program_schema__outputs}
109-
COMMAND
110-
${CMAKE_SOURCE_DIR}/third-party/flatcc/bin/flatcc -cwr -o
111-
${_program_schema__include_dir}/executorch/sdk/bundled_program
112-
${_bundled_program_schema__srcs}
113-
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/sdk
114-
DEPENDS flatcc_project
115-
COMMENT "Generating bundled_program headers"
116-
VERBATIM)
117-
118-
target_include_directories(
119-
etdump PUBLIC ${_program_schema__include_dir}
120-
${CMAKE_SOURCE_DIR}/third-party/flatcc/include)
109+
add_library(etdump ${CMAKE_CURRENT_SOURCE_DIR}/etdump/etdump_flatcc.cpp)
110+
target_link_libraries(
111+
etdump
112+
PUBLIC etdump_schema
113+
PRIVATE executorch)
114+
115+
add_custom_command(
116+
OUTPUT ${_bundled_program_schema__outputs}
117+
COMMAND
118+
${FLATC_EXECUTABLE} --cpp --cpp-std c++11 --gen-mutable --scoped-enums -o
119+
"${_bundled_schema__include_dir}/executorch/sdk/bundled_program/schema" ${_bundled_program_schema__srcs}
120+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/sdk
121+
DEPENDS ${FLATC_EXECUTABLE} ${_bundled_program_schema__srcs}
122+
COMMENT "Generating bundled_program headers"
123+
VERBATIM)
124+
125+
#add_library(bundled_program INTERFACE ${_bundled_program_schema__outputs})
126+
add_library(bundled_program ${CMAKE_CURRENT_SOURCE_DIR}/bundled_program/bundled_program.cpp)
127+
target_link_libraries(bundled_program executorch bundled_program_schema)
121128

122129
set_target_properties(bundled_program PROPERTIES LINKER_LANGUAGE CXX)
123130
target_include_directories(
124131
bundled_program
125-
INTERFACE ${_program_schema__include_dir}
132+
PUBLIC ${_bundled_schema__include_dir}
126133
${EXECUTORCH_ROOT}/third-party/flatbuffers/include)
134+
135+
target_include_directories(
136+
etdump PUBLIC ${_program_schema__include_dir}
137+
${CMAKE_SOURCE_DIR}/third-party/flatcc/include)

util/CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,3 @@
33
#
44
# This source code is licensed under the BSD-style license found in the
55
# LICENSE file in the root directory of this source tree.
6-
7-
add_library(bundled_program
8-
${CMAKE_CURRENT_SOURCE_DIR}/bundled_program_verification.cpp)
9-
10-
target_link_libraries(bundled_program executorch bundled_schema)

0 commit comments

Comments
 (0)