[Polly] Reuse LLVM's build rules for gtest/gmock

Reuse LLVM's CMakeLists.txt for gtest/gmock instead of reinventing
them in Polly.  This fixes a lot of linking errors due to not linking
LLVMSupport in for me.

Differential Revision: https://reviews.llvm.org/D85280

GitOrigin-RevId: c8b629a3a5854506dd25e84f9b4174b53f8f667b
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e94512..8b771f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,35 +27,16 @@
   set(POLLY_GTEST_AVAIL 0)
   set(UNITTEST_DIR ${LLVM_SOURCE_ROOT}/utils/unittest)
   if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h)
-    # The build tree already exports the gtest target, which we can reuse
-    if (TARGET gtest)
-      # LLVM Doesn't export gtest's include directorys, so do that here
-      set_target_properties(gtest
-        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
-        "${UNITTEST_DIR}/googletest/include;${UNITTEST_DIR}/googlemock/include"
-        )
-      set(POLLY_GTEST_AVAIL 1)
-    else()
-      add_library(gtest
-        ${UNITTEST_DIR}/googletest/src/gtest-all.cc
-        ${UNITTEST_DIR}/googlemock/src/gmock-all.cc
-        )
-      target_include_directories(gtest
-        PUBLIC
-        "${UNITTEST_DIR}/googletest/include"
-        "${UNITTEST_DIR}/googlemock/include"
-
-        PRIVATE
-        "${UNITTEST_DIR}/googletest"
-        "${UNITTEST_DIR}/googlemock"
-        )
-      target_link_libraries(gtest PUBLIC -lpthread)
-
-      add_library(gtest_main ${UNITTEST_DIR}/UnitTestMain/TestMain.cpp)
-      target_link_libraries(gtest_main PUBLIC gtest)
-
-      set(POLLY_GTEST_AVAIL 1)
+    if (NOT TARGET gtest)
+      add_subdirectory(${UNITTEST_DIR} utils/unittest)
     endif()
+
+    # LLVM Doesn't export gtest's include directorys, so do that here
+    set_target_properties(gtest
+      PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+      "${UNITTEST_DIR}/googletest/include;${UNITTEST_DIR}/googlemock/include"
+      )
+    set(POLLY_GTEST_AVAIL 1)
   endif()
 
   # Make sure the isl c files are built as fPIC