Skip to content

Commit 296af8f

Browse files
committed
attempt to fix linker
1 parent 18e56a4 commit 296af8f

File tree

3 files changed

+31
-15
lines changed

3 files changed

+31
-15
lines changed

backends/apple/coreml/CMakeLists.txt

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ if(NOT CMAKE_CXX_STANDARD)
1313
set(CMAKE_CXX_STANDARD 17)
1414
endif()
1515

16+
enable_language(OBJCXX)
17+
1618
# Source root directory for executorch.
1719
if(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
120124
add_library(coreml_util)
121125
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}
124134
)
125135

126136
# CoreML inmemoryfs
127137
add_library(coreml_inmemoryfs)
128138
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}
131147
)
132-
target_link_libraries(coreml_inmemoryfs PRIVATE coreml_util)
133148

134149
# Define the delegate library
135150
add_library(coremldelegate)
@@ -147,9 +162,6 @@ target_include_directories(
147162
target_include_directories(coremldelegate PRIVATE ${EXECUTORCH_ROOT}/..)
148163
target_include_directories(coremldelegate PRIVATE ${EXECUTORCH_ROOT}/runtime/core/portable_type/c10)
149164
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)
153165

154166
if(EXECUTORCH_BUILD_DEVTOOLS)
155167
target_sources(coremldelegate PRIVATE ${SDK_SOURCES} ${PROTOBUF_SOURCES})
@@ -169,13 +181,17 @@ endif()
169181

170182
find_library(ACCELERATE_FRAMEWORK Accelerate)
171183
find_library(COREML_FRAMEWORK CoreML)
172-
find_library(FOUNDATION_FRAMEWORK Foundation)
173184
find_library(SQLITE_LIBRARY sqlite3)
174185

175186
target_link_libraries(
176187
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}
179195
)
180196

181197
target_link_options_shared_lib(coremldelegate)
@@ -199,10 +215,6 @@ else()
199215
target_compile_options(coremldelegate PRIVATE "-fno-rtti")
200216
endif()
201217

202-
set(TARGET coremldelegate APPEND_STRING PROPERTY COMPILE_FLAGS
203-
"-x objective-c++"
204-
)
205-
206218
set(TARGET coremldelegate APPEND_STRING PROPERTY COMPILE_FLAGS
207219
"-Wno-null-character"
208220
)

examples/models/llama/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,8 @@ if(TARGET coremldelegate)
193193
list(
194194
APPEND
195195
link_libraries
196+
coreml_util
197+
coreml_inmemoryfs
196198
coremldelegate
197199
sqlite3
198200
"-framework Foundation"

tools/cmake/executorch-config.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ set(lib_list
6767
bundled_program
6868
extension_data_loader
6969
${FLATCCRT_LIB}
70+
coreml_util
71+
coreml_inmemoryfs
7072
coremldelegate
7173
mpsdelegate
7274
neuron_backend

0 commit comments

Comments
 (0)