Fix the !CLANG_ENABLE_ARCMT build

llvm-svn: 212995
GitOrigin-RevId: f55a30699684586cdbd0bc1957dbe85069657116
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index fe80df4..2052873 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -26,11 +26,18 @@
 
 list(APPEND CLANG_TEST_DEPS
   clang clang-headers
-  c-index-test diagtool arcmt-test c-arcmt-test
+  c-index-test diagtool
   clang-check clang-format
   clang-tblgen
   )
 
+if (CLANG_ENABLE_ARCMT)
+  list(APPEND CLANG_TEST_DEPS
+    arcmt-test
+    c-arcmt-test
+  )
+endif ()
+
 if (ENABLE_CLANG_EXAMPLES)
   list(APPEND CLANG_TEST_DEPS
     clang-interpreter
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index 58be615..d3f67a8 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -5,9 +5,10 @@
   add_subdirectory(clang-format-vs)
 endif()
 
+add_subdirectory(c-index-test)
+add_subdirectory(libclang)
+
 if(CLANG_ENABLE_ARCMT)
-  add_subdirectory(libclang)
-  add_subdirectory(c-index-test)
   add_subdirectory(arcmt-test)
   add_subdirectory(c-arcmt-test)
 endif()
diff --git a/tools/libclang/ARCMigrate.cpp b/tools/libclang/ARCMigrate.cpp
index 6ddc22f..375c5f4 100644
--- a/tools/libclang/ARCMigrate.cpp
+++ b/tools/libclang/ARCMigrate.cpp
@@ -35,6 +35,10 @@
 extern "C" {
 
 CXRemapping clang_getRemappings(const char *migrate_dir_path) {
+#ifndef CLANG_ENABLE_ARCMT
+  llvm::errs() << "error: feature not enabled in this build\n";
+  return nullptr;
+#else
   bool Logging = ::getenv("LIBCLANG_LOGGING");
 
   if (!migrate_dir_path) {
@@ -71,10 +75,15 @@
   }
 
   return remap.release();
+#endif
 }
 
 CXRemapping clang_getRemappingsFromFileList(const char **filePaths,
                                             unsigned numFiles) {
+#ifndef CLANG_ENABLE_ARCMT
+  llvm::errs() << "error: feature not enabled in this build\n";
+  return nullptr;
+#else
   bool Logging = ::getenv("LIBCLANG_LOGGING");
 
   std::unique_ptr<Remap> remap(new Remap());
@@ -112,6 +121,7 @@
   }
 
   return remap.release();
+#endif
 }
 
 unsigned clang_remap_getNumFiles(CXRemapping map) {
diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
index d6bbbf8..e7ab63f 100644
--- a/tools/libclang/CMakeLists.txt
+++ b/tools/libclang/CMakeLists.txt
@@ -37,6 +37,20 @@
   ../../include/clang-c/Index.h
   )
 
+set(LIBS
+  clangAST
+  clangBasic
+  clangFrontend
+  clangIndex
+  clangLex
+  clangSema
+  clangTooling
+)
+
+if (CLANG_ENABLE_ARCMT)
+  list(APPEND LIBS clangARCMigrate)
+endif ()
+
 option(LIBCLANG_BUILD_STATIC
   "Build libclang as a static library (in addition to a shared one)" OFF)
 
@@ -69,14 +83,7 @@
   DEPENDS clang-headers
 
   LINK_LIBS
-  clangARCMigrate
-  clangAST
-  clangBasic
-  clangFrontend
-  clangIndex
-  clangLex
-  clangSema
-  clangTooling
+  ${LIBS}
 
   LINK_COMPONENTS
   BitReader