3 # Qt support is always enabled!
4 add_definitions (-DBUILDING_QT__=1)
6 # Global switch for KDE support
7 OPTION (WEBKIT_USE_KDE_SUPPORT "Compile WebKit with KDE support." ON)
9 IF (WEBKIT_USE_KDE_SUPPORT)
10 add_definitions (-DBUILDING_KDE__=1)
11 ENDIF (WEBKIT_USE_KDE_SUPPORT)
13 # Global switch for SVG support
14 OPTION (WEBKIT_USE_SVG_SUPPORT "Compile WebKit with SVG support." ON)
16 IF (WEBKIT_USE_SVG_SUPPORT)
17 add_definitions (-DSVG_SUPPORT=1)
18 ENDIF (WEBKIT_USE_SVG_SUPPORT)
20 # Global switch for XPath support
21 OPTION (WEBKIT_USE_XPATH_SUPPORT "Compile WebKit with XPath support." ON)
23 IF (WEBKIT_USE_XPATH_SUPPORT)
24 add_definitions (-DXPATH_SUPPORT=1)
25 ENDIF (WEBKIT_USE_XPATH_SUPPORT)
27 # Global switch for XSLT support
28 OPTION (WEBKIT_USE_XSLT_SUPPORT "Compile WebKit with XSLT support." ON)
30 IF (WEBKIT_USE_XSLT_SUPPORT)
31 add_definitions (-DXSLT_SUPPORT=1)
32 ENDIF (WEBKIT_USE_XSLT_SUPPORT)
34 # Global switch for XBL support
35 OPTION (WEBKIT_USE_XBL_SUPPORT "Compile WebKit with XBL support." OFF)
37 IF (WEBKIT_USE_XBL_SUPPORT)
38 add_definitions (-DXBL_SUPPORT=1)
39 ENDIF (WEBKIT_USE_XBL_SUPPORT)
41 # search packages used by KDE
42 IF (WEBKIT_USE_KDE_SUPPORT)
43 find_package (KDE4 REQUIRED)
44 include (KDE4Defaults)
45 include (MacroLibrary)
47 # use the KDE modules for finding these
48 find_package (LibXml2 REQUIRED)
49 find_package (LibXslt REQUIRED)
51 ELSE (WEBKIT_USE_KDE_SUPPORT)
54 PKGCONFIG(libxml-2.0 _LibXml2IncDir _LibXml2LinkDir _LibXml2LinkFlags _LibXml2CFlags)
55 SET(LIBXML2_LIBRARIES ${_LibXml2LinkFlags})
56 # I'd like to use the output of --cflags directly but cmake craps out on it ;(
57 SET(LIBXML2_INCLUDE_DIR ${_LibXml2IncDir}/libxml2)
59 PKGCONFIG(libxslt _LibXslt2IncDir _LibXslt2LinkDir _LibXslt2LinkFlags _LibXslt2CFlags)
60 SET(LIBXSLT_LIBRARIES ${_LibXslt2LinkFlags})
61 SET(LIBXSLT_INCLUDE_DIR ${_LibXslt2IncDir})
63 include(CheckLibraryExists)
65 ENDIF (WEBKIT_USE_KDE_SUPPORT)
67 # Special option for BuildBot, to disable output colorization (must be done after KDE4Defaults is loaded)
68 OPTION (WEBKIT_DO_NOT_USE_COLORFUL_OUTPUT "Do not colorize compilation output." OFF)
70 IF (WEBKIT_DO_NOT_USE_COLORFUL_OUTPUT)
71 set(CMAKE_COLOR_MAKEFILE OFF)
72 ENDIF (WEBKIT_DO_NOT_USE_COLORFUL_OUTPUT)
74 find_package (JPEG REQUIRED)
75 find_package (PNG REQUIRED)
77 find_program (BISON_EXECUTABLE bison)
78 find_program (GPERF_EXECUTABLE gperf)
80 # quick check the libicu is available
81 find_path(LIBICU_INCLUDE_DIR unicode/umachine.h )
83 if (NOT BISON_EXECUTABLE)
84 message(FATAL_ERROR "Could not find bison")
85 endif (NOT BISON_EXECUTABLE)
87 if (NOT GPERF_EXECUTABLE)
88 message(FATAL_ERROR "Could not find gperf")
89 endif (NOT GPERF_EXECUTABLE)
91 if (NOT LIBICU_INCLUDE_DIR)
92 message(FATAL_ERROR "libicu not found, cannot create unity without it")
93 endif (NOT LIBICU_INCLUDE_DIR)
95 add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DQT3_SUPPORT -DHAVE_CONFIG_H=1)
96 link_directories (${KDE4_LIB_DIR})
97 include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} ${LIBICU_INCLUDE_DIR})
99 add_definitions (-fpermissive)
100 add_definitions (-DUSE_SYSTEM_MALLOC=1)
102 add_subdirectory (JavaScriptCore)
103 add_subdirectory (WebCore)
104 IF (WEBKIT_USE_KDE_SUPPORT)
105 add_subdirectory (WebKitTools/DumpRenderTree/DumpRenderTree.qtproj)
106 ENDIF (WEBKIT_USE_KDE_SUPPORT)
108 add_subdirectory (WebKitQt/QtLauncher)
110 IF (WEBKIT_USE_KDE_SUPPORT)
111 add_subdirectory (WebKitQt/WebKitPart)
112 ENDIF (WEBKIT_USE_KDE_SUPPORT)
114 include_directories (BEFORE ${CMAKE_CURRENT_BINARY_DIR})