@@ -13,6 +13,8 @@ if(NOT CMAKE_CXX_STANDARD)
13
13
set (CMAKE_CXX_STANDARD 17 )
14
14
endif ()
15
15
16
+ enable_language (OBJCXX )
17
+
16
18
# Source root directory for executorch.
17
19
if (NOT EXECUTORCH_ROOT )
18
20
set (EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR} /../../.. )
@@ -116,20 +118,33 @@ set(PROTOBUF_SOURCES
116
118
runtime/sdk/format/WordTagger.pb.cc
117
119
)
118
120
121
+ find_library (FOUNDATION_FRAMEWORK Foundation )
122
+
119
123
# CoreML util
120
124
add_library (coreml_util )
121
125
target_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}
124
134
)
125
135
126
136
# CoreML inmemoryfs
127
137
add_library (coreml_inmemoryfs )
128
138
target_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}
131
147
)
132
- target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util )
133
148
134
149
# Define the delegate library
135
150
add_library (coremldelegate )
@@ -147,9 +162,6 @@ target_include_directories(
147
162
target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /.. )
148
163
target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /runtime/core/portable_type/c10 )
149
164
target_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 )
153
165
154
166
if (EXECUTORCH_BUILD_DEVTOOLS )
155
167
target_sources (coremldelegate PRIVATE ${SDK_SOURCES} ${PROTOBUF_SOURCES} )
@@ -169,13 +181,17 @@ endif()
169
181
170
182
find_library (ACCELERATE_FRAMEWORK Accelerate )
171
183
find_library (COREML_FRAMEWORK CoreML )
172
- find_library (FOUNDATION_FRAMEWORK Foundation )
173
184
find_library (SQLITE_LIBRARY sqlite3 )
174
185
175
186
target_link_libraries (
176
187
coremldelegate
177
- PRIVATE executorch_core ${ACCELERATE_FRAMEWORK} ${COREML_FRAMEWORK}
178
- ${FOUNDATION_FRAMEWORK} ${SQLITE_LIBRARY}
188
+ PRIVATE coreml_util
189
+ coreml_inmemoryfs
190
+ executorch_core
191
+ ${ACCELERATE_FRAMEWORK}
192
+ ${COREML_FRAMEWORK}
193
+ ${FOUNDATION_FRAMEWORK}
194
+ ${SQLITE_LIBRARY}
179
195
)
180
196
181
197
target_link_options_shared_lib (coremldelegate )
@@ -199,10 +215,6 @@ else()
199
215
target_compile_options (coremldelegate PRIVATE "-fno-rtti" )
200
216
endif ()
201
217
202
- set (TARGET coremldelegate APPEND_STRING PROPERTY COMPILE_FLAGS
203
- "-x objective-c++"
204
- )
205
-
206
218
set (TARGET coremldelegate APPEND_STRING PROPERTY COMPILE_FLAGS
207
219
"-Wno-null-character"
208
220
)
0 commit comments