[CMake] Properly test if compiler supports compiler flags
[WebKit-https.git] / Tools / MiniBrowser / gtk / CMakeLists.txt
1 set(MINIBROWSER_DIR "${TOOLS_DIR}/MiniBrowser/gtk")
2 set(DERIVED_SOURCES_MINIBROWSER_DIR "${CMAKE_BINARY_DIR}/DerivedSources/MiniBrowser")
3
4 file(MAKE_DIRECTORY ${DERIVED_SOURCES_MINIBROWSER_DIR})
5
6 set(MiniBrowser_SOURCES
7     ${DERIVED_SOURCES_MINIBROWSER_DIR}/BrowserMarshal.c
8     ${MINIBROWSER_DIR}/BrowserCellRendererVariant.c
9     ${MINIBROWSER_DIR}/BrowserCellRendererVariant.h
10     ${MINIBROWSER_DIR}/BrowserDownloadsBar.c
11     ${MINIBROWSER_DIR}/BrowserDownloadsBar.h
12     ${MINIBROWSER_DIR}/BrowserSearchBar.c
13     ${MINIBROWSER_DIR}/BrowserSearchBar.h
14     ${MINIBROWSER_DIR}/BrowserSettingsDialog.c
15     ${MINIBROWSER_DIR}/BrowserSettingsDialog.h
16     ${MINIBROWSER_DIR}/BrowserTab.c
17     ${MINIBROWSER_DIR}/BrowserTab.h
18     ${MINIBROWSER_DIR}/BrowserWindow.c
19     ${MINIBROWSER_DIR}/BrowserWindow.h
20     ${MINIBROWSER_DIR}/main.c
21 )
22
23 set(MiniBrowser_INCLUDE_DIRECTORIES
24     ${DERIVED_SOURCES_MINIBROWSER_DIR}
25     ${DERIVED_SOURCES_WEBKIT2GTK_DIR}
26     ${FORWARDING_HEADERS_WEBKIT2GTK_DIR}
27     ${FORWARDING_HEADERS_DIR}
28     ${CMAKE_SOURCE_DIR}/Source
29 )
30
31 set(MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES
32     ${GTK3_INCLUDE_DIRS}
33     ${GLIB_INCLUDE_DIRS}
34     ${LIBSOUP_INCLUDE_DIRS}
35 )
36
37 set(MiniBrowser_LIBRARIES
38     ${JavaScriptCore_LIBRARY_NAME}
39     WebKit2
40     ${GTK3_LIBRARIES}
41     ${GLIB_LIBRARIES}
42     ${LIBSOUP_LIBRARIES}
43 )
44
45 add_custom_command(
46     OUTPUT ${DERIVED_SOURCES_MINIBROWSER_DIR}/BrowserMarshal.c
47            ${DERIVED_SOURCES_MINIBROWSER_DIR}/BrowserMarshal.h
48     MAIN_DEPENDENCY ${MINIBROWSER_DIR}/browser-marshal.list
49     COMMAND glib-genmarshal --prefix=browser_marshal ${MINIBROWSER_DIR}/browser-marshal.list --body > ${DERIVED_SOURCES_MINIBROWSER_DIR}/BrowserMarshal.c
50     COMMAND glib-genmarshal --prefix=browser_marshal ${MINIBROWSER_DIR}/browser-marshal.list --header > ${DERIVED_SOURCES_MINIBROWSER_DIR}/BrowserMarshal.h
51     VERBATIM)
52
53 if (DEVELOPER_MODE)
54     add_definitions(-DWEBKIT_INJECTED_BUNDLE_PATH="${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
55 endif ()
56
57 add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6)
58
59 include_directories(${MiniBrowser_INCLUDE_DIRECTORIES})
60 include_directories(SYSTEM ${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
61 add_executable(MiniBrowser ${MiniBrowser_SOURCES})
62 target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES})
63
64 WEBKIT_ADD_TARGET_CXX_FLAGS(MiniBrowser -Wno-unused-parameter)
65
66 install(TARGETS MiniBrowser DESTINATION "${LIBEXEC_INSTALL_DIR}")