@@ -17,7 +17,18 @@ set(EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
1717
1818include (${EXECUTORCH_ROOT} /tools/cmake/Test.cmake )
1919
20- set (_kernels portable optimized_portable optimized quantized)
20+ # Build kernel list conditionally based on what's enabled
21+ set (_kernels portable)
22+ if (EXECUTORCH_BUILD_PTHREADPOOL AND EXECUTORCH_BUILD_KERNELS_OPTIMIZED)
23+ list (APPEND _kernels optimized_portable)
24+ endif ()
25+ if (EXECUTORCH_BUILD_KERNELS_OPTIMIZED)
26+ list (APPEND _kernels optimized)
27+ endif ()
28+ if (EXECUTORCH_BUILD_KERNELS_QUANTIZED)
29+ list (APPEND _kernels quantized)
30+ endif ()
31+
2132foreach (kernel ${_kernels} )
2233 set (_wrapper_dir
2334 "${CMAKE_CURRENT_BINARY_DIR} /include/${kernel} /executorch/kernels/test"
@@ -106,22 +117,41 @@ foreach(kernel ${_kernels})
106117 )
107118endforeach ()
108119
109- add_custom_target (
110- generate_wrapper
111- DEPENDS
120+ # Build the list of wrapper dependencies based on which kernels are enabled
121+ set (_generate_wrapper_deps
112122 "${CMAKE_CURRENT_BINARY_DIR} /include/portable/executorch/kernels/test/FunctionHeaderWrapper.h"
113123 "${CMAKE_CURRENT_BINARY_DIR} /include/portable/executorch/kernels/test/supported_features.h"
114124 "${CMAKE_CURRENT_BINARY_DIR} /include/portable/executorch/kernels/test/supported_features.cpp"
115- "${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/FunctionHeaderWrapper.h"
116- "${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.h"
117- "${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.cpp"
125+ )
126+ if (EXECUTORCH_BUILD_PTHREADPOOL AND EXECUTORCH_BUILD_KERNELS_OPTIMIZED)
127+ list (
128+ APPEND
129+ _generate_wrapper_deps
118130 "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/FunctionHeaderWrapper.h"
119131 "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/supported_features.h"
120132 "${CMAKE_CURRENT_BINARY_DIR} /include/optimized_portable/executorch/kernels/test/supported_features.cpp"
133+ )
134+ endif ()
135+ if (EXECUTORCH_BUILD_KERNELS_OPTIMIZED)
136+ list (
137+ APPEND
138+ _generate_wrapper_deps
139+ "${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/FunctionHeaderWrapper.h"
140+ "${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.h"
141+ "${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.cpp"
142+ )
143+ endif ()
144+ if (EXECUTORCH_BUILD_KERNELS_QUANTIZED)
145+ list (
146+ APPEND
147+ _generate_wrapper_deps
121148 "${CMAKE_CURRENT_BINARY_DIR} /include/quantized/executorch/kernels/test/FunctionHeaderWrapper.h"
122149 "${CMAKE_CURRENT_BINARY_DIR} /include/quantized/executorch/kernels/test/supported_features.h"
123150 "${CMAKE_CURRENT_BINARY_DIR} /include/quantized/executorch/kernels/test/supported_features.cpp"
124- )
151+ )
152+ endif ()
153+
154+ add_custom_target (generate_wrapper DEPENDS ${_generate_wrapper_deps} )
125155
126156set (all_test_sources
127157 "BinaryLogicalOpTest.cpp"
@@ -309,32 +339,55 @@ target_include_directories(
309339 portable_kernels_test PRIVATE "${CMAKE_CURRENT_BINARY_DIR} /include/portable"
310340)
311341
312- set (_optimized_kernels_test_sources
313- "op_add_test.cpp"
314- "op_bmm_test.cpp"
315- "op_div_test.cpp"
316- "op_elu_test.cpp"
317- "op_exp_test.cpp"
318- "op_fft_c2r_test.cpp"
319- "op_fft_r2c_test.cpp"
320- "op_gelu_test.cpp"
321- "op_le_test.cpp"
322- "op_linear_test.cpp"
323- "op_log_softmax_test.cpp"
324- "op_mm_test.cpp"
325- "op_mul_test.cpp"
326- "op_native_layer_norm_test.cpp"
327- "op_neg_test.cpp"
328- "op_sub_test.cpp"
329- "op_where_test.cpp"
330- "UnaryUfuncRealHBBF16ToFloatHBF16Test.cpp"
331- ${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.cpp
332- )
342+ if (EXECUTORCH_BUILD_KERNELS_OPTIMIZED)
343+ set (_optimized_kernels_test_sources
344+ "op_add_test.cpp"
345+ "op_bmm_test.cpp"
346+ "op_div_test.cpp"
347+ "op_elu_test.cpp"
348+ "op_exp_test.cpp"
349+ "op_fft_c2r_test.cpp"
350+ "op_fft_r2c_test.cpp"
351+ "op_gelu_test.cpp"
352+ "op_le_test.cpp"
353+ "op_linear_test.cpp"
354+ "op_log_softmax_test.cpp"
355+ "op_mm_test.cpp"
356+ "op_mul_test.cpp"
357+ "op_native_layer_norm_test.cpp"
358+ "op_neg_test.cpp"
359+ "op_sub_test.cpp"
360+ "op_where_test.cpp"
361+ "UnaryUfuncRealHBBF16ToFloatHBF16Test.cpp"
362+ ${CMAKE_CURRENT_BINARY_DIR} /include/optimized/executorch/kernels/test/supported_features.cpp
363+ )
333364
334- if (TARGET optimized_portable_kernels)
335- list (APPEND _optimized_kernels_test_sources ${all_test_sources} )
336- list (REMOVE_DUPLICATES _optimized_kernels_test_sources)
365+ if (TARGET optimized_portable_kernels)
366+ list (APPEND _optimized_kernels_test_sources ${all_test_sources} )
367+ list (REMOVE_DUPLICATES _optimized_kernels_test_sources)
368+ endif ()
369+
370+ et_cxx_test (
371+ optimized_kernels_test
372+ SOURCES
373+ ${_optimized_kernels_test_sources}
374+ EXTRA_LIBS
375+ cpuinfo
376+ extension_threadpool
377+ optimized_native_cpu_ops_lib
378+ pthreadpool
379+ eigen_blas
380+ )
381+ add_dependencies (optimized_kernels_test generate_wrapper )
382+ target_include_directories (
383+ optimized_kernels_test
384+ PRIVATE "${CMAKE_CURRENT_BINARY_DIR} /include/optimized"
385+ "${CMAKE_CURRENT_BINARY_DIR} /include/portable"
386+ "${CMAKE_INSTALL_PREFIX} /include"
387+ )
388+ endif ()
337389
390+ if (TARGET optimized_portable_kernels)
338391 # Make sure that we still test optimized versions of portable kernels even if
339392 # they would currently be shadowed by specific optimized implementations.
340393 et_cxx_test (
@@ -352,25 +405,6 @@ if(TARGET optimized_portable_kernels)
352405 )
353406endif ()
354407
355- et_cxx_test (
356- optimized_kernels_test
357- SOURCES
358- ${_optimized_kernels_test_sources}
359- EXTRA_LIBS
360- cpuinfo
361- extension_threadpool
362- optimized_native_cpu_ops_lib
363- pthreadpool
364- eigen_blas
365- )
366- add_dependencies (optimized_kernels_test generate_wrapper )
367- target_include_directories (
368- optimized_kernels_test
369- PRIVATE "${CMAKE_CURRENT_BINARY_DIR} /include/optimized"
370- "${CMAKE_CURRENT_BINARY_DIR} /include/portable"
371- "${CMAKE_INSTALL_PREFIX} /include"
372- )
373-
374408if (TARGET quantized_kernels)
375409 set (_quantized_kernels_test_sources
376410 "${EXECUTORCH_ROOT} /kernels/quantized/test/op_add_test.cpp"
0 commit comments