diff options
| -rw-r--r-- | clang/lib/DirectoryWatcher/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp | 48 |
2 files changed, 50 insertions, 0 deletions
diff --git a/clang/lib/DirectoryWatcher/CMakeLists.txt b/clang/lib/DirectoryWatcher/CMakeLists.txt index d7fa9c5bc22..5a879698211 100644 --- a/clang/lib/DirectoryWatcher/CMakeLists.txt +++ b/clang/lib/DirectoryWatcher/CMakeLists.txt @@ -17,6 +17,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") list(APPEND DIRECTORY_WATCHER_SOURCES linux/DirectoryWatcher-linux.cpp) find_package(Threads REQUIRED) endif() +elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") + list(APPEND DIRECTORY_WATCHER_SOURCES windows/DirectoryWatcher-windows.cpp) else() list(APPEND DIRECTORY_WATCHER_SOURCES default/DirectoryWatcher-not-implemented.cpp) endif() diff --git a/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp b/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp new file mode 100644 index 00000000000..6a12715592b --- /dev/null +++ b/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp @@ -0,0 +1,48 @@ +//===- DirectoryWatcher-windows.cpp - Windows-platform directory watching -===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +// TODO: This is not yet an implementation, but it will make it so Windows +// builds don't fail. + +#include "DirectoryScanner.h" +#include "clang/DirectoryWatcher/DirectoryWatcher.h" + +#include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/ScopeExit.h" +#include "llvm/Support/AlignOf.h" +#include "llvm/Support/Errno.h" +#include "llvm/Support/Mutex.h" +#include "llvm/Support/Path.h" +#include <atomic> +#include <condition_variable> +#include <mutex> +#include <queue> +#include <string> +#include <thread> +#include <vector> + +namespace { + +using namespace llvm; +using namespace clang; + +class DirectoryWatcherWindows : public clang::DirectoryWatcher { +public: + ~DirectoryWatcherWindows() override { } + void InitialScan() { } + void EventReceivingLoop() { } + void StopWork() { } +}; +} // namespace + +std::unique_ptr<DirectoryWatcher> clang::DirectoryWatcher::create( + StringRef Path, + std::function<void(llvm::ArrayRef<DirectoryWatcher::Event>, bool)> Receiver, + bool WaitForInitialSync) { + return nullptr; +} |

