Splitting link options from link libraries in cmake. (#4309)

This was causing issues where flags like /LTCG were getting interpreted
as libraries that couldn't be found.
diff --git a/build_tools/cmake/external_cc_library.cmake b/build_tools/cmake/external_cc_library.cmake
index d9cd38e..88c0f82 100644
--- a/build_tools/cmake/external_cc_library.cmake
+++ b/build_tools/cmake/external_cc_library.cmake
@@ -130,13 +130,15 @@
         ${_RULE_COPTS}
         ${IREE_DEFAULT_COPTS}
     )
-    target_link_libraries(${_NAME}
-      PUBLIC
-        ${_RULE_DEPS}
+    target_link_options(${_NAME}
       PRIVATE
         ${IREE_DEFAULT_LINKOPTS}
         ${_RULE_LINKOPTS}
     )
+    target_link_libraries(${_NAME}
+      PUBLIC
+        ${_RULE_DEPS}
+    )
     target_compile_definitions(${_NAME}
       PUBLIC
         ${_RULE_DEFINES}
@@ -169,10 +171,13 @@
         ${IREE_DEFAULT_COPTS}
         ${_RULE_COPTS}
     )
-    target_link_libraries(${_NAME}
+    target_link_options(${_NAME}
       INTERFACE
         ${IREE_DEFAULT_LINKOPTS}
         ${_RULE_LINKOPTS}
+    )
+    target_link_libraries(${_NAME}
+      INTERFACE
         ${_RULE_DEPS}
     )
     iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA})
diff --git a/build_tools/cmake/iree_cc_library.cmake b/build_tools/cmake/iree_cc_library.cmake
index fc7cb5d..41738dc 100644
--- a/build_tools/cmake/iree_cc_library.cmake
+++ b/build_tools/cmake/iree_cc_library.cmake
@@ -128,14 +128,15 @@
         ${IREE_DEFAULT_COPTS}
         ${_RULE_COPTS}
     )
-
-    target_link_libraries(${_NAME}
-      PUBLIC
-        ${_RULE_DEPS}
+    target_link_options(${_NAME}
       PRIVATE
         ${IREE_DEFAULT_LINKOPTS}
         ${_RULE_LINKOPTS}
     )
+    target_link_libraries(${_NAME}
+      PUBLIC
+        ${_RULE_DEPS}
+    )
 
     iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA})
     target_compile_definitions(${_NAME}
@@ -168,12 +169,15 @@
         ${IREE_DEFAULT_COPTS}
         ${_RULE_COPTS}
     )
-    target_link_libraries(${_NAME}
+    target_link_options(${_NAME}
       INTERFACE
         ${IREE_DEFAULT_LINKOPTS}
-        ${_RULE_DEPS}
         ${_RULE_LINKOPTS}
     )
+    target_link_libraries(${_NAME}
+      INTERFACE
+        ${_RULE_DEPS}
+    )
     iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA})
     target_compile_definitions(${_NAME}
       INTERFACE