# set files
set (SOURCES ${SUBPROJECT_SOURCE_DIR}/main.cpp ${SUBPROJECT_SOURCE_DIR}/reportabug.cpp)
set (HEADERS ${SUBPROJECT_SOURCE_DIR}/reportabug.h ${SUBPROJECT_SOURCE_DIR}/config.h)
set (FORMS ${SUBPROJECT_SOURCE_DIR}/reportabug.ui)
if (ENABLE_GITHUB OR USE_OWN_TOKEN)
    set (SOURCES ${SOURCES} ${SUBPROJECT_SOURCE_DIR}/githubmodule.cpp)
    set (HEADERS ${HEADERS} ${SUBPROJECT_SOURCE_DIR}/githubmodule.h)
endif ()
if (ENABLE_GITREPORT)
    set (SOURCES ${SOURCES} ${SUBPROJECT_SOURCE_DIR}/gitreportmodule.cpp)
    set (HEADERS ${HEADERS} ${SUBPROJECT_SOURCE_DIR}/gitreportmodule.h)
endif ()

configure_file (${CMAKE_CURRENT_SOURCE_DIR}/inconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/inconfig.h)

# include_path
include_directories (${CMAKE_CURRENT_BINARY_DIR}/../
                     ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}
                     ${CMAKE_CURRENT_BINARY_DIR})

if (USE_QT5)
    find_package (Qt5Core REQUIRED)
    find_package (Qt5Widgets REQUIRED)
    find_package (Qt5Network REQUIRED)
    add_definitions (${Qt5Core_DEFINITIONS})
    add_definitions (${Qt5Widgets_DEFINITIONS})
    add_definitions (${Qt5Network_DEFINITIONS})
    include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS})
    set (QT_USED_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES})
    if (ENABLE_GITREPORT)
        find_package (Qt5WebKit REQUIRED)
        find_package (Qt5WebKitWidgets REQUIRED)
        add_definitions (${Qt5WebKit_DEFINITIONS})
        add_definitions (${Qt5WebKitWidgets_DEFINITIONS})
        include_directories (${Qt5WebKit_INCLUDE_DIRS} ${Qt5WebKitWidgets_INCLUDE_DIRS})
        set (QT_USED_LIBRARIES ${QT_USED_LIBRARIES} ${Qt5WebKit_LIBRARIES} ${Qt5WebKitWidgets_LIBRARIES})
    endif ()
    qt5_wrap_cpp (MOC_SOURCES ${HEADERS})
    qt5_wrap_ui (UI_HEADERS ${FORMS})
else ()
    set (QT_USED_COMPONENTS QtCore QtGui QtNetwork)
    if (ENABLE_GITREPORT)
        set (QT_USED_COMPONENTS ${QT_USED_COMPONENTS} QtWebKit)
    endif ()
    find_package(Qt4 COMPONENTS ${QT_USED_COMPONENTS} REQUIRED)
    include (${QT_USE_FILE})
    set (QT_USED_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY})
    if (ENABLE_GITREPORT)
        set (QT_USED_LIBRARIES ${QT_USED_LIBRARIES} ${QT_QTWEBKIT_LIBRARY})
    endif ()
    qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
    qt4_wrap_ui (UI_HEADERS ${FORMS})
endif()

if (BUILD_AS_LIBRARY)
    add_library (${SUBPROJECT} ${LIBPROP} ${SOURCES} ${HEADERS} ${MOC_SOURCES} ${UI_HEADERS})
else ()
    add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES})
endif ()
target_link_libraries (${SUBPROJECT} ${QT_USED_LIBRARIES})
# install properties
if (BUILD_AS_LIBRARY)
    if (BUILD_SHARED_LIBRARY)
        install (TARGETS ${SUBPROJECT} DESTINATION lib)
    endif ()
else ()
    install (TARGETS ${SUBPROJECT} DESTINATION bin)
endif ()
