diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26cefbf3758b..78cd146aee7e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,7 +103,9 @@ endif()
 # TableGen
 add_subdirectory(utils/TableGen)
 
+if(CMAKE_CROSSCOMPILING)
 add_subdirectory(source)
+endif()
 add_subdirectory(tools)
 add_subdirectory(docs)
 
diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
index 1079a1636fa7..1049303b1242 100644
--- a/cmake/modules/LLDBStandalone.cmake
+++ b/cmake/modules/LLDBStandalone.cmake
@@ -1,7 +1,9 @@
 option(LLVM_INSTALL_TOOLCHAIN_ONLY "Only include toolchain files in the 'install' target." OFF)
 
 find_package(LLVM REQUIRED CONFIG HINTS ${LLVM_DIR} NO_CMAKE_FIND_ROOT_PATH)
-find_package(Clang REQUIRED CONFIG HINTS ${Clang_DIR} ${LLVM_DIR}/../clang NO_CMAKE_FIND_ROOT_PATH)
+if(CMAKE_CROSSCOMPILING)
+  find_package(Clang REQUIRED CONFIG HINTS ${Clang_DIR} ${LLVM_DIR}/../clang NO_CMAKE_FIND_ROOT_PATH)
+endif()
 
 # We set LLVM_CMAKE_PATH so that GetSVN.cmake is found correctly when building SVNVersion.inc
 set(LLVM_CMAKE_PATH ${LLVM_CMAKE_DIR} CACHE PATH "Path to LLVM CMake modules")
@@ -87,14 +90,22 @@
   set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 endif()
 
+if(CMAKE_CROSSCOMPILING)
 set_target_properties(clang-tablegen-targets PROPERTIES FOLDER "lldb misc")
+endif()
 set_target_properties(intrinsics_gen PROPERTIES FOLDER "lldb misc")
 
 set(CMAKE_INCLUDE_CURRENT_DIR ON)
+if(CMAKE_CROSSCOMPILING)
 include_directories(
   "${CMAKE_BINARY_DIR}/include"
   "${LLVM_INCLUDE_DIRS}"
   "${CLANG_INCLUDE_DIRS}")
+else()
+include_directories(
+  "${CMAKE_BINARY_DIR}/include"
+  "${LLVM_INCLUDE_DIRS}")
+endif()
 
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})