CMakeLists.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. include(${SerenityOS_SOURCE_DIR}/Meta/CMake/public_suffix.cmake)
  2. set(SOURCES
  3. Application.cpp
  4. Attribute.cpp
  5. ChromeProcess.cpp
  6. CookieJar.cpp
  7. Database.cpp
  8. InspectorClient.cpp
  9. ProcessHandle.cpp
  10. Process.cpp
  11. ProcessManager.cpp
  12. RequestServerAdapter.cpp
  13. SearchEngine.cpp
  14. SourceHighlighter.cpp
  15. URL.cpp
  16. UserAgent.cpp
  17. ViewImplementation.cpp
  18. WebContentClient.cpp
  19. WebSocketClientAdapter.cpp
  20. ${PUBLIC_SUFFIX_SOURCES}
  21. )
  22. set(GENERATED_SOURCES ${CURRENT_LIB_GENERATED})
  23. embed_as_string(
  24. "NativeStyleSheetSource.cpp"
  25. "${CMAKE_CURRENT_SOURCE_DIR}/Native.css"
  26. "NativeStyleSheetSource.cpp"
  27. "native_stylesheet_source"
  28. NAMESPACE "WebView"
  29. )
  30. compile_ipc(UIProcessServer.ipc UIProcessServerEndpoint.h)
  31. compile_ipc(UIProcessClient.ipc UIProcessClientEndpoint.h)
  32. set(GENERATED_SOURCES
  33. ${GENERATED_SOURCES}
  34. ../../Services/RequestServer/RequestClientEndpoint.h
  35. ../../Services/RequestServer/RequestServerEndpoint.h
  36. ../../Services/WebContent/WebContentClientEndpoint.h
  37. ../../Services/WebContent/WebContentServerEndpoint.h
  38. ../../Services/WebContent/WebDriverClientEndpoint.h
  39. ../../Services/WebContent/WebDriverServerEndpoint.h
  40. NativeStyleSheetSource.cpp
  41. UIProcessClientEndpoint.h
  42. UIProcessServerEndpoint.h
  43. )
  44. serenity_lib(LibWebView webview)
  45. target_link_libraries(LibWebView PRIVATE LibCore LibFileSystem LibGfx LibImageDecoderClient LibIPC LibRequests LibJS LibWeb LibUnicode LibURL)
  46. target_compile_definitions(LibWebView PRIVATE ENABLE_PUBLIC_SUFFIX=$<BOOL:${ENABLE_PUBLIC_SUFFIX_DOWNLOAD}>)
  47. # Third-party
  48. find_package(SQLite3 REQUIRED)
  49. target_link_libraries(LibWebView PRIVATE SQLite::SQLite3)
  50. if (ENABLE_INSTALL_HEADERS)
  51. foreach(header ${GENERATED_SOURCES})
  52. get_filename_component(extension ${header} EXT)
  53. if (NOT "${extension}" STREQUAL ".h")
  54. continue()
  55. endif()
  56. get_filename_component(subdirectory ${header} DIRECTORY)
  57. string(REGEX REPLACE "^\\.\\./\\.\\./" "" subdirectory "${subdirectory}")
  58. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${header}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${subdirectory}")
  59. endforeach()
  60. install(FILES "${SERENITY_PROJECT_ROOT}/Userland/Services/RequestServer/ConnectionCache.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/RequestServer")
  61. endif()