[LLVM][CMake] Add ffi_static target for the FFI static library (#78779)

Summary:
This patch is an attempt to make the `find_package(FFI)` support in LLVM
prefer to provide the static library version if present. This is
currently
an optional library for building `libffi`, and its presence implies that
it should likely be used. This patch is an attempt to fix some problems
observed with testing programs linked against `libffi` on many different
systems that could have conflicting paths. Linking it statically
prevents this.

This patch adds the `ffi_static` target for this library.

GitOrigin-RevId: b689b4fe55103a04eac847964e126b6048b89ae0
diff --git a/libomptarget/plugins-nextgen/CMakeLists.txt b/libomptarget/plugins-nextgen/CMakeLists.txt
index 9b4e945..f5fc3b6 100644
--- a/libomptarget/plugins-nextgen/CMakeLists.txt
+++ b/libomptarget/plugins-nextgen/CMakeLists.txt
@@ -49,11 +49,14 @@
   )
 
   if(LIBOMPTARGET_DEP_LIBFFI_FOUND)
-     libomptarget_say("Building ${tmachine_libname} plugin linked with libffi")
-     target_link_libraries("omptarget.rtl.${tmachine_libname}" PRIVATE
-                           ${FFI_LIBRARIES})
-     target_include_directories("omptarget.rtl.${tmachine_libname}" PRIVATE
-                                ${FFI_INCLUDE_DIRS})
+    libomptarget_say("Building ${tmachine_libname} plugin linked with libffi")
+    if(FFI_STATIC_LIBRARIES)
+      target_link_libraries(
+        "omptarget.rtl.${tmachine_libname}" PRIVATE FFI::ffi_static)
+    else()
+      target_link_libraries(
+        "omptarget.rtl.${tmachine_libname}" PRIVATE FFI::ffi)
+    endif()
   else()
      libomptarget_say("Building ${tmachine_libname} plugie for dlopened libffi")
      target_sources("omptarget.rtl.${tmachine_libname}" PRIVATE