@@ -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