mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-14 15:13:07 +00:00
ProjectBuilder takes care of building and running the current project from Hack Studio. The existing functionality of building javascript and Makefile projects remains, and in addition to it the ability to build standalone serenity components is added. If the Hack Studio project is the serenity repository itself, ProjectBuilder will attempt building the component that the currently active file belongs to. It does so by creating a new CMake file which adds the component as a build subdirectory. It also parses all CMake files in the serenity repository to gather all available libraries. It declares the libraries and their dependencies in this CMake file. It then uses the HACKSTUDIO_BUILD CMake option to direct the build system to use this CMake file instead of doing a full system build.
59 lines
1.7 KiB
CMake
59 lines
1.7 KiB
CMake
serenity_component(
|
|
HackStudio
|
|
RECOMMENDED
|
|
TARGETS HackStudio
|
|
DEPENDS CppLanguageServer ShellLanguageServer
|
|
)
|
|
|
|
add_subdirectory(LanguageServers)
|
|
add_subdirectory(LanguageClients)
|
|
|
|
compile_gml(Dialogs/NewProjectDialog.gml Dialogs/NewProjectDialogGML.h new_project_dialog_gml)
|
|
compile_gml(Dialogs/Git/GitCommitDialog.gml Dialogs/Git/GitCommitDialogGML.h git_commit_dialog_gml)
|
|
|
|
set(SOURCES
|
|
CodeDocument.cpp
|
|
ClassViewWidget.cpp
|
|
Debugger/BacktraceModel.cpp
|
|
Debugger/DebugInfoWidget.cpp
|
|
Debugger/Debugger.cpp
|
|
Debugger/DebuggerGlobalJSObject.cpp
|
|
Debugger/DebuggerVariableJSObject.cpp
|
|
Debugger/DisassemblyModel.cpp
|
|
Debugger/DisassemblyWidget.cpp
|
|
Debugger/EvaluateExpressionDialog.cpp
|
|
Debugger/RegistersModel.cpp
|
|
Debugger/VariablesModel.cpp
|
|
Dialogs/Git/GitCommitDialog.cpp
|
|
Dialogs/Git/GitCommitDialogGML.h
|
|
Dialogs/NewProjectDialog.cpp
|
|
Dialogs/NewProjectDialogGML.h
|
|
Dialogs/ProjectTemplatesModel.cpp
|
|
Editor.cpp
|
|
EditorWrapper.cpp
|
|
FindInFilesWidget.cpp
|
|
Git/DiffViewer.cpp
|
|
Git/GitFilesModel.cpp
|
|
Git/GitFilesView.cpp
|
|
Git/GitRepo.cpp
|
|
Git/GitWidget.cpp
|
|
GMLPreviewWidget.cpp
|
|
HackStudioWidget.cpp
|
|
Language.cpp
|
|
LanguageClient.cpp
|
|
Locator.cpp
|
|
Project.cpp
|
|
ProjectBuilder.cpp
|
|
ProjectDeclarations.cpp
|
|
ProjectFile.cpp
|
|
ProjectTemplate.cpp
|
|
TerminalWrapper.cpp
|
|
ToDoEntries.cpp
|
|
ToDoEntriesWidget.cpp
|
|
main.cpp
|
|
)
|
|
|
|
serenity_app(HackStudio ICON app-hack-studio)
|
|
target_link_libraries(HackStudio LibWeb LibMarkdown LibGUI LibCpp LibGfx LibCore LibVT LibDebug LibX86 LibDiff LibShell LibSymbolication LibRegex LibSQL LibCoredump LibMain)
|
|
link_with_unicode_data(HackStudio)
|
|
add_dependencies(HackStudio CppLanguageServer)
|