1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 12:27:34 +00:00

Build: Switch to CMake :^)

Closes https://github.com/SerenityOS/serenity/issues/2080
This commit is contained in:
Sergey Bugaev 2020-05-06 18:40:06 +03:00 committed by Andreas Kling
parent 49727ffee4
commit 450a2a0f9c
236 changed files with 1774 additions and 2337 deletions

23
Libraries/CMakeLists.txt Normal file
View file

@ -0,0 +1,23 @@
add_subdirectory(LibAudio)
add_subdirectory(LibC)
add_subdirectory(LibCore)
add_subdirectory(LibCrypto)
add_subdirectory(LibDebug)
add_subdirectory(LibDesktop)
add_subdirectory(LibGfx)
add_subdirectory(LibGUI)
add_subdirectory(LibHTTP)
add_subdirectory(LibIPC)
add_subdirectory(LibJS)
add_subdirectory(LibLine)
add_subdirectory(LibM)
add_subdirectory(LibMarkdown)
add_subdirectory(LibPCIDB)
add_subdirectory(LibProtocol)
add_subdirectory(LibPthread)
add_subdirectory(LibTextCodec)
add_subdirectory(LibThread)
add_subdirectory(LibTLS)
add_subdirectory(LibVT)
add_subdirectory(LibWeb)
add_subdirectory(LibX86)

View file

@ -0,0 +1,13 @@
set(SOURCES
ClientConnection.cpp
WavLoader.cpp
WavWriter.cpp
)
set(GENERATED_SOURCES
../../Services/AudioServer/AudioClientEndpoint.h
../../Services/AudioServer/AudioServerEndpoint.h
)
serenity_lib(LibAudio audio)
target_link_libraries(LibAudio LibCore LibIPC)

View file

@ -1,17 +0,0 @@
OBJS = \
ClientConnection.o \
WavWriter.o \
WavLoader.o
LIBRARY = libaudio.a
ClientConnection.cpp: ../../Services/AudioServer/AudioClientEndpoint.h
../../Services/AudioServer/AudioClientEndpoint.h:
@flock $(dir $(@)) $(MAKE) -C $(dir $(@))
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibAudio/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibAudio/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -1,7 +0,0 @@
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibBareMetal/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibBareMetal/Output/
cp ../LibBareMetal/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibBareMetal/
cp ../LibBareMetal/Output/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibBareMetal/Output/
include ../../Makefile.common

View file

@ -0,0 +1,65 @@
set(LIBC_SOURCES
arpa/inet.cpp
assert.cpp
crt0.cpp
ctype.cpp
cxxabi.cpp
dirent.cpp
dlfcn.cpp
fcntl.cpp
getopt.cpp
grp.cpp
ioctl.cpp
libcinit.cpp
libgen.cpp
locale.cpp
malloc.cpp
mman.cpp
mntent.cpp
netdb.cpp
poll.cpp
pwd.cpp
qsort.cpp
scanf.cpp
sched.cpp
serenity.cpp
setjmp.S
signal.cpp
stat.cpp
stdio.cpp
stdlib.cpp
string.cpp
strings.cpp
syslog.cpp
sys/ptrace.cpp
sys/select.cpp
sys/socket.cpp
sys/uio.cpp
sys/wait.cpp
termcap.cpp
termios.cpp
time.cpp
times.cpp
ulimit.cpp
unistd.cpp
utime.cpp
utsname.cpp
wchar.cpp
)
file(GLOB AK_SOURCES "../../AK/*.cpp")
file(GLOB ELF_SOURCES "../LibELF/*.cpp")
set(ELF_SOURCES ${ELF_SOURCES} ../LibELF/Arch/i386/plt_trampoline.S)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSERENITY_LIBC_BUILD")
add_library(crt0 STATIC crt0.cpp)
add_custom_command(
TARGET crt0
COMMAND install -D $<TARGET_OBJECTS:crt0> ${CMAKE_INSTALL_PREFIX}/usr/lib/crt0.o
)
set(SOURCES ${LIBC_SOURCES} ${AK_SOURCES} ${ELF_SOURCES})
serenity_libc(LibC c)
target_link_libraries(LibC crt0)
add_dependencies(LibC LibM)

View file

@ -1,115 +0,0 @@
AK_OBJS = \
../../AK/Base64.o \
../../AK/FileSystemPath.o \
../../AK/FlyString.o \
../../AK/JsonParser.o \
../../AK/JsonValue.o \
../../AK/LogStream.o \
../../AK/MappedFile.o \
../../AK/SharedBuffer.o \
../../AK/String.o \
../../AK/StringBuilder.o \
../../AK/StringImpl.o \
../../AK/StringUtils.o \
../../AK/StringView.o \
../../AK/URL.o \
../../AK/Utf8View.o
LIBC_OBJS = \
stdio.o \
unistd.o \
string.o \
strings.o \
mman.o \
dirent.o \
malloc.o \
stdlib.o \
time.o \
utsname.o \
assert.o \
signal.o \
getopt.o \
scanf.o \
pwd.o \
grp.o \
times.o \
termcap.o \
stat.o \
mntent.o \
ctype.o \
fcntl.o \
termios.o \
ulimit.o \
qsort.o \
ioctl.o \
utime.o \
sys/select.o \
sys/socket.o \
sys/wait.o \
sys/uio.o \
sys/ptrace.o \
poll.o \
locale.o \
arpa/inet.o \
netdb.o \
sched.o \
dlfcn.o \
libgen.o \
wchar.o \
serenity.o \
syslog.o \
cxxabi.o \
libcinit.o
ELF_OBJS = \
../LibELF/DynamicObject.o \
../LibELF/DynamicLoader.o \
../LibELF/Loader.o \
../LibELF/Image.o \
../LibELF/Validation.o
OBJS = $(AK_OBJS) $(LIBC_OBJS) $(ELF_OBJS)
EXTRA_OBJS = \
setjmp.ao \
crti.ao \
crtn.ao \
../LibELF/Arch/i386/plt_trampoline.ao
crt0.o: crt0.cpp
crtio.o: crti.ao
$(QUIET) cp crti.ao crti.o
crtn.o: crtin.ao
$(QUIET) cp crtn.ao crtn.o
EXTRA_CLEAN = crt0.d crt0.o
DEFINES = -DSERENITY_LIBC_BUILD $(EXTRA_LIBC_DEFINES)
LIBRARY = libc.a
POST_LIBRARY_BUILD = $(QUIET) $(MAKE) install
all: crt0.o $(EXTRA_OBJS) $(LIBRARY)
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/bits/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/net/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp sys/*.h $(SERENITY_BASE_DIR)/Root/usr/include/sys/
cp bits/*.h $(SERENITY_BASE_DIR)/Root/usr/include/bits/
cp arpa/*.h $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
cp net/*.h $(SERENITY_BASE_DIR)/Root/usr/include/net/
cp netinet/*.h $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
cp libc.a $(SERENITY_BASE_DIR)/Root/usr/lib/
cp crt0.o $(SERENITY_BASE_DIR)/Root/usr/lib/
cp crti.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crti.o
cp crtn.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crtn.o
include ../../Makefile.common

View file

@ -0,0 +1,32 @@
set(SOURCES
ArgsParser.cpp
ConfigFile.cpp
DateTime.cpp
DirIterator.cpp
ElapsedTimer.cpp
Event.cpp
EventLoop.cpp
File.cpp
Gzip.cpp
IODevice.cpp
LocalServer.cpp
LocalSocket.cpp
MimeData.cpp
NetworkJob.cpp
NetworkResponse.cpp
Notifier.cpp
Object.cpp
ProcessStatisticsReader.cpp
puff.c
SocketAddress.cpp
Socket.cpp
StandardPaths.cpp
TCPServer.cpp
TCPSocket.cpp
Timer.cpp
UDPServer.cpp
UDPSocket.cpp
)
serenity_lib(LibCore core)
target_link_libraries(LibCore LibC)

View file

@ -1,37 +0,0 @@
OBJS = \
ArgsParser.o \
ConfigFile.o \
DateTime.o \
DirIterator.o \
ElapsedTimer.o \
Event.o \
EventLoop.o \
File.o \
Gzip.o \
IODevice.o \
LocalServer.o \
LocalSocket.o \
MimeData.o \
NetworkJob.o \
NetworkResponse.o \
Notifier.o \
Object.o \
ProcessStatisticsReader.o \
Socket.o \
SocketAddress.o \
StandardPaths.o \
TCPServer.o \
TCPSocket.o \
Timer.o \
UDPServer.o \
UDPSocket.o \
puff.o
LIBRARY = libcore.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibCore/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibCore/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,11 @@
set(SOURCES
BigInt/UnsignedBigInteger.cpp
Cipher/AES.cpp
Hash/MD5.cpp
Hash/SHA1.cpp
Hash/SHA2.cpp
PK/RSA.cpp
)
serenity_lib(LibCrypto crypto)
target_link_libraries(LibCrypto LibC)

View file

@ -1,22 +0,0 @@
LIBCRYPTO_OBJS = \
Cipher/AES.o \
Hash/MD5.o \
Hash/SHA1.o \
Hash/SHA2.o \
PK/RSA.o \
BigInt/UnsignedBigInteger.o
OBJS = $(LIBCRYPTO_OBJS)
LIBRARY = libcrypto.a
install:
for dir in . Cipher Cipher/Mode Hash PK PK/Code; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibCrypto/$$dir; \
cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibCrypto/$$dir/; \
done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common
include ../../Makefile.subdir

View file

@ -0,0 +1,13 @@
set(SOURCES
DebugInfo.cpp
DebugSession.cpp
Dwarf/AbbreviationsMap.cpp
Dwarf/CompilationUnit.cpp
Dwarf/DIE.cpp
Dwarf/DwarfInfo.cpp
Dwarf/Expression.cpp
Dwarf/LineProgram.cpp
)
serenity_lib(LibDebug debug)
target_link_libraries(LibDebug LibC)

View file

@ -1,19 +0,0 @@
OBJS = \
DebugSession.o \
DebugInfo.o \
Dwarf/LineProgram.o \
Dwarf/DwarfInfo.o \
Dwarf/CompilationUnit.o \
Dwarf/AbbreviationsMap.o \
Dwarf/Expression.o \
Dwarf/DIE.o \
LIBRARY = libdebug.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibDebug/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibDebug/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,11 @@
set(SOURCES
Launcher.cpp
)
set(GENERATED_SOURCES
../../Services/LaunchServer/LaunchClientEndpoint.h
../../Services/LaunchServer/LaunchServerEndpoint.h
)
serenity_lib(LibDesktop desktop)
target_link_libraries(LibDesktop LibIPC)

View file

@ -1,20 +0,0 @@
OBJS = \
Launcher.o
LIBRARY = libdesktop.a
# HACK: LaunchServer builds after LibDesktop so we need to explicitly generate these IPC headers
Launcher.cpp: ../../Services/LaunchServer/LaunchServerEndpoint.h ../../Services/LaunchServer/LaunchClientEndpoint.h
../../Services/LaunchServer/LaunchServerEndpoint.h:
$(MAKE) -C $(dir $(@)) LaunchServerEndpoint.h
../../Services/LaunchServer/LaunchClientEndpoint.h:
$(MAKE) -C $(dir $(@)) LaunchClientEndpoint.h
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibDesktop/
cp ./*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibDesktop/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -1 +0,0 @@
include ../../Makefile.common

View file

@ -0,0 +1,87 @@
set(SOURCES
AboutDialog.cpp
AbstractButton.cpp
AbstractTableView.cpp
AbstractView.cpp
Action.cpp
ActionGroup.cpp
Application.cpp
BoxLayout.cpp
Button.cpp
CheckBox.cpp
Clipboard.cpp
ColorInput.cpp
ColorPicker.cpp
ColumnsView.cpp
ComboBox.cpp
Command.cpp
CppLexer.cpp
CppSyntaxHighlighter.cpp
Desktop.cpp
Dialog.cpp
DisplayLink.cpp
DragOperation.cpp
Event.cpp
FilePicker.cpp
FileSystemModel.cpp
FontDatabase.cpp
Frame.cpp
GroupBox.cpp
Icon.cpp
IconView.cpp
INILexer.cpp
INISyntaxHighlighter.cpp
InputBox.cpp
JsonArrayModel.cpp
JSSyntaxHighlighter.cpp
Label.cpp
Layout.cpp
LazyWidget.cpp
ListView.cpp
MenuBar.cpp
Menu.cpp
MenuItem.cpp
MessageBox.cpp
Model.cpp
ModelIndex.cpp
ModelSelection.cpp
MultiView.cpp
Notification.cpp
Painter.cpp
ProgressBar.cpp
RadioButton.cpp
ResizeCorner.cpp
ScrollableWidget.cpp
ScrollBar.cpp
Shortcut.cpp
Slider.cpp
SortingProxyModel.cpp
SpinBox.cpp
Splitter.cpp
StackWidget.cpp
StatusBar.cpp
SyntaxHighlighter.cpp
TableView.cpp
TabWidget.cpp
TextBox.cpp
TextDocument.cpp
TextEditor.cpp
ToolBarContainer.cpp
ToolBar.cpp
TreeView.cpp
UndoStack.cpp
Variant.cpp
Widget.cpp
Window.cpp
WindowServerConnection.cpp
)
set(GENERATED_SOURCES
../../Services/WindowServer/WindowClientEndpoint.h
../../Services/WindowServer/WindowServerEndpoint.h
../../Services/NotificationServer/NotificationClientEndpoint.h
../../Services/NotificationServer/NotificationServerEndpoint.h
)
serenity_lib(LibGUI gui)
target_link_libraries(LibGUI LibCore LibGfx LibIPC LibThread)

View file

@ -1,99 +0,0 @@
OBJS = \
AboutDialog.o \
AbstractButton.o \
AbstractTableView.o \
AbstractView.o \
Action.o \
ActionGroup.o \
Application.o \
BoxLayout.o \
Button.o \
CheckBox.o \
Clipboard.o \
ColorInput.o \
ColorPicker.o \
ColumnsView.o \
ComboBox.o \
Command.o \
CppLexer.o \
CppSyntaxHighlighter.o \
Desktop.o \
Dialog.o \
DisplayLink.o \
DragOperation.o \
Event.o \
FilePicker.o \
FileSystemModel.o \
FontDatabase.o \
Frame.o \
GroupBox.o \
Icon.o \
IconView.o \
InputBox.o \
INILexer.o \
INISyntaxHighlighter.o \
JsonArrayModel.o \
JSSyntaxHighlighter.o \
Label.o \
Layout.o \
LazyWidget.o \
ListView.o \
Menu.o \
MenuBar.o \
MenuItem.o \
MessageBox.o \
Model.o \
ModelIndex.o \
ModelSelection.o \
MultiView.o \
Notification.o \
Painter.o \
ProgressBar.o \
RadioButton.o \
ResizeCorner.o \
ScrollBar.o \
ScrollableWidget.o \
Shortcut.o \
Slider.o \
SortingProxyModel.o \
SpinBox.o \
Splitter.o \
StackWidget.o \
StatusBar.o \
SyntaxHighlighter.o \
TabWidget.o \
TableView.o \
TextBox.o \
TextDocument.o \
TextEditor.o \
ToolBar.o \
ToolBarContainer.o \
TreeView.o \
UndoStack.o \
Variant.o \
Widget.o \
Window.o \
WindowServerConnection.o
LIBRARY = libgui.a
Application.cpp: ../../Services/WindowServer/WindowServerEndpoint.h
../../Services/WindowServer/WindowServerEndpoint.h:
@flock $(dir $(@)) $(MAKE) -C $(dir $(@))
# HACK: NotificationServer depends on LibGUI so we don't flock for these..
Notification.cpp: ../../Services/NotificationServer/NotificationServerEndpoint.h ../../Services/NotificationServer/NotificationClientEndpoint.h
../../Services/NotificationServer/NotificationServerEndpoint.h:
$(MAKE) -C $(dir $(@)) NotificationServerEndpoint.h
../../Services/NotificationServer/NotificationClientEndpoint.h:
$(MAKE) -C $(dir $(@)) NotificationClientEndpoint.h
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibGUI/
cp ./*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibGUI/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,26 @@
set(SOURCES
AffineTransform.cpp
Bitmap.cpp
CharacterBitmap.cpp
Color.cpp
DisjointRectSet.cpp
Emoji.cpp
FloatRect.cpp
Font.cpp
GIFLoader.cpp
ImageDecoder.cpp
Painter.cpp
Palette.cpp
Path.cpp
PNGLoader.cpp
Point.cpp
Rect.cpp
ShareableBitmap.cpp
Size.cpp
StylePainter.cpp
SystemTheme.cpp
Triangle.cpp
)
serenity_lib(LibGfx gfx)
target_link_libraries(LibGfx LibM LibCore)

View file

@ -1,31 +0,0 @@
OBJS = \
AffineTransform.o \
Bitmap.o \
CharacterBitmap.o \
Color.o \
DisjointRectSet.o \
Emoji.o \
Font.o \
FloatRect.o \
GIFLoader.o \
ImageDecoder.o \
PNGLoader.o \
Painter.o \
Palette.o \
Path.o \
Point.o \
Rect.o \
ShareableBitmap.o \
Size.o \
StylePainter.o \
SystemTheme.o \
Triangle.o
LIBRARY = libgfx.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibGfx/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibGfx/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,10 @@
set(SOURCES
HttpJob.cpp
HttpRequest.cpp
HttpResponse.cpp
HttpsJob.cpp
Job.cpp
)
serenity_lib(LibHTTP http)
target_link_libraries(LibHTTP LibCore LibTLS)

View file

@ -1,19 +0,0 @@
OBJS = HttpResponse.o \
HttpRequest.o \
HttpJob.o \
HttpsJob.o \
Job.o
LIBRARY = libhttp.a
LIB_DEPS = Core
POST_LIBRARY_BUILD = $(QUIET) $(MAKE) install
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,9 @@
set(SOURCES
Decoder.cpp
Encoder.cpp
Endpoint.cpp
Message.cpp
)
serenity_lib(LibIPC ipc)
target_link_libraries(LibIPC LibC LibCore)

View file

@ -1,14 +0,0 @@
OBJS = \
Decoder.o \
Encoder.o \
Endpoint.o \
Message.o
LIBRARY = libipc.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibIPC/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibIPC/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,55 @@
set(SOURCES
AST.cpp
Console.cpp
Heap/Handle.cpp
Heap/HeapBlock.cpp
Heap/Heap.cpp
Interpreter.cpp
Lexer.cpp
Parser.cpp
Runtime/ArrayConstructor.cpp
Runtime/Array.cpp
Runtime/ArrayPrototype.cpp
Runtime/BooleanConstructor.cpp
Runtime/BooleanObject.cpp
Runtime/BooleanPrototype.cpp
Runtime/BoundFunction.cpp
Runtime/Cell.cpp
Runtime/ConsoleObject.cpp
Runtime/DateConstructor.cpp
Runtime/Date.cpp
Runtime/DatePrototype.cpp
Runtime/ErrorConstructor.cpp
Runtime/Error.cpp
Runtime/ErrorPrototype.cpp
Runtime/Exception.cpp
Runtime/FunctionConstructor.cpp
Runtime/Function.cpp
Runtime/FunctionPrototype.cpp
Runtime/GlobalObject.cpp
Runtime/LexicalEnvironment.cpp
Runtime/MarkedValueList.cpp
Runtime/MathObject.cpp
Runtime/NativeFunction.cpp
Runtime/NativeProperty.cpp
Runtime/NumberConstructor.cpp
Runtime/NumberObject.cpp
Runtime/NumberPrototype.cpp
Runtime/ObjectConstructor.cpp
Runtime/Object.cpp
Runtime/ObjectPrototype.cpp
Runtime/PrimitiveString.cpp
Runtime/Reference.cpp
Runtime/ReflectObject.cpp
Runtime/ScriptFunction.cpp
Runtime/Shape.cpp
Runtime/StringConstructor.cpp
Runtime/StringObject.cpp
Runtime/StringPrototype.cpp
Runtime/Uint8ClampedArray.cpp
Runtime/Value.cpp
Token.cpp
)
serenity_lib(LibJS js)
target_link_libraries(LibJS LibM LibCore)

View file

@ -1,60 +0,0 @@
OBJS = \
AST.o \
Console.o \
Heap/Handle.o \
Heap/Heap.o \
Heap/HeapBlock.o \
Interpreter.o \
Lexer.o \
Parser.o \
Runtime/Array.o \
Runtime/ArrayConstructor.o \
Runtime/ArrayPrototype.o \
Runtime/BooleanConstructor.o \
Runtime/BooleanObject.o \
Runtime/BooleanPrototype.o \
Runtime/BoundFunction.o \
Runtime/Cell.o \
Runtime/ConsoleObject.o \
Runtime/Date.o \
Runtime/DateConstructor.o \
Runtime/DatePrototype.o \
Runtime/Error.o \
Runtime/ErrorConstructor.o \
Runtime/ErrorPrototype.o \
Runtime/Exception.o \
Runtime/Function.o \
Runtime/FunctionConstructor.o \
Runtime/FunctionPrototype.o \
Runtime/GlobalObject.o \
Runtime/LexicalEnvironment.o \
Runtime/MathObject.o \
Runtime/MarkedValueList.o \
Runtime/NativeFunction.o \
Runtime/NativeProperty.o \
Runtime/NumberConstructor.o \
Runtime/NumberObject.o \
Runtime/NumberPrototype.o \
Runtime/Object.o \
Runtime/ObjectConstructor.o \
Runtime/ObjectPrototype.o \
Runtime/PrimitiveString.o \
Runtime/Reference.o \
Runtime/ReflectObject.o \
Runtime/ScriptFunction.o \
Runtime/Shape.o \
Runtime/StringConstructor.o \
Runtime/StringObject.o \
Runtime/StringPrototype.o \
Runtime/Uint8ClampedArray.o \
Runtime/Value.o \
Token.o
LIBRARY = libjs.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibJS/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibJS/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -3,7 +3,7 @@
if [ "$(uname)" = "SerenityOS" ]; then
js_program=/bin/js
else
[ -z "$js_program" ] && js_program="$SERENITY_ROOT/Meta/Lagom/build/js"
[ -z "$js_program" ] && js_program="$SERENITY_ROOT/Build/Meta/Lagom/js"
# Enable back traces if sanitizers are enabled
export UBSAN_OPTIONS=print_stacktrace=1

View file

@ -0,0 +1,6 @@
set(SOURCES
Editor.cpp
)
serenity_lib(LibLine line)
target_link_libraries(LibLine LibC LibCore)

View file

@ -36,8 +36,8 @@
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibCore/DirIterator.h>
#include <Libraries/LibLine/Span.h>
#include <Libraries/LibLine/Style.h>
#include <LibLine/Span.h>
#include <LibLine/Style.h>
#include <sys/stat.h>
#include <termios.h>

View file

@ -1,5 +0,0 @@
OBJS = Editor.o
LIBRARY = libline.a
include ../../Makefile.common

View file

@ -0,0 +1,7 @@
set(SOURCES
math.cpp
)
serenity_libc(LibM m)
target_include_directories(LibM PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(LibM LibC)

View file

@ -1,13 +0,0 @@
OBJS = math.o
LIBRARY = libm.a
POST_LIBRARY_BUILD = $(QUIET) $(MAKE) install
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,11 @@
set(SOURCES
CodeBlock.cpp
Document.cpp
Heading.cpp
List.cpp
Paragraph.cpp
Text.cpp
)
serenity_lib(LibMarkdown markdown)
target_link_libraries(LibMarkdown LibC)

View file

@ -1,16 +0,0 @@
OBJS = \
Document.o \
Paragraph.o \
Heading.o \
CodeBlock.o \
List.o \
Text.o
LIBRARY = libmarkdown.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibMarkdown/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibMarkdown/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,6 @@
set(SOURCES
Database.cpp
)
serenity_lib(LibPCIDB pcidb)
target_link_libraries(LibPCIDB LibC)

View file

@ -1,11 +0,0 @@
OBJS = \
Database.o
LIBRARY = libpcidb.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibPCIDB/
cp ./*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibPCIDB/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,12 @@
set(SOURCES
Client.cpp
Download.cpp
)
set(GENERATED_SOURCES
../../Services/ProtocolServer/ProtocolClientEndpoint.h
../../Services/ProtocolServer/ProtocolServerEndpoint.h
)
serenity_lib(LibProtocol protocol)
target_link_libraries(LibProtocol LibIPC)

View file

@ -1,11 +0,0 @@
OBJS = \
Download.o \
Client.o
LIBRARY = libprotocol.a
Download.cpp Client.cpp: ../../Services/ProtocolServer/ProtocolClientEndpoint.h ../../Services/ProtocolServer/ProtocolServerEndpoint.h
../../Services/ProtocolServer/ProtocolClientEndpoint.h ../../Services/ProtocolServer/ProtocolServerEndpoint.h:
@flock $(dir $(@)) $(MAKE) -C $(dir $(@))
include ../../Makefile.common

View file

@ -0,0 +1,7 @@
set(SOURCES
pthread.cpp
)
serenity_libc(LibPthread pthread)
target_link_libraries(LibPthread LibC)
target_include_directories(LibPthread PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

View file

@ -1,12 +0,0 @@
OBJS = pthread.o
LIBRARY = libpthread.a
POST_LIBRARY_BUILD = $(QUIET) $(MAKE) install
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,11 @@
set(SOURCES
ClientHandshake.cpp
Exchange.cpp
Handshake.cpp
Record.cpp
Socket.cpp
TLSv12.cpp
)
serenity_lib(LibTLS tls)
target_link_libraries(LibTLS LibCore LibCrypto)

View file

@ -1,21 +0,0 @@
LIBTLS_OBJS = TLSv12.o \
ClientHandshake.o \
Exchange.o \
Handshake.o \
Record.o \
Socket.o
OBJS = $(LIBTLS_OBJS)
LIBRARY = libtls.a
install:
for dir in .; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibTLS/$$dir; \
cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibTLS/$$dir/; \
done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common
include ../../Makefile.subdir

View file

@ -0,0 +1,6 @@
set(SOURCES
Decoder.cpp
)
serenity_lib(LibTextCodec textcodec)
target_link_libraries(LibTextCodec LibC)

View file

@ -1,15 +0,0 @@
OBJS = \
Decoder.o
LIBRARY = libtextcodec.a
install:
for dir in .; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibTextCodec/$$dir; \
cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibTextCodec/$$dir/; \
done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common
include ../../Makefile.subdir

View file

@ -0,0 +1,7 @@
set(SOURCES
BackgroundAction.cpp
Thread.cpp
)
serenity_lib(LibThread thread)
target_link_libraries(LibThread LibC LibCore LibPthread)

View file

@ -1,12 +0,0 @@
OBJS = \
Thread.o \
BackgroundAction.o
LIBRARY = libthread.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibThread/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibThread/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -0,0 +1,7 @@
set(SOURCES
Terminal.cpp
TerminalWidget.cpp
)
serenity_lib(LibVT vt)
target_link_libraries(LibVT LibC LibCore LibGUI LibGfx LibDesktop)

View file

@ -1,7 +0,0 @@
OBJS = \
Terminal.o \
TerminalWidget.o
LIBRARY = libvt.a
include ../../Makefile.common

View file

@ -0,0 +1,131 @@
set(SOURCES
Bindings/CanvasRenderingContext2DWrapper.cpp
Bindings/DocumentWrapper.cpp
Bindings/ElementWrapper.cpp
Bindings/EventListenerWrapper.cpp
Bindings/EventTargetWrapper.cpp
Bindings/EventWrapper.cpp
Bindings/HTMLCanvasElementWrapper.cpp
Bindings/HTMLImageElementWrapper.cpp
Bindings/ImageDataWrapper.cpp
Bindings/MouseEventWrapper.cpp
Bindings/NavigatorObject.cpp
Bindings/NodeWrapper.cpp
Bindings/WindowObject.cpp
Bindings/Wrappable.cpp
Bindings/XMLHttpRequestConstructor.cpp
Bindings/XMLHttpRequestPrototype.cpp
Bindings/XMLHttpRequestWrapper.cpp
CSS/Selector.cpp
CSS/SelectorEngine.cpp
CSS/StyleDeclaration.cpp
CSS/StyleProperties.cpp
CSS/StyleResolver.cpp
CSS/StyleRule.cpp
CSS/StyleSheet.cpp
CSS/StyleValue.cpp
DOM/CanvasRenderingContext2D.cpp
DOM/CharacterData.cpp
DOM/Comment.cpp
DOM/Document.cpp
DOM/DocumentType.cpp
DOM/Element.cpp
DOM/ElementFactory.cpp
DOM/EventListener.cpp
DOM/EventTarget.cpp
DOM/HTMLAnchorElement.cpp
DOM/HTMLBlinkElement.cpp
DOM/HTMLBodyElement.cpp
DOM/HTMLBRElement.cpp
DOM/HTMLCanvasElement.cpp
DOM/HTMLElement.cpp
DOM/HTMLFontElement.cpp
DOM/HTMLFormElement.cpp
DOM/HTMLHeadElement.cpp
DOM/HTMLHeadingElement.cpp
DOM/HTMLHRElement.cpp
DOM/HTMLHtmlElement.cpp
DOM/HTMLImageElement.cpp
DOM/HTMLInputElement.cpp
DOM/HTMLLinkElement.cpp
DOM/HTMLScriptElement.cpp
DOM/HTMLStyleElement.cpp
DOM/HTMLTitleElement.cpp
DOM/ImageData.cpp
DOM/Node.cpp
DOM/ParentNode.cpp
DOM/Text.cpp
DOMTreeModel.cpp
DOM/Window.cpp
DOM/XMLHttpRequest.cpp
Dump.cpp
FontCache.cpp
Frame.cpp
HtmlView.cpp
Layout/BoxModelMetrics.cpp
Layout/LayoutBlock.cpp
Layout/LayoutBox.cpp
Layout/LayoutBreak.cpp
Layout/LayoutCanvas.cpp
Layout/LayoutDocument.cpp
Layout/LayoutImage.cpp
Layout/LayoutInline.cpp
Layout/LayoutListItem.cpp
Layout/LayoutListItemMarker.cpp
Layout/LayoutNode.cpp
Layout/LayoutReplaced.cpp
Layout/LayoutTableCell.cpp
Layout/LayoutTable.cpp
Layout/LayoutTableRow.cpp
Layout/LayoutText.cpp
Layout/LayoutTreeBuilder.cpp
Layout/LayoutWidget.cpp
Layout/LineBox.cpp
Layout/LineBoxFragment.cpp
Parser/CSSParser.cpp
Parser/HTMLParser.cpp
ResourceLoader.cpp
StylePropertiesModel.cpp
URLEncoder.cpp
CSS/PropertyID.h
CSS/PropertyID.cpp
CSS/DefaultStyleSheetSource.cpp
)
set(GENERATED_SOURCES
../../Services/ProtocolServer/ProtocolClientEndpoint.h
../../Services/ProtocolServer/ProtocolServerEndpoint.h
)
add_custom_command(
OUTPUT CSS/PropertyID.h
COMMAND /bin/mkdir -p CSS
COMMAND Generate_CSS_PropertyID_h ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json > CSS/PropertyID.h
VERBATIM
DEPENDS Generate_CSS_PropertyID_h
MAIN_DEPENDENCY CSS/Properties.json
)
add_custom_target(generate_PropertyID.h DEPENDS CSS/PropertyID.h)
add_custom_command(
OUTPUT CSS/PropertyID.cpp
COMMAND /bin/mkdir -p CSS
COMMAND Generate_CSS_PropertyID_cpp ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json > CSS/PropertyID.cpp
VERBATIM
DEPENDS Generate_CSS_PropertyID_cpp
MAIN_DEPENDENCY CSS/Properties.json
)
add_custom_command(
OUTPUT CSS/DefaultStyleSheetSource.cpp
COMMAND /bin/mkdir -p CSS
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh default_stylesheet_source
${CMAKE_CURRENT_SOURCE_DIR}/CSS/Default.css > CSS/DefaultStyleSheetSource.cpp
VERBATIM
DEPENDS Scripts/GenerateStyleSheetSource.sh
MAIN_DEPENDENCY CSS/Default.css
)
serenity_lib(LibWeb web)
target_link_libraries(LibWeb LibCore LibJS LibMarkdown LibGUI LibGfx LibTextCodec LibProtocol)

View file

@ -0,0 +1,4 @@
add_executable(Generate_CSS_PropertyID_h Generate_CSS_PropertyID_h.cpp)
add_executable(Generate_CSS_PropertyID_cpp Generate_CSS_PropertyID_cpp.cpp)
target_link_libraries(Generate_CSS_PropertyID_h LagomCore)
target_link_libraries(Generate_CSS_PropertyID_cpp LagomCore)

View file

@ -1,26 +0,0 @@
USE_HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_cpp
OBJS = \
Generate_CSS_PropertyID_cpp.o \
../../../../AK/FlyString.o \
../../../../AK/JsonParser.o \
../../../../AK/JsonValue.o \
../../../../AK/LogStream.o \
../../../../AK/String.o \
../../../../AK/StringBuilder.o \
../../../../AK/StringImpl.o \
../../../../AK/StringUtils.o \
../../../../AK/StringView.o \
../../../../Libraries/LibCore/IODevice.o \
../../../../Libraries/LibCore/File.o \
../../../../Libraries/LibCore/Object.o \
../../../../Libraries/LibCore/Event.o \
../../../../Libraries/LibCore/Socket.o \
../../../../Libraries/LibCore/LocalSocket.o \
../../../../Libraries/LibCore/Notifier.o \
../../../../Libraries/LibCore/LocalServer.o \
../../../../Libraries/LibCore/EventLoop.o
include ../../../../Makefile.common

View file

@ -1,26 +0,0 @@
USE_HOST_CXX = 1
PROGRAM = Generate_CSS_PropertyID_h
OBJS = \
Generate_CSS_PropertyID_h.o \
../../../../AK/FlyString.o \
../../../../AK/JsonParser.o \
../../../../AK/JsonValue.o \
../../../../AK/LogStream.o \
../../../../AK/String.o \
../../../../AK/StringBuilder.o \
../../../../AK/StringImpl.o \
../../../../AK/StringUtils.o \
../../../../AK/StringView.o \
../../../../Libraries/LibCore/IODevice.o \
../../../../Libraries/LibCore/File.o \
../../../../Libraries/LibCore/Object.o \
../../../../Libraries/LibCore/Event.o \
../../../../Libraries/LibCore/Socket.o \
../../../../Libraries/LibCore/LocalSocket.o \
../../../../Libraries/LibCore/Notifier.o \
../../../../Libraries/LibCore/LocalServer.o \
../../../../Libraries/LibCore/EventLoop.o
include ../../../../Makefile.common

View file

@ -1,3 +0,0 @@
SUBDIRS := $(wildcard */.)
include ../../../Makefile.subdir

View file

@ -1,140 +0,0 @@
LIBWEB_OBJS = \
Bindings/CanvasRenderingContext2DWrapper.o \
Bindings/DocumentWrapper.o \
Bindings/ElementWrapper.o \
Bindings/EventWrapper.o \
Bindings/EventListenerWrapper.o \
Bindings/EventTargetWrapper.o \
Bindings/HTMLCanvasElementWrapper.o \
Bindings/HTMLImageElementWrapper.o \
Bindings/ImageDataWrapper.o \
Bindings/MouseEventWrapper.o \
Bindings/NavigatorObject.o \
Bindings/NodeWrapper.o \
Bindings/WindowObject.o \
Bindings/Wrappable.o \
Bindings/XMLHttpRequestConstructor.o \
Bindings/XMLHttpRequestPrototype.o \
Bindings/XMLHttpRequestWrapper.o \
CSS/DefaultStyleSheetSource.o \
CSS/PropertyID.o \
CSS/Selector.o \
CSS/SelectorEngine.o \
CSS/StyleDeclaration.o \
CSS/StyleProperties.o \
CSS/StyleResolver.o \
CSS/StyleRule.o \
CSS/StyleSheet.o \
CSS/StyleValue.o \
DOM/CanvasRenderingContext2D.o \
DOM/CharacterData.o \
DOM/Comment.o \
DOM/Document.o \
DOM/DocumentType.o \
DOM/Element.o \
DOM/ElementFactory.o \
DOM/EventListener.o \
DOM/EventTarget.o \
DOM/HTMLAnchorElement.o \
DOM/HTMLBRElement.o \
DOM/HTMLBlinkElement.o \
DOM/HTMLBodyElement.o \
DOM/HTMLCanvasElement.o \
DOM/HTMLElement.o \
DOM/HTMLFontElement.o \
DOM/HTMLFormElement.o \
DOM/HTMLHRElement.o \
DOM/HTMLHeadElement.o \
DOM/HTMLHeadingElement.o \
DOM/HTMLHtmlElement.o \
DOM/HTMLImageElement.o \
DOM/HTMLInputElement.o \
DOM/HTMLLinkElement.o \
DOM/HTMLScriptElement.o \
DOM/HTMLStyleElement.o \
DOM/HTMLTitleElement.o \
DOM/ImageData.o \
DOM/Node.o \
DOM/ParentNode.o \
DOM/Text.o \
DOM/Window.o \
DOM/XMLHttpRequest.o \
StylePropertiesModel.o \
DOMTreeModel.o \
Dump.o \
FontCache.o \
Frame.o \
HtmlView.o \
Layout/BoxModelMetrics.o \
Layout/LayoutBlock.o \
Layout/LayoutBox.o \
Layout/LayoutBreak.o \
Layout/LayoutCanvas.o \
Layout/LayoutDocument.o \
Layout/LayoutImage.o \
Layout/LayoutInline.o \
Layout/LayoutListItem.o \
Layout/LayoutListItemMarker.o \
Layout/LayoutNode.o \
Layout/LayoutReplaced.o \
Layout/LayoutTable.o \
Layout/LayoutTableCell.o \
Layout/LayoutTableRow.o \
Layout/LayoutText.o \
Layout/LayoutTreeBuilder.o \
Layout/LayoutWidget.o \
Layout/LineBox.o \
Layout/LineBoxFragment.o \
Parser/CSSParser.o \
Parser/HTMLParser.o \
ResourceLoader.o \
URLEncoder.o
EXTRA_SOURCES = \
CSS/DefaultStyleSheetSource.cpp \
CSS/PropertyID.h \
CSS/PropertyID.cpp
GENERATE_CSS_PROPERTYID_CPP = CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp
GENERATE_CSS_PROPERTYID_H = CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h
$(GENERATE_CSS_PROPERTYID_H):
@flock $(dir $(GENERATE_CSS_PROPERTYID_H)) $(MAKE) -C $(dir $(GENERATE_CSS_PROPERTYID_H))
$(GENERATE_CSS_PROPERTYID_CPP):
@flock $(dir $(GENERATE_CSS_PROPERTYID_CPP)) $(MAKE) -C $(dir $(GENERATE_CSS_PROPERTYID_CPP))
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"
$(QUIET) Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
CSS/PropertyID.h: CSS/Properties.json $(GENERATE_CSS_PROPERTYID_H)
@echo "GENERATE $@"
$(QUIET) flock CSS $(GENERATE_CSS_PROPERTYID_H) $< > $@
CSS/PropertyID.cpp: CSS/Properties.json $(GENERATE_CSS_PROPERTYID_CPP)
@echo "GENERATE $@"
$(QUIET) flock CSS $(GENERATE_CSS_PROPERTYID_CPP) $< > $@
ResourceLoader.cpp: ../../Services/ProtocolServer/ProtocolClientEndpoint.h ../../Services/ProtocolServer/ProtocolServerEndpoint.h
../../Services/ProtocolServer/ProtocolClientEndpoint.h ../../Services/ProtocolServer/ProtocolServerEndpoint.h:
@flock $(dir $(@)) $(MAKE) -C $(dir $(@))
EXTRA_CLEAN = CSS/DefaultStyleSheetSource.cpp CSS/PropertyID.h CSS/PropertyID.cpp
OBJS = $(EXTRA_OBJS) $(LIBWEB_OBJS)
LIBRARY = libweb.a
install:
for dir in . Parser DOM CSS Layout; do \
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibWeb/$$dir; \
cp $$dir/*.h $(SERENITY_BASE_DIR)/Root/usr/include/LibWeb/$$dir/; \
done
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common
SUBDIRS = CodeGenerators
include ../../Makefile.subdir

View file

@ -0,0 +1,6 @@
set(SOURCES
Instruction.cpp
)
serenity_lib(LibX86 x86)
target_link_libraries(LibX86 LibC)

View file

@ -1,11 +0,0 @@
OBJS = \
Instruction.o
LIBRARY = libx86.a
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/LibX86/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/LibX86/
cp $(LIBRARY) $(SERENITY_BASE_DIR)/Root/usr/lib/
include ../../Makefile.common

View file

@ -1,3 +0,0 @@
SUBDIRS := $(patsubst %/Makefile,%/,$(wildcard */Makefile))
include ../Makefile.subdir