def METHOD_NAME(self):
    tc = CMakeToolchain(self)
    if self.settings.arch == "armv8":
        if self.settings.os == "Linux":
            tc.variables["CONAN_XNNPACK_SYSTEM_PROCESSOR"] = "aarch64"
        else:
            # Not defined by Conan for Apple Silicon. See https://github.com/conan-io/conan/pull/8026
            tc.variables["CONAN_XNNPACK_SYSTEM_PROCESSOR"] = "arm64"
    tc.cache_variables["XNNPACK_LIBRARY_TYPE"] = "shared" if self.options.shared else "static"
    tc.cache_variables["CMAKE_PROJECT_XNNPACK_INCLUDE"] = os.path.join(self.source_folder, "xnnpack_project_include.cmake")
    tc.variables["XNNPACK_ENABLE_ASSEMBLY"] = self.options.assembly
    tc.variables["XNNPACK_ENABLE_MEMOPT"] = self.options.memopt
    tc.variables["XNNPACK_ENABLE_SPARSE"] = self.options.sparse
    tc.variables["XNNPACK_BUILD_TESTS"] = False
    tc.variables["XNNPACK_BUILD_BENCHMARKS"] = False
    tc.variables["XNNPACK_USE_SYSTEM_LIBS"] = True
    # Default fPIC on if it doesn't exist (i.e. for shared library builds)
    tc.variables["CMAKE_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True)
    # Install only built targets, in this case just the XNNPACK target
    tc.variables["CMAKE_SKIP_INSTALL_ALL_DEPENDENCY"] = True
    # To export symbols for shared msvc
    tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True
    tc.METHOD_NAME()
    deps = CMakeDeps(self)
    # The CMake scripts don't use targets prefixed with `namespace::`
    # so we can coerce CMakeDeps to define the exact target names that
    # are expected. This works in tandem with the file
    # `CMAKE_PROJECT_XNNPACK_INCLUDE` which ensure an early call to
    # the relevant `find_package`
    deps.set_property("cpuinfo", "cmake_target_name", "cpuinfo")
    deps.set_property("cpuinfo", "cmake_target_aliases", ["clog"] )
    deps.set_property("pthreadpool", "cmake_target_name", "pthreadpool")
    deps.set_property("fp16", "cmake_target_name", "fp16")
    deps.set_property("fxdiv", "cmake_target_name", "fxdiv")
    deps.METHOD_NAME()