Skip to content

Commit 75f78ff

Browse files
committed
Adding file checks to rebuild sources if they're empty
1 parent 9b0feb0 commit 75f78ff

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

tools/cmake/Codegen.cmake

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,15 +245,27 @@ function(gen_operators_lib)
245245
list(REMOVE_ITEM GEN_KERNEL_LIBS ${portable_kernels_check})
246246

247247
# Build kernels_util_all_deps, since later selected_portable_kernels depends on it
248-
list(TRANSFORM _kernels_util_all_deps__srcs PREPEND "${EXECUTORCH_ROOT}/")
248+
list(LENGTH _kernels_util_all_deps__srcs num_util_srcs)
249+
if(num_util_srcs EQUAL 0)
250+
file(GLOB_RECURSE _kernels_util_all_deps__srcs "${EXECUTORCH_DIR}/kernels/portable/cpu/util/*.cpp")
251+
list(FILTER _kernels_util_all_deps__srcs EXCLUDE REGEX "${EXECUTORCH_DIR}/kernels/portable/cpu/util/test/.*")
252+
else()
253+
list(TRANSFORM _kernels_util_all_deps__srcs PREPEND "${EXECUTORCH_ROOT}/")
254+
endif()
249255
add_library(selected_kernels_util_all_deps ${_kernels_util_all_deps__srcs})
250256
target_link_libraries(selected_kernels_util_all_deps PRIVATE executorch_core)
251257
target_include_directories(selected_kernels_util_all_deps PUBLIC ${_common_include_directories})
252258
target_compile_definitions(selected_kernels_util_all_deps PUBLIC C10_USING_CUSTOM_GENERATED_MACROS)
253259
target_compile_options(selected_kernels_util_all_deps PUBLIC ${_common_compile_options})
254260

255261
# Build selected_portable_kernels
256-
list(TRANSFORM _portable_kernels__srcs PREPEND "${EXECUTORCH_ROOT}/")
262+
list(LENGTH _portable_kernels__srcs num_kernel_srcs)
263+
if(num_kernel_srcs EQUAL 0)
264+
file(GLOB_RECURSE _portable_kernels__srcs "${EXECUTORCH_DIR}/kernels/portable/cpu/op_*.cpp")
265+
list(FILTER _portable_kernels__srcs EXCLUDE REGEX "${EXECUTORCH_DIR}/kernels/portable/cpu/util/test/.*")
266+
else()
267+
list(TRANSFORM _portable_kernels__srcs PREPEND "${EXECUTORCH_ROOT}/")
268+
endif()
257269
add_library(selected_portable_kernels ${_portable_kernels__srcs})
258270
target_link_libraries(selected_portable_kernels PRIVATE executorch_core selected_kernels_util_all_deps)
259271
target_compile_options(selected_portable_kernels PUBLIC ${_common_compile_options})

0 commit comments

Comments
 (0)