cmake_minimum_required(VERSION 3.5 FATAL_ERROR)

project(kfoldersync VERSION 3.4.1 LANGUAGES CXX)

find_package(Qt5 REQUIRED COMPONENTS Concurrent Core Gui Widgets)
find_package(ECM REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH "${ECM_MODULE_PATH}")
find_package(KF5 5.23 REQUIRED COMPONENTS Config ConfigWidgets CoreAddons DBusAddons I18n ItemViews KIO WidgetsAddons WindowSystem XmlGui)

if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
    set(ENABLE_CLAZY ON)
endif()

include(KDEInstallDirs)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(KDECMakeSettings NO_POLICY_SCOPE)

if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
    kde_enable_exceptions()
endif()

set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -pedantic-errors")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
    set(MIN_GCC_VERSION 5.1)
    if(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS ${MIN_GCC_VERSION})
        message(FATAL_ERROR "You need at least ${CMAKE_CXX_COMPILER_ID} GCC ${MIN_GCC_VERSION}")
    endif()
    unset(MIN_GCC_VERSION)
    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Winline")
    if(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 6)
        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wignored-attributes")
    endif()
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
    set(MIN_CLANG_VERSION 3.4)
    if(${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS ${MIN_CLANG_VERSION})
        message(FATAL_ERROR "You need at least ${CMAKE_CXX_COMPILER_ID} ${MIN_CLANG_VERSION}")
    endif()
    unset(MIN_CLANG_VERSION)
    #set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} <...>")
endif()

add_subdirectory(icons)
add_subdirectory(src)
ki18n_install(po)

feature_summary(FATAL_ON_MISSING_REQUIRED_PACKAGES WHAT ALL)
