CMakeLists.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. set(SOURCES
  2. Bindings/CSSStyleDeclarationWrapperCustom.cpp
  3. Bindings/EventListenerWrapper.cpp
  4. Bindings/EventTargetWrapperFactory.cpp
  5. Bindings/EventWrapperFactory.cpp
  6. Bindings/HTMLCollectionWrapperCustom.cpp
  7. Bindings/ImageConstructor.cpp
  8. Bindings/LocationObject.cpp
  9. Bindings/MainThreadVM.cpp
  10. Bindings/NavigatorObject.cpp
  11. Bindings/NodeWrapperFactory.cpp
  12. Bindings/ScriptExecutionContext.cpp
  13. Bindings/WindowObject.cpp
  14. Bindings/Wrappable.cpp
  15. CSS/CSSImportRule.cpp
  16. CSS/CSSRule.cpp
  17. CSS/CSSStyleDeclaration.cpp
  18. CSS/CSSStyleRule.cpp
  19. CSS/CSSStyleSheet.cpp
  20. CSS/DefaultStyleSheetSource.cpp
  21. CSS/Length.cpp
  22. CSS/Parser/DeprecatedCSSParser.cpp
  23. CSS/Parser/Parser.cpp
  24. CSS/Parser/StyleRules.cpp
  25. CSS/Parser/Token.cpp
  26. CSS/Parser/Tokenizer.cpp
  27. CSS/PropertyID.cpp
  28. CSS/PropertyID.h
  29. CSS/QuirksModeStyleSheetSource.cpp
  30. CSS/Screen.cpp
  31. CSS/Selector.cpp
  32. CSS/SelectorEngine.cpp
  33. CSS/StyleInvalidator.cpp
  34. CSS/StyleProperties.cpp
  35. CSS/StyleResolver.cpp
  36. CSS/StyleSheet.cpp
  37. CSS/StyleSheetList.cpp
  38. CSS/StyleValue.cpp
  39. CSS/ValueID.cpp
  40. CSS/ValueID.h
  41. Cookie/ParsedCookie.cpp
  42. DOM/CharacterData.cpp
  43. DOM/CharacterData.idl
  44. DOM/Comment.cpp
  45. DOM/DOMImplementation.cpp
  46. DOM/Document.cpp
  47. DOM/DocumentFragment.cpp
  48. DOM/DocumentType.cpp
  49. DOM/Element.cpp
  50. DOM/ElementFactory.cpp
  51. DOM/Event.cpp
  52. DOM/EventDispatcher.cpp
  53. DOM/EventListener.cpp
  54. DOM/EventTarget.cpp
  55. DOM/HTMLCollection.cpp
  56. DOM/Node.cpp
  57. DOM/ParentNode.cpp
  58. DOM/Position.cpp
  59. DOM/ProcessingInstruction.cpp
  60. DOM/Range.cpp
  61. DOM/ShadowRoot.cpp
  62. DOM/Text.cpp
  63. DOM/Text.idl
  64. DOM/Timer.cpp
  65. DOM/Window.cpp
  66. DOMTreeModel.cpp
  67. DOMTreeJSONModel.cpp
  68. Dump.cpp
  69. FontCache.cpp
  70. HTML/AttributeNames.cpp
  71. HTML/BrowsingContextContainer.cpp
  72. HTML/CanvasRenderingContext2D.cpp
  73. HTML/DOMParser.cpp
  74. HTML/EventNames.cpp
  75. HTML/FormAssociatedElement.cpp
  76. HTML/GlobalEventHandlers.cpp
  77. HTML/HTMLAnchorElement.cpp
  78. HTML/HTMLAreaElement.cpp
  79. HTML/HTMLAudioElement.cpp
  80. HTML/HTMLBRElement.cpp
  81. HTML/HTMLBaseElement.cpp
  82. HTML/HTMLBlinkElement.cpp
  83. HTML/HTMLBodyElement.cpp
  84. HTML/HTMLButtonElement.cpp
  85. HTML/HTMLCanvasElement.cpp
  86. HTML/HTMLDListElement.cpp
  87. HTML/HTMLDataElement.cpp
  88. HTML/HTMLDataListElement.cpp
  89. HTML/HTMLDetailsElement.cpp
  90. HTML/HTMLDialogElement.cpp
  91. HTML/HTMLDirectoryElement.cpp
  92. HTML/HTMLDivElement.cpp
  93. HTML/HTMLElement.cpp
  94. HTML/HTMLEmbedElement.cpp
  95. HTML/HTMLFieldSetElement.cpp
  96. HTML/HTMLFontElement.cpp
  97. HTML/HTMLFormElement.cpp
  98. HTML/HTMLFrameElement.cpp
  99. HTML/HTMLFrameSetElement.cpp
  100. HTML/HTMLHRElement.cpp
  101. HTML/HTMLHeadElement.cpp
  102. HTML/HTMLHeadingElement.cpp
  103. HTML/HTMLHtmlElement.cpp
  104. HTML/HTMLIFrameElement.cpp
  105. HTML/HTMLImageElement.cpp
  106. HTML/HTMLInputElement.cpp
  107. HTML/HTMLLIElement.cpp
  108. HTML/HTMLLabelElement.cpp
  109. HTML/HTMLLegendElement.cpp
  110. HTML/HTMLLinkElement.cpp
  111. HTML/HTMLMapElement.cpp
  112. HTML/HTMLMarqueeElement.cpp
  113. HTML/HTMLMediaElement.cpp
  114. HTML/HTMLMenuElement.cpp
  115. HTML/HTMLMetaElement.cpp
  116. HTML/HTMLMeterElement.cpp
  117. HTML/HTMLModElement.cpp
  118. HTML/HTMLOListElement.cpp
  119. HTML/HTMLObjectElement.cpp
  120. HTML/HTMLOptGroupElement.cpp
  121. HTML/HTMLOptionElement.cpp
  122. HTML/HTMLOutputElement.cpp
  123. HTML/HTMLParagraphElement.cpp
  124. HTML/HTMLParamElement.cpp
  125. HTML/HTMLPictureElement.cpp
  126. HTML/HTMLPreElement.cpp
  127. HTML/HTMLProgressElement.cpp
  128. HTML/HTMLQuoteElement.cpp
  129. HTML/HTMLScriptElement.cpp
  130. HTML/HTMLSelectElement.cpp
  131. HTML/HTMLSlotElement.cpp
  132. HTML/HTMLSourceElement.cpp
  133. HTML/HTMLSpanElement.cpp
  134. HTML/HTMLStyleElement.cpp
  135. HTML/HTMLTableCaptionElement.cpp
  136. HTML/HTMLTableCellElement.cpp
  137. HTML/HTMLTableColElement.cpp
  138. HTML/HTMLTableElement.cpp
  139. HTML/HTMLTableRowElement.cpp
  140. HTML/HTMLTableSectionElement.cpp
  141. HTML/HTMLTemplateElement.cpp
  142. HTML/HTMLTextAreaElement.cpp
  143. HTML/HTMLTimeElement.cpp
  144. HTML/HTMLTitleElement.cpp
  145. HTML/HTMLTrackElement.cpp
  146. HTML/HTMLUListElement.cpp
  147. HTML/HTMLUnknownElement.cpp
  148. HTML/HTMLVideoElement.cpp
  149. HTML/ImageData.cpp
  150. HTML/Parser/Entities.cpp
  151. HTML/Parser/HTMLDocumentParser.cpp
  152. HTML/Parser/HTMLEncodingDetection.cpp
  153. HTML/Parser/HTMLToken.cpp
  154. HTML/Parser/HTMLTokenizer.cpp
  155. HTML/Parser/ListOfActiveFormattingElements.cpp
  156. HTML/Parser/StackOfOpenElements.cpp
  157. HTML/SubmitEvent.cpp
  158. HTML/SyntaxHighlighter/SyntaxHighlighter.cpp
  159. HTML/TagNames.cpp
  160. HTML/WebSocket.cpp
  161. HighResolutionTime/Performance.cpp
  162. InProcessWebView.cpp
  163. Layout/BlockBox.cpp
  164. Layout/BlockFormattingContext.cpp
  165. Layout/Box.cpp
  166. Layout/BoxModelMetrics.cpp
  167. Layout/BreakNode.cpp
  168. Layout/ButtonBox.cpp
  169. Layout/CanvasBox.cpp
  170. Layout/CheckBox.cpp
  171. Layout/FlexFormattingContext.cpp
  172. Layout/FormattingContext.cpp
  173. Layout/FrameBox.cpp
  174. Layout/ImageBox.cpp
  175. Layout/InitialContainingBlockBox.cpp
  176. Layout/InlineFormattingContext.cpp
  177. Layout/InlineNode.cpp
  178. Layout/Label.cpp
  179. Layout/LayoutPosition.cpp
  180. Layout/LineBox.cpp
  181. Layout/LineBoxFragment.cpp
  182. Layout/ListItemBox.cpp
  183. Layout/ListItemMarkerBox.cpp
  184. Layout/Node.cpp
  185. Layout/RadioButton.cpp
  186. Layout/ReplacedBox.cpp
  187. Layout/SVGBox.cpp
  188. Layout/SVGGraphicsBox.cpp
  189. Layout/SVGPathBox.cpp
  190. Layout/SVGSVGBox.cpp
  191. Layout/TableBox.cpp
  192. Layout/TableCellBox.cpp
  193. Layout/TableFormattingContext.cpp
  194. Layout/TableRowBox.cpp
  195. Layout/TableRowGroupBox.cpp
  196. Layout/TextNode.cpp
  197. Layout/TreeBuilder.cpp
  198. LayoutTreeModel.cpp
  199. Loader/CSSLoader.cpp
  200. Loader/ContentFilter.cpp
  201. Loader/FrameLoader.cpp
  202. Loader/ImageLoader.cpp
  203. Loader/ImageResource.cpp
  204. Loader/LoadRequest.cpp
  205. Loader/Resource.cpp
  206. Loader/ResourceLoader.cpp
  207. Namespace.cpp
  208. NavigationTiming/PerformanceTiming.cpp
  209. OutOfProcessWebView.cpp
  210. Page/BrowsingContext.cpp
  211. Page/EditEventHandler.cpp
  212. Page/EventHandler.cpp
  213. Page/Page.cpp
  214. Painting/BorderPainting.cpp
  215. Painting/StackingContext.cpp
  216. SVG/SVGElement.cpp
  217. SVG/SVGGeometryElement.cpp
  218. SVG/SVGGraphicsElement.cpp
  219. SVG/SVGPathElement.cpp
  220. SVG/SVGSVGElement.cpp
  221. SVG/TagNames.cpp
  222. StylePropertiesModel.cpp
  223. UIEvents/EventNames.cpp
  224. UIEvents/MouseEvent.cpp
  225. URLEncoder.cpp
  226. WebAssembly/WebAssemblyInstanceConstructor.cpp
  227. WebAssembly/WebAssemblyInstanceObject.cpp
  228. WebAssembly/WebAssemblyInstanceObjectPrototype.cpp
  229. WebAssembly/WebAssemblyMemoryConstructor.cpp
  230. WebAssembly/WebAssemblyMemoryPrototype.cpp
  231. WebAssembly/WebAssemblyModuleConstructor.cpp
  232. WebAssembly/WebAssemblyModuleObject.cpp
  233. WebAssembly/WebAssemblyObject.cpp
  234. WebContentClient.cpp
  235. XHR/EventNames.cpp
  236. XHR/XMLHttpRequest.cpp
  237. )
  238. set(GENERATED_SOURCES
  239. ../../Services/RequestServer/RequestClientEndpoint.h
  240. ../../Services/RequestServer/RequestServerEndpoint.h
  241. ../../Services/WebContent/WebContentClientEndpoint.h
  242. ../../Services/WebContent/WebContentServerEndpoint.h
  243. )
  244. set_property(GLOBAL PROPERTY wrapper_sources)
  245. function(add_wrapper_sources)
  246. get_property(tmp GLOBAL PROPERTY wrapper_sources)
  247. foreach(arg ${ARGV})
  248. set(tmp ${tmp}
  249. ${arg}
  250. )
  251. endforeach()
  252. set_property(GLOBAL PROPERTY wrapper_sources "${tmp}")
  253. endfunction(add_wrapper_sources)
  254. function(libweb_js_wrapper class)
  255. get_filename_component(basename ${class} NAME)
  256. add_wrapper_sources(Bindings/${basename}Wrapper.cpp Bindings/${basename}Wrapper.h)
  257. add_wrapper_sources(Bindings/${basename}Constructor.cpp Bindings/${basename}Constructor.h)
  258. add_wrapper_sources(Bindings/${basename}Prototype.cpp Bindings/${basename}Prototype.h)
  259. add_custom_command(
  260. OUTPUT Bindings/${basename}Wrapper.h
  261. COMMAND ${write_if_different} Bindings/${basename}Wrapper.h CodeGenerators/WrapperGenerator --header ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl
  262. VERBATIM
  263. DEPENDS WrapperGenerator
  264. MAIN_DEPENDENCY ${class}.idl
  265. )
  266. add_custom_command(
  267. OUTPUT Bindings/${basename}Wrapper.cpp
  268. COMMAND ${write_if_different} Bindings/${basename}Wrapper.cpp CodeGenerators/WrapperGenerator --implementation ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl
  269. VERBATIM
  270. DEPENDS WrapperGenerator
  271. MAIN_DEPENDENCY ${class}.idl
  272. )
  273. add_custom_command(
  274. OUTPUT Bindings/${basename}Constructor.h
  275. COMMAND ${write_if_different} Bindings/${basename}Constructor.h CodeGenerators/WrapperGenerator --constructor-header ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl
  276. VERBATIM
  277. DEPENDS WrapperGenerator
  278. MAIN_DEPENDENCY ${class}.idl
  279. )
  280. add_custom_command(
  281. OUTPUT Bindings/${basename}Constructor.cpp
  282. COMMAND ${write_if_different} Bindings/${basename}Constructor.cpp CodeGenerators/WrapperGenerator --constructor-implementation ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl
  283. VERBATIM
  284. DEPENDS WrapperGenerator
  285. MAIN_DEPENDENCY ${class}.idl
  286. )
  287. add_custom_command(
  288. OUTPUT Bindings/${basename}Prototype.h
  289. COMMAND ${write_if_different} Bindings/${basename}Prototype.h CodeGenerators/WrapperGenerator --prototype-header ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl
  290. VERBATIM
  291. DEPENDS WrapperGenerator
  292. MAIN_DEPENDENCY ${class}.idl
  293. )
  294. add_custom_command(
  295. OUTPUT Bindings/${basename}Prototype.cpp
  296. COMMAND ${write_if_different} Bindings/${basename}Prototype.cpp CodeGenerators/WrapperGenerator --prototype-implementation ${CMAKE_CURRENT_SOURCE_DIR}/${class}.idl
  297. VERBATIM
  298. DEPENDS WrapperGenerator
  299. MAIN_DEPENDENCY ${class}.idl
  300. )
  301. add_custom_target(generate_${basename}Wrapper.h DEPENDS Bindings/${class}Wrapper.h)
  302. add_custom_target(generate_${basename}Wrapper.cpp DEPENDS Bindings/${class}Wrapper.cpp)
  303. add_custom_target(generate_${basename}Constructor.h DEPENDS Bindings/${class}Constructor.h)
  304. add_custom_target(generate_${basename}Constructor.cpp DEPENDS Bindings/${class}Constructor.cpp)
  305. add_custom_target(generate_${basename}Prototype.h DEPENDS Bindings/${class}Prototype.h)
  306. add_custom_target(generate_${basename}Prototype.cpp DEPENDS Bindings/${class}Prototype.cpp)
  307. endfunction()
  308. libweb_js_wrapper(CSS/CSSStyleDeclaration)
  309. libweb_js_wrapper(CSS/CSSStyleSheet)
  310. libweb_js_wrapper(CSS/Screen)
  311. libweb_js_wrapper(CSS/StyleSheet)
  312. libweb_js_wrapper(CSS/StyleSheetList)
  313. libweb_js_wrapper(DOM/CharacterData)
  314. libweb_js_wrapper(DOM/Comment)
  315. libweb_js_wrapper(DOM/Document)
  316. libweb_js_wrapper(DOM/DocumentFragment)
  317. libweb_js_wrapper(DOM/DocumentType)
  318. libweb_js_wrapper(DOM/DOMException)
  319. libweb_js_wrapper(DOM/DOMImplementation)
  320. libweb_js_wrapper(DOM/Element)
  321. libweb_js_wrapper(DOM/Event)
  322. libweb_js_wrapper(DOM/EventTarget)
  323. libweb_js_wrapper(DOM/HTMLCollection)
  324. libweb_js_wrapper(DOM/ProcessingInstruction)
  325. libweb_js_wrapper(DOM/ShadowRoot)
  326. libweb_js_wrapper(DOM/Node)
  327. libweb_js_wrapper(DOM/Range)
  328. libweb_js_wrapper(DOM/Text)
  329. libweb_js_wrapper(HTML/CanvasRenderingContext2D)
  330. libweb_js_wrapper(HTML/CloseEvent)
  331. libweb_js_wrapper(HTML/DOMParser)
  332. libweb_js_wrapper(HTML/HTMLAnchorElement)
  333. libweb_js_wrapper(HTML/HTMLAreaElement)
  334. libweb_js_wrapper(HTML/HTMLAudioElement)
  335. libweb_js_wrapper(HTML/HTMLBaseElement)
  336. libweb_js_wrapper(HTML/HTMLBodyElement)
  337. libweb_js_wrapper(HTML/HTMLBRElement)
  338. libweb_js_wrapper(HTML/HTMLButtonElement)
  339. libweb_js_wrapper(HTML/HTMLCanvasElement)
  340. libweb_js_wrapper(HTML/HTMLDataElement)
  341. libweb_js_wrapper(HTML/HTMLDataListElement)
  342. libweb_js_wrapper(HTML/HTMLDetailsElement)
  343. libweb_js_wrapper(HTML/HTMLDialogElement)
  344. libweb_js_wrapper(HTML/HTMLDirectoryElement)
  345. libweb_js_wrapper(HTML/HTMLDivElement)
  346. libweb_js_wrapper(HTML/HTMLDListElement)
  347. libweb_js_wrapper(HTML/HTMLElement)
  348. libweb_js_wrapper(HTML/HTMLEmbedElement)
  349. libweb_js_wrapper(HTML/HTMLFieldSetElement)
  350. libweb_js_wrapper(HTML/HTMLFontElement)
  351. libweb_js_wrapper(HTML/HTMLFormElement)
  352. libweb_js_wrapper(HTML/HTMLFrameElement)
  353. libweb_js_wrapper(HTML/HTMLFrameSetElement)
  354. libweb_js_wrapper(HTML/HTMLHeadElement)
  355. libweb_js_wrapper(HTML/HTMLHeadingElement)
  356. libweb_js_wrapper(HTML/HTMLHRElement)
  357. libweb_js_wrapper(HTML/HTMLHtmlElement)
  358. libweb_js_wrapper(HTML/HTMLIFrameElement)
  359. libweb_js_wrapper(HTML/HTMLImageElement)
  360. libweb_js_wrapper(HTML/HTMLInputElement)
  361. libweb_js_wrapper(HTML/HTMLLabelElement)
  362. libweb_js_wrapper(HTML/HTMLLegendElement)
  363. libweb_js_wrapper(HTML/HTMLLIElement)
  364. libweb_js_wrapper(HTML/HTMLLinkElement)
  365. libweb_js_wrapper(HTML/HTMLMapElement)
  366. libweb_js_wrapper(HTML/HTMLMarqueeElement)
  367. libweb_js_wrapper(HTML/HTMLMediaElement)
  368. libweb_js_wrapper(HTML/HTMLMenuElement)
  369. libweb_js_wrapper(HTML/HTMLMetaElement)
  370. libweb_js_wrapper(HTML/HTMLMeterElement)
  371. libweb_js_wrapper(HTML/HTMLModElement)
  372. libweb_js_wrapper(HTML/HTMLObjectElement)
  373. libweb_js_wrapper(HTML/HTMLOListElement)
  374. libweb_js_wrapper(HTML/HTMLOptGroupElement)
  375. libweb_js_wrapper(HTML/HTMLOptionElement)
  376. libweb_js_wrapper(HTML/HTMLOutputElement)
  377. libweb_js_wrapper(HTML/HTMLParagraphElement)
  378. libweb_js_wrapper(HTML/HTMLParamElement)
  379. libweb_js_wrapper(HTML/HTMLPictureElement)
  380. libweb_js_wrapper(HTML/HTMLPreElement)
  381. libweb_js_wrapper(HTML/HTMLProgressElement)
  382. libweb_js_wrapper(HTML/HTMLQuoteElement)
  383. libweb_js_wrapper(HTML/HTMLScriptElement)
  384. libweb_js_wrapper(HTML/HTMLSelectElement)
  385. libweb_js_wrapper(HTML/HTMLSlotElement)
  386. libweb_js_wrapper(HTML/HTMLSourceElement)
  387. libweb_js_wrapper(HTML/HTMLSpanElement)
  388. libweb_js_wrapper(HTML/HTMLStyleElement)
  389. libweb_js_wrapper(HTML/HTMLTableCaptionElement)
  390. libweb_js_wrapper(HTML/HTMLTableCellElement)
  391. libweb_js_wrapper(HTML/HTMLTableColElement)
  392. libweb_js_wrapper(HTML/HTMLTableElement)
  393. libweb_js_wrapper(HTML/HTMLTableRowElement)
  394. libweb_js_wrapper(HTML/HTMLTableSectionElement)
  395. libweb_js_wrapper(HTML/HTMLTemplateElement)
  396. libweb_js_wrapper(HTML/HTMLTextAreaElement)
  397. libweb_js_wrapper(HTML/HTMLTimeElement)
  398. libweb_js_wrapper(HTML/HTMLTitleElement)
  399. libweb_js_wrapper(HTML/HTMLTrackElement)
  400. libweb_js_wrapper(HTML/HTMLUListElement)
  401. libweb_js_wrapper(HTML/HTMLUnknownElement)
  402. libweb_js_wrapper(HTML/HTMLVideoElement)
  403. libweb_js_wrapper(HTML/ImageData)
  404. libweb_js_wrapper(HTML/MessageEvent)
  405. libweb_js_wrapper(HTML/SubmitEvent)
  406. libweb_js_wrapper(HTML/WebSocket)
  407. libweb_js_wrapper(HighResolutionTime/Performance)
  408. libweb_js_wrapper(NavigationTiming/PerformanceTiming)
  409. libweb_js_wrapper(SVG/SVGElement)
  410. libweb_js_wrapper(SVG/SVGGeometryElement)
  411. libweb_js_wrapper(SVG/SVGGraphicsElement)
  412. libweb_js_wrapper(SVG/SVGPathElement)
  413. libweb_js_wrapper(SVG/SVGSVGElement)
  414. libweb_js_wrapper(UIEvents/MouseEvent)
  415. libweb_js_wrapper(UIEvents/UIEvent)
  416. libweb_js_wrapper(XHR/ProgressEvent)
  417. libweb_js_wrapper(XHR/XMLHttpRequest)
  418. libweb_js_wrapper(XHR/XMLHttpRequestEventTarget)
  419. get_property(WRAPPER_SOURCES GLOBAL PROPERTY wrapper_sources)
  420. set(SOURCES ${SOURCES} ${WRAPPER_SOURCES})
  421. add_custom_command(
  422. OUTPUT CSS/PropertyID.h
  423. COMMAND ${write_if_different} CSS/PropertyID.h CodeGenerators/Generate_CSS_PropertyID_h ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json
  424. VERBATIM
  425. DEPENDS Generate_CSS_PropertyID_h
  426. MAIN_DEPENDENCY CSS/Properties.json
  427. )
  428. add_custom_target(generate_PropertyID.h DEPENDS CSS/PropertyID.h)
  429. add_custom_command(
  430. OUTPUT CSS/PropertyID.cpp
  431. COMMAND ${CMAKE_COMMAND} -E make_directory CSS
  432. COMMAND ${write_if_different} CSS/PropertyID.cpp CodeGenerators/Generate_CSS_PropertyID_cpp ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Properties.json
  433. VERBATIM
  434. DEPENDS Generate_CSS_PropertyID_cpp
  435. MAIN_DEPENDENCY CSS/Properties.json
  436. )
  437. add_custom_command(
  438. OUTPUT CSS/ValueID.h
  439. COMMAND ${write_if_different} CSS/ValueID.h CodeGenerators/Generate_CSS_ValueID_h ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Identifiers.json
  440. VERBATIM
  441. DEPENDS Generate_CSS_ValueID_h
  442. MAIN_DEPENDENCY CSS/Identifiers.json
  443. )
  444. add_custom_target(generate_ValueID.h DEPENDS CSS/ValueID.h)
  445. add_custom_command(
  446. OUTPUT CSS/ValueID.cpp
  447. COMMAND ${CMAKE_COMMAND} -E make_directory CSS
  448. COMMAND ${write_if_different} CSS/ValueID.cpp CodeGenerators/Generate_CSS_ValueID_cpp ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Identifiers.json
  449. VERBATIM
  450. DEPENDS Generate_CSS_ValueID_cpp
  451. MAIN_DEPENDENCY CSS/Identifiers.json
  452. )
  453. add_custom_command(
  454. OUTPUT CSS/DefaultStyleSheetSource.cpp
  455. COMMAND ${write_if_different} CSS/DefaultStyleSheetSource.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh default_stylesheet_source ${CMAKE_CURRENT_SOURCE_DIR}/CSS/Default.css
  456. VERBATIM
  457. DEPENDS Scripts/GenerateStyleSheetSource.sh
  458. MAIN_DEPENDENCY CSS/Default.css
  459. )
  460. add_custom_command(
  461. OUTPUT CSS/QuirksModeStyleSheetSource.cpp
  462. COMMAND ${write_if_different} CSS/QuirksModeStyleSheetSource.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Scripts/GenerateStyleSheetSource.sh quirks_mode_stylesheet_source ${CMAKE_CURRENT_SOURCE_DIR}/CSS/QuirksMode.css
  463. VERBATIM
  464. DEPENDS Scripts/GenerateStyleSheetSource.sh
  465. MAIN_DEPENDENCY CSS/Default.css
  466. )
  467. serenity_lib(LibWeb web)
  468. target_link_libraries(LibWeb LibCore LibJS LibMarkdown LibGemini LibGUI LibGfx LibTextCodec LibProtocol LibImageDecoderClient LibWasm)
  469. add_subdirectory(DumpLayoutTree)