set(SUPPORT_CORE_SRCS utils.cpp thread.cpp)
set(SUPPORT_CORE_MOC_HDRS thread.h)

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QTINCLUDES})

if (ENABLE_QT5)
    qt5_wrap_cpp(SUPPORT_CORE_MOC_SRCS ${SUPPORT_CORE_MOC_HDRS})
else (ENABLE_QT5)
    qt4_wrap_cpp(SUPPORT_CORE_MOC_SRCS ${SUPPORT_CORE_MOC_HDRS})
endif (ENABLE_QT5)

add_library(support-core STATIC ${SUPPORT_CORE_MOC_SRCS} ${SUPPORT_CORE_SRCS})
    
if (NOT ENABLE_UBUNTU)
    set(SUPPORT_SRCS icon.cpp fancytabwidget.cpp messagewidget.cpp buddylabel.cpp action.cpp actioncollection.cpp flickcharm.cpp
        configuration.cpp lineedit.cpp gtkstyle.cpp spinner.cpp messagebox.cpp inputdialog.cpp thread.cpp squeezedtextlabel.cpp
        proxystyle.cpp touchproxystyle.cpp pagewidget.cpp combobox.cpp configdialog.cpp)

    set(SUPPORT_MOC_HDRS fancytabwidget.h messagewidget.h inputdialog.h pagewidget.h  action.h actioncollection.h flickcharm.h
        configdialog.h)
    if (ENABLE_QT5)
        set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} combobox.h)
    endif (ENABLE_QT5)

    if (NOT WIN32 AND NOT APPLE)
        set(SUPPORT_SRCS ${SUPPORT_SRCS} gtkproxystyle.cpp shortcuthandler.cpp)
        set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} shortcuthandler.h)
        add_subdirectory(themes)
    endif (NOT WIN32 AND NOT APPLE)
    if (NOT WIN32)
        set(SUPPORT_SRCS ${SUPPORT_SRCS} windowmanager.cpp)
        set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} windowmanager.h)
    endif (NOT WIN32)
    if (APPLE)
        set(SUPPORT_SRCS ${SUPPORT_SRCS} osxstyle.cpp flattoolbutton.cpp)
        set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} osxstyle.h)
        if (ENABLE_QT5)
            qt5_add_resources(SUPPORT_RC_SRCS support_mac_icons.qrc)
        else (ENABLE_QT5)
            qt4_add_resources(SUPPORT_RC_SRCS support_mac_icons.qrc)
        endif (ENABLE_QT5)
    endif (APPLE)

    if (ENABLE_KDE_SUPPORT)
        include_directories(${KDE4_INCLUDES})
        # macro_ensure_version("4.7.0" ${KDE_VERSION} KDE_VERSION_47)
        # if (NOT KDE_VERSION_47)
            set(SUPPORT_SRCS ${SUPPORT_SRCS} kmessagewidget.cpp)
            set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} kmessagewidget.h)
        # endif (NOT KDE_VERSION_47)
        kde4_add_ui_files(SUPPORT_UI_HDRS ${SUPPORT_UIS})
        set(SUPPORT_SRCS ${SUPPORT_SRCS} dialog.cpp)
    else (ENABLE_KDE_SUPPORT)
        set(SUPPORT_SRCS ${SUPPORT_SRCS} pathrequester.cpp kmessagewidget.cpp dialog.cpp shortcutsmodel.cpp
            shortcutssettingswidget.cpp keysequencewidget.cpp acceleratormanager.cpp urllabel.cpp)
        set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} pathrequester.h kmessagewidget.h urllabel.h
             dialog.h shortcutsmodel.h shortcutssettingswidget.h keysequencewidget.h spinner.h acceleratormanager_private.h)
        set(SUPPORT_UIS shortcutssettingswidget.ui)
        if (ENABLE_QT5)
            # if (Qt5Gui_VERSION_MAJOR LESS 5 OR Qt5Gui_VERSION_MINOR LESS 2)
                set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} lineedit.h)
            # endif (Qt5Gui_VERSION_MAJOR LESS 5 OR Qt5Gui_VERSION_MINOR LESS 2)
            qt5_wrap_ui(SUPPORT_UI_HDRS ${SUPPORT_UIS})
        else (ENABLE_QT5)
            set(SUPPORT_MOC_HDRS ${SUPPORT_MOC_HDRS} lineedit.h)
            qt4_wrap_ui(SUPPORT_UI_HDRS ${SUPPORT_UIS})
        endif (ENABLE_QT5)
    endif  (ENABLE_KDE_SUPPORT)

    if (ENABLE_QT5)
        qt5_wrap_cpp(SUPPORT_MOC_SRCS ${SUPPORT_MOC_HDRS})
    else (ENABLE_QT5)
        qt4_wrap_cpp(SUPPORT_MOC_SRCS ${SUPPORT_MOC_HDRS})
    endif (ENABLE_QT5)

    add_library(support STATIC ${SUPPORT_MOC_SRCS} ${SUPPORT_SRCS} ${SUPPORT_UI_HDRS} ${SUPPORT_RC_SRCS})

    if (X11_FOUND)
        target_link_libraries(support ${X11_LIBRARIES})
    endif (X11_FOUND)
endif (NOT ENABLE_UBUNTU)
