mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 09:00:22 +00:00
109 lines
3.1 KiB
CMake
109 lines
3.1 KiB
CMake
include(fontconfig)
|
|
include(public_suffix)
|
|
|
|
set(SOURCES
|
|
Application.cpp
|
|
Attribute.cpp
|
|
ChromeProcess.cpp
|
|
CookieJar.cpp
|
|
Database.cpp
|
|
HelperProcess.cpp
|
|
InspectorClient.cpp
|
|
Plugins/FontPlugin.cpp
|
|
Plugins/ImageCodecPlugin.cpp
|
|
Process.cpp
|
|
ProcessHandle.cpp
|
|
ProcessManager.cpp
|
|
SearchEngine.cpp
|
|
SourceHighlighter.cpp
|
|
URL.cpp
|
|
UserAgent.cpp
|
|
Utilities.cpp
|
|
ViewImplementation.cpp
|
|
WebContentClient.cpp
|
|
${PUBLIC_SUFFIX_SOURCES}
|
|
)
|
|
|
|
if (APPLE)
|
|
list(APPEND SOURCES MachPortServer.cpp)
|
|
endif()
|
|
|
|
if (ENABLE_QT)
|
|
list(APPEND SOURCES
|
|
EventLoop/EventLoopImplementationQt.cpp
|
|
EventLoop/EventLoopImplementationQtEventTarget.cpp
|
|
)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
find_package(Qt6 REQUIRED COMPONENTS Core)
|
|
elseif (APPLE)
|
|
list(APPEND SOURCES
|
|
EventLoop/EventLoopImplementationMacOS.mm
|
|
)
|
|
endif()
|
|
|
|
set(GENERATED_SOURCES ${CURRENT_LIB_GENERATED})
|
|
|
|
embed_as_string(
|
|
"NativeStyleSheetSource.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/Native.css"
|
|
"NativeStyleSheetSource.cpp"
|
|
"native_stylesheet_source"
|
|
NAMESPACE "WebView"
|
|
)
|
|
|
|
compile_ipc(UIProcessServer.ipc UIProcessServerEndpoint.h)
|
|
compile_ipc(UIProcessClient.ipc UIProcessClientEndpoint.h)
|
|
|
|
if (NOT APPLE AND NOT CMAKE_INSTALL_LIBEXECDIR STREQUAL "libexec")
|
|
set_source_files_properties(Utilities.cpp PROPERTIES COMPILE_DEFINITIONS LADYBIRD_LIBEXECDIR="${CMAKE_INSTALL_LIBEXECDIR}")
|
|
endif()
|
|
|
|
set(GENERATED_SOURCES
|
|
${GENERATED_SOURCES}
|
|
../../Services/RequestServer/RequestClientEndpoint.h
|
|
../../Services/RequestServer/RequestServerEndpoint.h
|
|
../../Services/WebContent/WebContentClientEndpoint.h
|
|
../../Services/WebContent/WebContentServerEndpoint.h
|
|
../../Services/WebContent/WebDriverClientEndpoint.h
|
|
../../Services/WebContent/WebDriverServerEndpoint.h
|
|
NativeStyleSheetSource.cpp
|
|
UIProcessClientEndpoint.h
|
|
UIProcessServerEndpoint.h
|
|
)
|
|
|
|
serenity_lib(LibWebView webview)
|
|
target_link_libraries(LibWebView PRIVATE LibCore LibFileSystem LibGfx LibImageDecoderClient LibIPC LibRequests LibJS LibWeb LibUnicode LibURL LibSyntax)
|
|
target_compile_definitions(LibWebView PRIVATE ENABLE_PUBLIC_SUFFIX=$<BOOL:${ENABLE_PUBLIC_SUFFIX_DOWNLOAD}>)
|
|
|
|
if (APPLE)
|
|
target_link_libraries(LibWebView PRIVATE LibThreading)
|
|
endif()
|
|
|
|
# Third-party
|
|
find_package(SQLite3 REQUIRED)
|
|
target_link_libraries(LibWebView PRIVATE SQLite::SQLite3)
|
|
|
|
if (ENABLE_QT)
|
|
target_link_libraries(LibWebView PRIVATE Qt::Core)
|
|
elseif (APPLE)
|
|
target_link_libraries(LibWebView PRIVATE "-framework Cocoa")
|
|
endif()
|
|
|
|
if (HAS_FONTCONFIG)
|
|
target_link_libraries(LibWebView PRIVATE Fontconfig::Fontconfig)
|
|
endif()
|
|
|
|
if (ENABLE_INSTALL_HEADERS)
|
|
foreach(header ${GENERATED_SOURCES})
|
|
get_filename_component(extension ${header} EXT)
|
|
if (NOT "${extension}" STREQUAL ".h")
|
|
continue()
|
|
endif()
|
|
|
|
get_filename_component(subdirectory ${header} DIRECTORY)
|
|
string(REGEX REPLACE "^\\.\\./\\.\\./" "" subdirectory "${subdirectory}")
|
|
|
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${header}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${subdirectory}")
|
|
endforeach()
|
|
endif()
|