# Copyright (C) 2018 by Intevation GmbH <info@intevation.de>
#
# This file is Free Software under the GNU GPL (v>=2)
# and comes with ABSOLUTELY NO WARRANTY!
# See LICENSE.txt for details.

cmake_minimum_required(VERSION 3.5.0)
project(gpg4win-tools)

### Generic Setup

set(QT_MIN_VERSION "5.15.0")
set(KF_MIN_VERSION "5.100.0")
set(LIBKLEO_VERSION "5.17.44")

if (QT_MAJOR_VERSION STREQUAL "6")
    set(QT_MIN_VERSION "6.6.0")
    set(KF_MIN_VERSION "6.0.0")
    set(LIBKLEO_VERSION "6.1.40")
endif()

if (NOT QT_MAJOR_VERSION)
    set(QT_MAJOR_VERSION "5")
endif ()

set(GPGME_REQUIRED_VERSION "1.13.1")

set(LIBKLEO_VERSION "5.17.44")

find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED Core Widgets)

find_package(Gpgmepp ${GPGME_REQUIRED_VERSION} CONFIG REQUIRED)
find_package(KF${QT_MAJOR_VERSION}WidgetsAddons ${KF_MIN_VERSION} REQUIRED)
find_package(KF${QT_MAJOR_VERSION}IconThemes ${KF_MIN_VERSION} REQUIRED)
find_package(KPim${QT_MAJOR_VERSION}Libkleo ${LIBKLEO_VERSION} CONFIG REQUIRED)
if (QT_MAJOR_VERSION STREQUAL "6")
    find_package(QGpgmeQt6 ${GPGME_REQUIRED_VERSION} CONFIG REQUIRED)
else()
    find_package(QGpgme ${GPGME_REQUIRED_VERSION} CONFIG REQUIRED)
endif()
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

if(WIN32)
   add_definitions(-D_WIN32_WINNT=0x0600) # Windows vista
   add_definitions(-DWINVER=0x0600)
   add_definitions(-DUNICODE -D_UNICODE)
   add_definitions(-DMINGW_HAS_SECURE_API) # for _s functions
endif(WIN32)


set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# Cmake does not correctly identify gcc windres when cross compiling
# making this line neccessary to set the correct flags for it.
# See: http://public.kitware.com/Bug/view.php?id=11773
SET(CMAKE_RC_COMPILE_OBJECT
      "<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> -Ocoff <SOURCE> <OBJECT>")

#add_subdirectory(img)
### Include the actual source directories
add_subdirectory(src)
