@@ -13,6 +13,8 @@ if(NOT CMAKE_CXX_STANDARD)
1313 set (CMAKE_CXX_STANDARD 17)
1414endif ()
1515
16+ enable_language (OBJCXX)
17+
1618# Source root directory for executorch.
1719if (NOT EXECUTORCH_ROOT)
1820 set (EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /../../..)
@@ -116,20 +118,33 @@ set(PROTOBUF_SOURCES
116118 runtime/sdk/format/WordTagger.pb.cc
117119)
118120
121+ find_library (FOUNDATION_FRAMEWORK Foundation)
122+
119123# CoreML util
120124add_library (coreml_util)
121125target_sources (coreml_util PRIVATE ${UTIL_SOURCES} )
122- target_include_directories (coreml_util
123- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/util
126+ target_include_directories (coreml_util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/util)
127+ target_link_libraries (coreml_util PRIVATE ${FOUNDATION_FRAMEWORK} )
128+
129+ install (
130+ TARGETS coreml_util
131+ DESTINATION lib
132+ INCLUDES
133+ DESTINATION ${_common_include_directories}
124134)
125135
126136# CoreML inmemoryfs
127137add_library (coreml_inmemoryfs)
128138target_sources (coreml_inmemoryfs PRIVATE ${INMEMORYFS_SOURCES} )
129- target_include_directories (coreml_inmemoryfs
130- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/inmemoryfs
139+ target_include_directories (coreml_inmemoryfs PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/inmemoryfs)
140+ target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util ${FOUNDATION_FRAMEWORK} )
141+
142+ install (
143+ TARGETS coreml_inmemoryfs
144+ DESTINATION lib
145+ INCLUDES
146+ DESTINATION ${_common_include_directories}
131147)
132- target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util)
133148
134149# Define the delegate library
135150add_library (coremldelegate)
@@ -147,9 +162,6 @@ target_include_directories(
147162target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /..)
148163target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /runtime/core/portable_type/c10)
149164target_compile_definitions (coremldelegate PRIVATE C10_USING_CUSTOM_GENERATED_MACROS)
150- target_link_libraries (coremldelegate PRIVATE coreml_util)
151- target_link_libraries (coremldelegate PRIVATE coreml_inmemoryfs)
152- target_link_libraries (coremldelegate PRIVATE executorch_core)
153165
154166if (EXECUTORCH_BUILD_DEVTOOLS)
155167 target_sources (coremldelegate PRIVATE ${SDK_SOURCES} ${PROTOBUF_SOURCES} )
@@ -169,13 +181,17 @@ endif()
169181
170182find_library (ACCELERATE_FRAMEWORK Accelerate)
171183find_library (COREML_FRAMEWORK CoreML)
172- find_library (FOUNDATION_FRAMEWORK Foundation)
173184find_library (SQLITE_LIBRARY sqlite3)
174185
175186target_link_libraries (
176187 coremldelegate
177- PRIVATE executorch_core ${ACCELERATE_FRAMEWORK} ${COREML_FRAMEWORK}
178- ${FOUNDATION_FRAMEWORK} ${SQLITE_LIBRARY}
188+ PUBLIC coreml_util
189+ coreml_inmemoryfs
190+ PRIVATE executorch_core
191+ ${ACCELERATE_FRAMEWORK}
192+ ${COREML_FRAMEWORK}
193+ ${FOUNDATION_FRAMEWORK}
194+ ${SQLITE_LIBRARY}
179195)
180196
181197target_link_options_shared_lib(coremldelegate)
0 commit comments