serenity/Userland/Libraries/LibCore/CMakeLists.txt
Timothy Flynn 0dce7b72f9 LibCore: Implement FileWatcher for macOS
The macOS FileWatcher depends on macOS dispatch queues, which run on a
different thread than the Core::EventLoop. This implementation handles
filesystem events on its dispatch queue, then forwards the event back to
the main Core::EventLoop for notifying the FileWatcher owner.
2023-01-19 11:29:48 +00:00

66 lines
1.5 KiB
CMake

set(SOURCES
AnonymousBuffer.cpp
ArgsParser.cpp
Command.cpp
ConfigFile.cpp
DateTime.cpp
Directory.cpp
DirIterator.cpp
ElapsedTimer.cpp
Event.cpp
EventLoop.cpp
File.cpp
IODevice.cpp
LockFile.cpp
MappedFile.cpp
MemoryStream.cpp
MimeData.cpp
NetworkJob.cpp
Notifier.cpp
Object.cpp
Process.cpp
ProcessStatisticsReader.cpp
Property.cpp
SecretString.cpp
SessionManagement.cpp
SOCKSProxyClient.cpp
StandardPaths.cpp
Stream.cpp
System.cpp
SystemServerTakeover.cpp
TCPServer.cpp
TempFile.cpp
Timer.cpp
UDPServer.cpp
Version.cpp
)
if (NOT ANDROID AND NOT WIN32 AND NOT EMSCRIPTEN)
list(APPEND SOURCES
Account.cpp
FilePermissionsMask.cpp
GetPassword.cpp
Group.cpp
LocalServer.cpp
)
endif()
# FIXME: Implement Core::FileWatcher for macOS, *BSD, and Windows.
if (SERENITYOS)
list(APPEND SOURCES FileWatcherSerenity.cpp)
elseif (LINUX AND NOT EMSCRIPTEN)
list(APPEND SOURCES FileWatcherLinux.cpp)
elseif (APPLE)
list(APPEND SOURCES FileWatcherMacOS.mm)
else()
list(APPEND SOURCES FileWatcherUnimplemented.cpp)
endif()
serenity_lib(LibCore core)
target_link_libraries(LibCore PRIVATE LibCrypt LibSystem)
if (APPLE)
target_link_libraries(LibCore PUBLIC "-framework CoreFoundation")
target_link_libraries(LibCore PUBLIC "-framework CoreServices")
target_link_libraries(LibCore PUBLIC "-framework Foundation")
endif()