diff options
Diffstat (limited to 'clang/lib/DirectoryWatcher/CMakeLists.txt')
-rw-r--r-- | clang/lib/DirectoryWatcher/CMakeLists.txt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/lib/DirectoryWatcher/CMakeLists.txt b/clang/lib/DirectoryWatcher/CMakeLists.txt new file mode 100644 index 00000000000..d7fa9c5bc22 --- /dev/null +++ b/clang/lib/DirectoryWatcher/CMakeLists.txt @@ -0,0 +1,29 @@ +include(CheckIncludeFiles) + +set(LLVM_LINK_COMPONENTS support) + +set(DIRECTORY_WATCHER_SOURCES DirectoryScanner.cpp) +set(DIRECTORY_WATCHER_LINK_LIBS "") + +if(APPLE) + check_include_files("CoreServices/CoreServices.h" HAVE_CORESERVICES) + if(HAVE_CORESERVICES) + list(APPEND DIRECTORY_WATCHER_SOURCES mac/DirectoryWatcher-mac.cpp) + set(DIRECTORY_WATCHER_LINK_LIBS "-framework CoreServices") + endif() +elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") + check_include_files("sys/inotify.h" HAVE_INOTIFY) + if(HAVE_INOTIFY) + list(APPEND DIRECTORY_WATCHER_SOURCES linux/DirectoryWatcher-linux.cpp) + find_package(Threads REQUIRED) + endif() +else() + list(APPEND DIRECTORY_WATCHER_SOURCES default/DirectoryWatcher-not-implemented.cpp) +endif() + +add_clang_library(clangDirectoryWatcher + ${DIRECTORY_WATCHER_SOURCES} + ) + +target_link_libraries(clangDirectoryWatcher PUBLIC ${CMAKE_THREAD_LIBS_INIT}) +target_link_libraries(clangDirectoryWatcher PRIVATE ${DIRECTORY_WATCHER_LINK_LIBS}) |