forked from SerenityOS/serenity
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
137 lines (122 loc) · 3.71 KB
/
CMakeLists.txt
File metadata and controls
137 lines (122 loc) · 3.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# These are the minimal set of sources needed to build the code generators. We separate them to allow
# LibCore to depend on generated sources.
set(SOURCES
ArgsParser.cpp
ConfigFile.cpp
Directory.cpp
DirectoryEntry.cpp
DirIterator.cpp
Environment.cpp
File.cpp
SessionManagement.cpp
StandardPaths.cpp
System.cpp
Version.cpp
)
serenity_lib(LibCoreMinimal coreminimal)
target_link_libraries(LibCoreMinimal PRIVATE LibSystem)
if (NOT BUILD_LAGOM AND NOT SERENITYOS)
return()
endif()
if (SERENITYOS)
add_library(BuggieBox_LibCoreMinimal STATIC ${SOURCES})
target_link_libraries(BuggieBox_LibCoreMinimal PRIVATE BuggieBox_LibC BuggieBox_LibSystem)
add_library(DynamicLoader_LibCoreArgsParser
ArgsParser.cpp
Version.cpp)
target_link_libraries(DynamicLoader_LibCoreArgsParser PUBLIC DynamicLoader_CompileOptions)
add_library(BuggieBox_LibCoreArgsParser
ArgsParser.cpp
Version.cpp)
target_link_libraries(BuggieBox_LibCoreArgsParser PUBLIC StaticPIE_CompileOptions)
endif()
# These are the minimal set of sources needed to build LibLine and LibShellMinimal. We separate them to allow
# LibLine and LibShellMinimal to build without LibURL being included.
set(SOURCES
DateTime.cpp
ElapsedTimer.cpp
Event.cpp
EventLoop.cpp
EventLoopImplementation.cpp
EventLoopImplementationUnix.cpp
EventReceiver.cpp
ThreadEventQueue.cpp
Timer.cpp
Notifier.cpp
)
serenity_lib(LibCoreBasic corebasic)
target_link_libraries(LibCoreBasic PRIVATE LibCoreMinimal LibTimeZone)
if (SERENITYOS)
add_library(BuggieBox_LibCoreBasic STATIC ${SOURCES})
target_link_libraries(BuggieBox_LibCoreBasic PRIVATE BuggieBox_LibCoreMinimal LibTimeZone)
endif()
set(SOURCES
AnonymousBuffer.cpp
Command.cpp
LockFile.cpp
MappedFile.cpp
MimeData.cpp
NetworkJob.cpp
Process.cpp
ProcessStatisticsReader.cpp
Resource.cpp
ResourceImplementation.cpp
ResourceImplementationFile.cpp
SecretString.cpp
Socket.cpp
SOCKSProxyClient.cpp
SystemServerTakeover.cpp
TCPServer.cpp
UDPServer.cpp
)
if (NOT ANDROID AND NOT WIN32 AND NOT EMSCRIPTEN)
list(APPEND SOURCES
Account.cpp
FilePermissionsMask.cpp
GetPassword.cpp
Group.cpp
)
endif()
if (NOT WIN32 AND NOT EMSCRIPTEN)
list(APPEND SOURCES LocalServer.cpp)
endif()
# FIXME: Implement Core::FileWatcher for *BSD and Windows.
if (SERENITYOS)
list(APPEND SOURCES
FileWatcherSerenity.cpp
Platform/ProcessStatisticsSerenity.cpp
)
elseif (LINUX AND NOT EMSCRIPTEN)
list(APPEND SOURCES
FileWatcherLinux.cpp
Platform/ProcessStatisticsLinux.cpp
)
elseif (APPLE AND NOT IOS)
list(APPEND SOURCES
FileWatcherMacOS.mm
Platform/ProcessStatisticsMach.cpp
)
else()
list(APPEND SOURCES
FileWatcherUnimplemented.cpp
Platform/ProcessStatisticsUnimplemented.cpp
)
endif()
if (APPLE OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
list(APPEND SOURCES MachPort.cpp)
endif()
serenity_lib(LibCore core)
target_link_libraries(LibCore PRIVATE LibCrypt LibSystem LibTimeZone LibURL)
target_link_libraries(LibCore PUBLIC LibCoreMinimal LibCoreBasic)
if (SERENITYOS)
add_library(BuggieBox_LibCore STATIC ${SOURCES})
target_link_libraries(BuggieBox_LibCore PUBLIC StaticPIE_CompileOptions BuggieBox_LibCrypt BuggieBox_LibURL BuggieBox_LibCoreBasic BuggieBox_LibCoreMinimal)
endif()
if (APPLE)
target_link_libraries(LibCore PUBLIC "-framework CoreFoundation")
target_link_libraries(LibCore PUBLIC "-framework CoreServices")
target_link_libraries(LibCore PUBLIC "-framework Foundation")
endif()
if (ANDROID)
target_link_libraries(LibCore PRIVATE log)
endif()