@@ -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,31 @@ set(PROTOBUF_SOURCES
116118 runtime/sdk/format/WordTagger.pb.cc
117119)
118120
121+ find_library (FOUNDATION_FRAMEWORK Foundation)
122+
119123# CoreML util
120- add_library (coreml_util)
121- target_sources (coreml_util PRIVATE ${UTIL_SOURCES} )
122- target_include_directories (coreml_util
123- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/util
124+ add_library (coreml_util ${UTIL_SOURCES} )
125+ target_include_directories (coreml_util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/util)
126+ target_link_libraries (coreml_util PRIVATE ${FOUNDATION_FRAMEWORK} )
127+
128+ install (
129+ TARGETS coreml_util
130+ DESTINATION lib
131+ INCLUDES
132+ DESTINATION ${_common_include_directories}
124133)
125134
126135# CoreML inmemoryfs
127- add_library (coreml_inmemoryfs)
128- target_sources (coreml_inmemoryfs PRIVATE ${INMEMORYFS_SOURCES} )
129- target_include_directories (coreml_inmemoryfs
130- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/inmemoryfs
136+ add_library (coreml_inmemoryfs ${INMEMORYFS_SOURCES} )
137+ target_include_directories (coreml_inmemoryfs PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/inmemoryfs)
138+ target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util ${FOUNDATION_FRAMEWORK} )
139+
140+ install (
141+ TARGETS coreml_inmemoryfs
142+ DESTINATION lib
143+ INCLUDES
144+ DESTINATION ${_common_include_directories}
131145)
132- target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util)
133146
134147# Define the delegate library
135148add_library (coremldelegate)
@@ -147,9 +160,6 @@ target_include_directories(
147160target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /..)
148161target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /runtime/core/portable_type/c10)
149162target_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)
153163
154164if (EXECUTORCH_BUILD_DEVTOOLS)
155165 target_sources (coremldelegate PRIVATE ${SDK_SOURCES} ${PROTOBUF_SOURCES} )
@@ -169,13 +179,17 @@ endif()
169179
170180find_library (ACCELERATE_FRAMEWORK Accelerate)
171181find_library (COREML_FRAMEWORK CoreML)
172- find_library (FOUNDATION_FRAMEWORK Foundation)
173182find_library (SQLITE_LIBRARY sqlite3)
174183
175184target_link_libraries (
176185 coremldelegate
177- PRIVATE executorch_core ${ACCELERATE_FRAMEWORK} ${COREML_FRAMEWORK}
178- ${FOUNDATION_FRAMEWORK} ${SQLITE_LIBRARY}
186+ PUBLIC coreml_util
187+ coreml_inmemoryfs
188+ PRIVATE executorch_core
189+ ${ACCELERATE_FRAMEWORK}
190+ ${COREML_FRAMEWORK}
191+ ${FOUNDATION_FRAMEWORK}
192+ ${SQLITE_LIBRARY}
179193)
180194
181195target_link_options_shared_lib(coremldelegate)
0 commit comments