Properly set XNN_ENABLE_ASSEMBLY macro in CMake builds
- Expose XNNPACK_ENABLE_ASSEMBLY CMake option
- Define XNN_ENABLE_ASSEMBLY macro
- Ensure assembly-implemented micro-kernels are checked in unit tests and benchmarks
PiperOrigin-RevId: 294936208
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b86ef61..40cafbf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,7 @@
# ---[ Options.
SET(XNNPACK_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build")
SET_PROPERTY(CACHE XNNPACK_LIBRARY_TYPE PROPERTY STRINGS default static shared)
+OPTION(XNNPACK_ENABLE_ASSEMBLY "Build XNNPACK with assembly micro-kernels" ON)
OPTION(XNNPACK_BUILD_TESTS "Build XNNPACK unit tests" ON)
OPTION(XNNPACK_BUILD_BENCHMARKS "Build XNNPACK benchmarks" ON)
@@ -24,6 +25,12 @@
ENABLE_TESTING()
ENDIF()
+IF(XNNPACK_ENABLE_ASSEMBLY)
+ ADD_DEFINITIONS(-DXNN_ENABLE_ASSEMBLY=1)
+ELSE()
+ ADD_DEFINITIONS(-DXNN_ENABLE_ASSEMBLY=0)
+ENDIF()
+
# ---[ Build flags
IF(NOT CMAKE_SYSTEM_PROCESSOR)
IF(IOS)