@@ -185,8 +185,6 @@ option(EXECUTORCH_BUILD_EXTENSION_TENSOR "Build the Tensor extension" OFF)
185185
186186option (EXECUTORCH_BUILD_EXTENSION_TRAINING "Build the training extension" OFF )
187187
188- option (EXECUTORCH_BUILD_GTESTS "Build googletest based test binaries" OFF )
189-
190188option (EXECUTORCH_BUILD_MPS "Build the MPS backend" OFF )
191189
192190option (EXECUTORCH_BUILD_NEURON "Build the backends/mediatek directory" OFF )
@@ -201,6 +199,8 @@ option(EXECUTORCH_BUILD_KERNELS_QUANTIZED "Build the quantized kernels" OFF)
201199
202200option (EXECUTORCH_BUILD_DEVTOOLS "Build the ExecuTorch Developer Tools" )
203201
202+ option (EXECUTORCH_BUILD_TESTS "Build CMake-based unit tests" ON )
203+
204204option (EXECUTORCH_NNLIB_OPT "Build Cadence backend Hifi nnlib kernel" OFF )
205205
206206option (EXECUTORCH_CADENCE_CPU_RUNNER "Build Cadence backend CPU runner" OFF )
@@ -315,6 +315,10 @@ if(EXECUTORCH_BUILD_PTHREADPOOL)
315315 )
316316endif ()
317317
318+ if (EXECUTORCH_BUILD_TESTS)
319+ include (CTest)
320+ endif ()
321+
318322if (NOT PYTHON_EXECUTABLE)
319323 resolve_python_executable()
320324endif ()
@@ -610,7 +614,7 @@ cmake_dependent_option(
610614)
611615
612616# Add googletest if any test targets should be built
613- if (EXECUTORCH_BUILD_GTESTS )
617+ if (BUILD_TESTING )
614618 add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR} /third-party/googletest)
615619endif ()
616620
@@ -854,5 +858,39 @@ if(EXECUTORCH_BUILD_VULKAN)
854858 add_subdirectory (${CMAKE_CURRENT_SOURCE_DIR} /backends/vulkan)
855859endif ()
856860
861+ # List test targets
862+ # TODO: Move them to corresponding parent CMakeLists.txt
863+ if (BUILD_TESTING)
864+ add_subdirectory (backends/xnnpack/test )
865+ add_subdirectory (devtools/etdump/tests)
866+ # TODO: Add me back
867+ # add_subdirectory(examples/models/llama/tokenizer/test)
868+ add_subdirectory (extension/data_loader/test )
869+ add_subdirectory (extension/evalue_util/test )
870+ add_subdirectory (extension/kernel_util/test )
871+ # TODO: Add me back
872+ # add_subdirectory(extension/llm/tokenizer/test)
873+ add_subdirectory (extension/memory_allocator/test )
874+ add_subdirectory (extension/module/test )
875+ add_subdirectory (extension/parallel/test )
876+ add_subdirectory (extension/pytree/test )
877+ add_subdirectory (extension/runner_util/test )
878+ add_subdirectory (extension/tensor/test )
879+ add_subdirectory (kernels/portable/test )
880+ add_subdirectory (kernels/portable/cpu/util/test )
881+ add_subdirectory (kernels/prim_ops/test )
882+ add_subdirectory (kernels/quantized/test )
883+ add_subdirectory (kernels/test )
884+ add_subdirectory (runtime/core/exec_aten/testing_util/test )
885+ add_subdirectory (runtime/core/exec_aten/util/test )
886+ add_subdirectory (runtime/core/portable_type/test )
887+ add_subdirectory (runtime/core/test )
888+ add_subdirectory (runtime/executor/test )
889+ add_subdirectory (runtime/kernel/test )
890+ # cmake-out/runtime/platform/test/clock_test cmake-out/runtime/platform/test/platform_death_test not working
891+ # add_subdirectory(runtime/platform/test)
892+ add_subdirectory (test /utils)
893+ endif ()
894+
857895# Print all summary
858896executorch_print_configuration_summary()
0 commit comments