@@ -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,36 @@ set(PROTOBUF_SOURCES
116118 runtime/sdk/format/WordTagger.pb.cc
117119)
118120
121+ find_library (ACCELERATE_FRAMEWORK Accelerate)
122+ find_library (FOUNDATION_FRAMEWORK Foundation)
123+ find_library (COREML_FRAMEWORK CoreML)
124+ find_library (SQLITE_LIBRARY sqlite3)
125+
119126# CoreML util
120127add_library (coreml_util)
121128target_sources (coreml_util PRIVATE ${UTIL_SOURCES} )
122- target_include_directories (coreml_util
123- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/util
129+ target_include_directories (coreml_util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/util)
130+ target_link_libraries (coreml_util PRIVATE ${FOUNDATION_FRAMEWORK} )
131+
132+ install (
133+ TARGETS coreml_util
134+ DESTINATION lib
135+ INCLUDES
136+ DESTINATION ${_common_include_directories}
124137)
125138
126139# CoreML inmemoryfs
127140add_library (coreml_inmemoryfs)
128141target_sources (coreml_inmemoryfs PRIVATE ${INMEMORYFS_SOURCES} )
129- target_include_directories (coreml_inmemoryfs
130- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/inmemoryfs
142+ target_include_directories (coreml_inmemoryfs PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} /runtime/inmemoryfs)
143+ target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util ${FOUNDATION_FRAMEWORK} )
144+
145+ install (
146+ TARGETS coreml_inmemoryfs
147+ DESTINATION lib
148+ INCLUDES
149+ DESTINATION ${_common_include_directories}
131150)
132- target_link_libraries (coreml_inmemoryfs PRIVATE coreml_util)
133151
134152# Define the delegate library
135153add_library (coremldelegate)
@@ -147,9 +165,6 @@ target_include_directories(
147165target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /..)
148166target_include_directories (coremldelegate PRIVATE ${EXECUTORCH_ROOT} /runtime/core/portable_type/c10)
149167target_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)
153168
154169if (EXECUTORCH_BUILD_DEVTOOLS)
155170 target_sources (coremldelegate PRIVATE ${SDK_SOURCES} ${PROTOBUF_SOURCES} )
@@ -167,15 +182,15 @@ if(EXECUTORCH_BUILD_DEVTOOLS)
167182 target_link_libraries (coremldelegate PRIVATE libprotobuf-lite)
168183endif ()
169184
170- find_library (ACCELERATE_FRAMEWORK Accelerate)
171- find_library (COREML_FRAMEWORK CoreML)
172- find_library (FOUNDATION_FRAMEWORK Foundation)
173- find_library (SQLITE_LIBRARY sqlite3)
174-
175185target_link_libraries (
176186 coremldelegate
177- PRIVATE executorch_core ${ACCELERATE_FRAMEWORK} ${COREML_FRAMEWORK}
178- ${FOUNDATION_FRAMEWORK} ${SQLITE_LIBRARY}
187+ PRIVATE coreml_util
188+ coreml_inmemoryfs
189+ executorch_core
190+ ${ACCELERATE_FRAMEWORK}
191+ ${COREML_FRAMEWORK}
192+ ${FOUNDATION_FRAMEWORK}
193+ ${SQLITE_LIBRARY}
179194)
180195
181196target_link_options_shared_lib(coremldelegate)
@@ -199,10 +214,6 @@ else()
199214 target_compile_options (coremldelegate PRIVATE "-fno-rtti" )
200215endif ()
201216
202- set (TARGET coremldelegate APPEND_STRING PROPERTY COMPILE_FLAGS
203- "-x objective-c++"
204- )
205-
206217set (TARGET coremldelegate APPEND_STRING PROPERTY COMPILE_FLAGS
207218 "-Wno-null-character"
208219)
0 commit comments