
project(khtml)
KDE4_NO_ENABLE_FINAL(khtml)
add_definitions(-DQT3_SUPPORT_WARNINGS -DQT3_SUPPORT)

find_package(JPEG REQUIRED)
find_package(GIF  REQUIRED)
find_package(PNG  REQUIRED)

# not done by cmake's FindJPEG.cmake and FindPNG.cmake:
# both can be removed once we require cmake 2.4.4, Alex
if (NOT JPEG_FOUND)
  message(FATAL_ERROR "JPEG library not found, required by KHTML - please install libjpeg")
endif (NOT JPEG_FOUND)

if (NOT PNG_FOUND)
  message(FATAL_ERROR "PNG library not found, required by KHTML - please install libpng")
endif (NOT PNG_FOUND)

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  ${KDE4_ENABLE_EXCEPTIONS}")

configure_file(config-khtml.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-khtml.h )

# khtml/dom/Makefile.am: khtmldom

set(khtmldom_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_misc.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_block.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_inline.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/css_rule.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_node.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_document.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_list.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/css_stylesheet.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_string.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_element.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_misc.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/css_value.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_text.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_object.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_doc.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_xml.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_head.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom_element.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_base.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_image.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_form.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_range.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/html_table.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_traversal.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_events.cpp
  ${CMAKE_SOURCE_DIR}/khtml/dom/dom2_views.cpp
)

#set_source_files_properties(${khtmldom_STAT_SRCS} PROPERTIES COMPILE_FLAGS ${KDE4_ENABLE_EXCEPTIONS})

# khtml/misc/Makefile.am: khtmlmisc

set(khtmlmisc_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/misc/decoder.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/loader.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/guess_ja.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/htmlhashes.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/helper.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/arena.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/stringit.cpp
  ${CMAKE_SOURCE_DIR}/khtml/misc/paintbuffer.cpp
)

# khtml/html/Makefile.am: khtmlhtml

set(khtmlhtml_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/html/htmlparser.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/htmltokenizer.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/dtd.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_headimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_blockimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_elementimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_inlineimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_documentimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_baseimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_imageimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_listimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_miscimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_formimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_objectimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_tableimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/html/html_canvasimpl.cpp
)

# khtml/ecma/Makefile.am: kjs_html

set(kjs_html_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_binding.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_dom.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_html.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_window.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_navigator.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_proxy.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_css.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_range.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_traversal.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_events.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_views.cpp
#  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_debugwin.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_mozilla.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/xmlhttprequest.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/xmlserializer.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/domparser.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_context2d.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/kjs_audio.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/debugwindow.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/debugdocument.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/consoledock.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/jshighlighter.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/breakpointsdock.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/callstackdock.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/localvariabledock.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/scriptsdock.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/watchesdock.cpp
  ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/execstatemodel.cpp
)

qt4_add_resources( kjs_html_STAT_SRCS ${CMAKE_SOURCE_DIR}/khtml/ecma/debugger/debugger.qrc )

# khtml/rendering/Makefile.am: khtmlrender

set(khtmlrender_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/rendering/bidi.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/break_lines.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_block.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_inline.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_style.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_object.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_container.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_box.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_flow.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_text.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_arena.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_layer.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_image.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_table.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/table_layout.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_replaced.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_form.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_list.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_canvas.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_frames.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_br.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_body.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/font.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_line.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_generated.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/enumerate.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/counter_tree.cpp
  ${CMAKE_SOURCE_DIR}/khtml/rendering/render_canvasimage.cpp
)

# khtml/java/Makefile.am: kjava

set(kjava_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaapplet.cpp
  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaappletcontext.cpp
  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaappletserver.cpp
  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaappletwidget.cpp
  ${CMAKE_SOURCE_DIR}/khtml/java/kjavaprocess.cpp
  ${CMAKE_SOURCE_DIR}/khtml/java/kjavadownloader.cpp
)

# khtml/css/Makefile.am: khtmlcss

set(khtmlcss_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/css/css_stylesheetimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/css_ruleimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/css_valueimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/css_base.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/cssparser.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/cssstyleselector.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/csshelper.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/parser.cpp
  ${CMAKE_SOURCE_DIR}/khtml/css/css_renderstyledeclarationimpl.cpp
)

# khtml/xml/Makefile.am: khtmlxml

set(khtmlxml_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_docimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_nodeimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_textimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_elementimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_stringimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_rangeimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_traversalimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/xml_tokenizer.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_xmlimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_eventsimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom2_viewsimpl.cpp
  ${CMAKE_SOURCE_DIR}/khtml/xml/dom_restyler.cpp
)

# khtml/imload/Makefile.am: khtmlimload

set(khtmlimload_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/imload/imageplane.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/rawimageplane.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/scaledimageplane.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/pixmapplane.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/animprovider.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/imagepainter.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/updater.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/image.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/imagemanager.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/animtimer.cpp
)

# khtml/imload/decoders/Makefile.am: decoders

set(decoders_STAT_SRCS
  ${CMAKE_SOURCE_DIR}/khtml/imload/decoders/jpegloader.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/decoders/pngloader.cpp
  ${CMAKE_SOURCE_DIR}/khtml/imload/decoders/gifloader.cpp
)

add_subdirectory( css )
add_subdirectory( pics )
add_subdirectory( ecma )

include_directories( ${KDE4_KPARTS_INCLUDES} )
include_directories( ${CMAKE_BINARY_DIR}/kio/kssl )
include_directories( ${CMAKE_SOURCE_DIR}/kjs ${CMAKE_SOURCE_DIR}/kimgio ${CMAKE_SOURCE_DIR}/kio/kssl ${CMAKE_SOURCE_DIR}/kdeprint ${CMAKE_SOURCE_DIR}/interfaces ${CMAKE_SOURCE_DIR}/interfaces/kregexpeditor ${CMAKE_SOURCE_DIR}/kwallet/client ${CMAKE_SOURCE_DIR}/kutils ${CMAKE_SOURCE_DIR}/kde3support/kdeui)

include_directories(
  ${CMAKE_CURRENT_SOURCE_DIR}/misc
  ${CMAKE_CURRENT_SOURCE_DIR}/dom
  ${CMAKE_CURRENT_SOURCE_DIR}/xml
  ${CMAKE_CURRENT_SOURCE_DIR}/html
  ${CMAKE_CURRENT_SOURCE_DIR}/rendering
  ${CMAKE_CURRENT_SOURCE_DIR}/ecma
  ${CMAKE_CURRENT_SOURCE_DIR}/imload
  ${CMAKE_CURRENT_SOURCE_DIR}/imload/decoders
  ${CMAKE_CURRENT_SOURCE_DIR}/java
)
include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}/misc
  ${CMAKE_CURRENT_BINARY_DIR}/dom
  ${CMAKE_CURRENT_BINARY_DIR}/xml
  ${CMAKE_CURRENT_BINARY_DIR}/html
  ${CMAKE_CURRENT_BINARY_DIR}/rendering
  ${CMAKE_CURRENT_BINARY_DIR}/ecma
  ${CMAKE_CURRENT_BINARY_DIR}/imload
  ${CMAKE_CURRENT_BINARY_DIR}/imload/decoders
  ${CMAKE_CURRENT_BINARY_DIR}/java
)

include_directories(${JPEG_INCLUDE_DIR} ${GIF_INCLUDE_DIR} ${PNG_INCLUDE_DIR} )

add_subdirectory( kmultipart )
add_subdirectory( java )

set(CREATE_HASH_TABLE ${CMAKE_SOURCE_DIR}/kjs/create_hash_table )

macro(CREATE_LUT _in_FILE _out_FILE)

   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
      COMMAND ${PERL_EXECUTABLE} ${CREATE_HASH_TABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} > ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE}
      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE}
   )
   if(KDE4_ENABLE_FINAL)
     macro_add_file_dependencies(${CMAKE_CURRENT_BINARY_DIR}/khtml_final_cpp.cpp ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE} )
   else(KDE4_ENABLE_FINAL)
     macro_add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/${_in_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${_out_FILE} )
   endif(KDE4_ENABLE_FINAL)
endmacro(CREATE_LUT)

create_lut(ecma/kjs_dom.cpp kjs_dom.lut.h)
create_lut(ecma/kjs_html.cpp kjs_html.lut.h)
create_lut(ecma/kjs_window.cpp kjs_window.lut.h)
create_lut(ecma/kjs_css.cpp kjs_css.lut.h)
create_lut(ecma/kjs_events.cpp kjs_events.lut.h)
create_lut(ecma/kjs_navigator.cpp kjs_navigator.lut.h)
create_lut(ecma/kjs_mozilla.cpp kjs_mozilla.lut.h)
create_lut(ecma/kjs_range.cpp kjs_range.lut.h)
create_lut(ecma/kjs_traversal.cpp kjs_traversal.lut.h)
create_lut(ecma/kjs_views.cpp kjs_views.lut.h)
create_lut(ecma/xmlhttprequest.cpp xmlhttprequest.lut.h)
create_lut(ecma/xmlserializer.cpp xmlserializer.lut.h)
create_lut(ecma/domparser.cpp domparser.lut.h)
create_lut(ecma/kjs_context2d.cpp kjs_context2d.lut.h)
create_lut(ecma/kjs_audio.cpp kjs_audio.lut.h)


########### libkhtml ###############

set(khtml_LIB_SRCS
   khtmlview.cpp
   khtml_part.cpp
   khtml_run.cpp
   khtml_factory.cpp
   khtml_settings.cc
   khtml_events.cpp
   khtml_ext.cpp
   khtml_pagecache.cpp
   khtml_printsettings.cpp
   khtml_iface.cc
   khtmlimage.cpp
   kjserrordlg.cpp
   ${khtmlxml_STAT_SRCS}
   ${khtmlhtml_STAT_SRCS}
   ${khtmlrender_STAT_SRCS}
   ${khtmlcss_STAT_SRCS}
   ${khtmlmisc_STAT_SRCS}
   ${kjs_html_STAT_SRCS}
   ${khtmldom_STAT_SRCS}
   ${khtmlimload_STAT_SRCS}
   ${decoders_STAT_SRCS}
   ${kjava_STAT_SRCS}
   )

kde4_automoc(${khtml_LIB_SRCS})

qt4_add_dbus_adaptor(khtml_LIB_SRCS org.kde.KHTMLPart.xml khtml_iface.h KHTMLPartIface)

kde4_add_ui_files(khtml_LIB_SRCS kjserrordlgbase.ui htmlpageinfo.ui )

kde4_add_library(khtml SHARED ${khtml_LIB_SRCS})

target_link_libraries(khtml  ${KDE4_KDECORE_LIBS} ktexteditor kparts kdeprint kutils kde3support kwalletclient kjs phononcore ${JPEG_LIBRARIES} ${GIF_LIBRARIES} ${PNG_LIBRARIES} )

set_target_properties(khtml PROPERTIES VERSION 5.0.0 SOVERSION 5 )
install(TARGETS khtml  DESTINATION ${LIB_INSTALL_DIR} )


########### khtmlpart ###############

set(khtmlpart_PART_SRCS khtml_factory_init.cpp )

kde4_automoc(${khtmlpart_PART_SRCS})

kde4_add_plugin(khtmlpart WITH_PREFIX ${khtmlpart_PART_SRCS})

target_link_libraries(khtmlpart  ${KDE4_KDECORE_LIBS} khtml )

install(TARGETS khtmlpart  DESTINATION ${PLUGIN_INSTALL_DIR} )


########### next target ###############

# Note that khtmlimage.cpp is part of libkhtml because it uses internal objects (render tree and loader)
# Only the entry point is separated into khtmlimage_init.cpp
kde4_add_plugin(khtmlimagepart khtmlimage_init.cpp)


target_link_libraries(khtmlimagepart khtml)

install(TARGETS khtmlimagepart  DESTINATION ${PLUGIN_INSTALL_DIR} )

# msvc linker doesn't like "#define protected public"
if(KDE4_BUILD_TESTS AND NOT MSVC)

    ########### next target ###############

    set(testkhtml_SRCS
        testkhtml.cpp
        domtreeview.cpp
    )

    kde4_automoc(${testkhtml_SRCS})

    kde4_add_executable(testkhtml ${testkhtml_SRCS})

    target_link_libraries(testkhtml  ${KDE4_KDECORE_LIBS} khtml )

    ########### next target ###############
    set(khtmltest_SRCS
        testkhtmlnew.cpp
        domtreeview.cpp
    )

    qt4_add_resources( khtmltest_SRCS testkhtml.qrc )
    kde4_automoc(${khtmltest_SRCS})
    kde4_add_executable( khtmltest ${khtmltest_SRCS} )
    target_link_libraries( khtmltest ${KDE4_KDECORE_LIBS} khtml )

    ########### next target ###############

    set(testkhtml_static_SRCS
        testkhtml.cpp
        domtreeview.cpp
    )

    kde4_automoc(${testkhtml_static_SRCS})

    kde4_add_executable(testkhtml_static ${testkhtml_static_SRCS} )

    target_link_libraries(testkhtml_static  ${KDE4_KDECORE_LIBS} khtml )

    ########### next target ###############
endif(KDE4_BUILD_TESTS AND NOT MSVC)

if(KDE4_BUILD_TESTS AND NOT WIN32)
# #### TODO: declare/set this var somewhere?
# Note that testregression can't be compiled by default, it needs private Qt headers.
if (BUILD_TESTREGRESSION)
    set(testregression_SRCS
        test_regression.cpp
        test_regression_fontoverload.cpp
    )

    kde4_automoc(${testregression_SRCS})

    kde4_add_executable(testregression ${testregression_SRCS})

    target_link_libraries(testregression  ${KDE4_KDECORE_LIBS} khtml)

    ########### next target ###############

    set(testregressiongui_SRCS
        test_regression_gui_window.cpp
        test_regression_gui_main.cpp
    )

    qt4_add_resources(testregressiongui_SRCS test_regression_gui.qrc)

    kde4_add_ui_files(testregressiongui_SRCS test_regression_gui.ui)

    kde4_automoc(${testregressiongui_SRCS})

    kde4_add_executable(testregressiongui ${testregressiongui_SRCS})

    target_link_libraries(testregressiongui  ${KDE4_KDECORE_LIBS} khtml)
endif (BUILD_TESTREGRESSION)

endif(KDE4_BUILD_TESTS AND NOT WIN32)

########### install files ###############

install( FILES khtml.desktop khtmlimage.desktop  DESTINATION  ${SERVICES_INSTALL_DIR} )
install( FILES khtml.rc khtml_browser.rc khtml_popupmenu.rc  DESTINATION  ${DATA_INSTALL_DIR}/khtml )
install( FILES khtmlview.h khtml_part.h khtml_events.h khtml_settings.h khtmldefaults.h  DESTINATION  ${INCLUDE_INSTALL_DIR} )
install( FILES dom/dom_exception.h   dom/html_base.h       dom/html_inline.h    dom/css_rule.h        dom/dom_html.h        dom/html_block.h      dom/html_list.h    dom/css_stylesheet.h  dom/dom_misc.h        dom/html_document.h   dom/html_misc.h    dom/css_value.h       dom/dom_node.h        dom/html_element.h    dom/html_object.h     dom/dom_core.h        dom/dom_string.h      dom/html_form.h       dom/html_table.h   dom/dom_doc.h         dom/dom_text.h        dom/html_head.h    dom/dom_element.h     dom/dom_xml.h         dom/html_image.h   dom/dom2_range.h      dom/dom2_traversal.h  dom/dom2_events.h     dom/dom2_views.h  DESTINATION  ${INCLUDE_INSTALL_DIR}/dom )

install( FILES org.kde.KHTMLPart.xml DESTINATION ${DBUS_INTERFACES_DIR} )


