if(USE_GRAPHICS_GTK)
    add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.h ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.cpp
        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
        COMMAND mkdir -p generated_sources/WebKit
        COMMAND echo 'extern \"C\" {' > ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.h
        COMMAND glib-genmarshal --prefix=webkit_marshal ${CMAKE_SOURCE_DIR}/WebKit/OrigynWebBrowser/Api/gtk/webkit-marshal.list --header >> generated_sources/WebKit/webkit-marshal.h
        COMMAND echo '}' >> ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.h
    
        COMMAND echo 'extern \"C\" {' > ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.cpp
        COMMAND glib-genmarshal --prefix=webkit_marshal ${CMAKE_SOURCE_DIR}/WebKit/OrigynWebBrowser/Api/gtk/webkit-marshal.list --body >> generated_sources/WebKit/webkit-marshal.cpp
        COMMAND echo '}' >> ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.cpp
        DEPENDS ${CMAKE_SOURCE_DIR}/WebKit/OrigynWebBrowser/Api/gtk/webkit-marshal.list
    )
    
    list(APPEND WEBKIT_SRC
        Api/gtk/browserWidget.cpp
        ${CMAKE_BINARY_DIR}/generated_sources/WebKit/webkit-marshal.cpp
    )
    include_directories(
        Api/gtk
        ${OWB_BINARY_DIR}/generated_sources/WebKit
        ${OWB_SOURCE_DIR}/WebCore/storage
    )
endif(USE_GRAPHICS_GTK)

if(USE_GRAPHICS_QT)
    list(APPEND WEBKIT_SRC
        Api/Qt/WebViewPrivate.cpp
    )
    include_directories(
        Api/Qt
    )
endif(USE_GRAPHICS_QT)

if(USE_GRAPHICS_SDL)
    aux_source_directory(Api/SDL WEBKIT_SRC)
    include_directories(
        Api/SDL
    )
endif(USE_GRAPHICS_SDL)

if(USE_GRAPHICS_DFB)
    aux_source_directory(Api/DFB WEBKIT_SRC)
    include_directories(Api/DFB)
    aux_source_directory(ATV WEBKIT_SRC)
    include_directories(ATV)
endif(USE_GRAPHICS_DFB)

aux_source_directory(Api WEBKIT_SRC)
aux_source_directory(WebCoreSupport WEBKIT_SRC)

aux_source_directory(nav WEBKIT_SRC)
include_directories(nav)

if(NOT ENABLE_INSPECTOR)
    list(REMOVE_ITEM WEBKIT_SRC
        Api/WebInspector.cpp
        Api/WebScriptCallFrame.cpp 
        Api/WebScriptDebugServer.cpp
        WebCoreSupport/WebInspectorClient.cpp
    )
endif(NOT ENABLE_INSPECTOR)

if(NOT ENABLE_BAL_BINDINGS)
    list(REMOVE_ITEM WEBKIT_SRC
        Api/DOMCoreClasses.cpp
        Api/DOMCSSClasses.cpp
        Api/DOMEventsClasses.cpp
        Api/DOMHTMLClasses.cpp
        Api/WebObject.cpp
        Api/WebScriptObject.cpp
    )
endif(NOT ENABLE_BAL_BINDINGS)

if(NOT ENABLE_ARCHIVE)
    list(REMOVE_ITEM WEBKIT_SRC 
        Api/WebArchive.cpp
    )
endif(NOT ENABLE_ARCHIVE)

include_directories(
    ${BASE_INCLUDE_DIRS}
    ${WTF_INCLUDE_DIRS}
    ${BAL_INCLUDE_DIRS}
    ${JAVASCRIPTCORE_INCLUDE_DIRS}
    ${WEBCORE_INCLUDE_DIRS}
    ${WEBKIT_INCLUDE_DIRS}
    ${OWB_BINARY_DIR}/generated_sources/WebCore
    ${OWB_BINARY_DIR}/generated_sources/WebCore/html
    ${EXTERNAL_DEPS_INCLUDE_DIRS}
)

include(Customer/CMakeLists.txt OPTIONAL)

include(AddWebKitCompilerFlags)

set_source_files_properties(${WEBKIT_SRC}
    PROPERTIES COMPILE_FLAGS "-fno-rtti -fno-exceptions"
)

if(VA_TARGET_BDH)
    #link_directories(${VA_BDH_PATH}/bdh_linux/bdh_rootfs/build_mips/root/root/bin)
    #link_directories(/opt/bdh/bdh_toolchain/build_mips/staging_dir/usr/lib)
    #link_libraries(bdh mpeg2 mpeg2convert SocketCom)
    #link_libraries(bdh)
endif(VA_TARGET_BDH)

add_library(webkit-owb ${VA_LIBRARY_TYPE} ${WEBKIT_SRC})
#add_library(webkit-owb STATIC ${WEBKIT_SRC})

target_link_libraries(webkit-owb
    webcore
    jsc
    wtf
)

target_link_libraries(webkit-owb
    ${WEBKKIT_LD_FLAGS}
    ${EXTERNAL_DEPS_LIBRARIES}
)

target_link_libraries(webkit-owb LINK_INTERFACE_LIBRARIES)

##################################################
# webkit-owb installation.                       #
##################################################

#if(VA_TARGET_BDH)
#    set_target_properties(webkit-owb
#        PROPERTIES LINK_FLAGS "-Wl,--version-script=${OWB_SOURCE_DIR}/WebKit/OrigynWebBrowser/webkit-owb-exports.map"
#        )
#endif(VA_TARGET_BDH)

#set_target_properties(webkit-owb
#    PROPERTIES SOVERSION 1.0
#)

configure_file(
    ${OWB_SOURCE_DIR}/WebKit/OrigynWebBrowser/webkit-owb.pc.in
    ${OWB_SOURCE_DIR}/WebKit/OrigynWebBrowser/webkit-owb.pc
    @ONLY
)

install(TARGETS webkit-owb
    DESTINATION lib
)
install(FILES ${API_HEADER}
    DESTINATION include/webkit-owb
    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
)
install(FILES ${OWB_SOURCE_DIR}/WebKit/OrigynWebBrowser/webkit-owb.pc
    DESTINATION lib/pkgconfig
    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
)
install(DIRECTORY ${OWB_SOURCE_DIR}/Resources/
    DESTINATION share/webkit-owb/resources
    PATTERN ".svn" EXCLUDE
    PERMISSIONS OWNER_READ GROUP_READ WORLD_READ
)
