1
project(akabeiclient)
2
3
#add_definitions(-DQT_NO_DEBUG_OUTPUT)
4
5
cmake_minimum_required(VERSION 2.6.0)
6
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
7
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
8
9
if(COMMAND cmake_policy)
10
   cmake_policy(SET CMP0003 NEW)
11
endif(COMMAND cmake_policy) 
12
13
set(MAJOR_AKABEICLIENT_VERSION 0 CACHE INT "Akabei's major version number" FORCE)
14
set(MINOR_AKABEICLIENT_VERSION 0 CACHE INT "Akabei's minor version number" FORCE)
15
set(PATCH_AKABEICLIENT_VERSION 1 CACHE INT "Akabei's patch version number" FORCE)
16
set(FIX_AKABEICLIENT_VERSION 0 CACHE INT "Akabei's fix version number" FORCE)
17
set(AKABEI_VERSION_STRING "${MAJOR_AKABEICLIENT_VERSION}.${MINOR_AKABEICLIENT_VERSION}.${PATCH_AKABEICLIENT_VERSION}.${FIX_AKABEICLIENT_VERSION}")
18
19
# Define install directories
20
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/akabei" CACHE "Akabei data's install dir" STRING)
21
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE "Akabei binary install dir" STRING)
22
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE "Akabei library install dir" STRING)
23
set(INCLUDES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/akabeiclient" CACHE "Akabei includes install dir" STRING)
24
set(STATE_DIR "/var" CACHE "Where caches and logs will be stored (usually under STATE_DIR/{cache,log,etc...})" STRING)
25
set(CONFIGURATION_DIR "/var" CACHE "Where Akabei's configuration will be stored" STRING)
26
27
# requires minimal Qt 4.4
28
set(QT_MIN_VERSION "4.4.0")
29
30
find_package(Qt4 REQUIRED)
31
find_package(AkabeiCore REQUIRED)
32
find_package(LibArchive REQUIRED)
33
find_package(QGpgme REQUIRED)
34
find_package(Boost REQUIRED)
35
36
add_definitions(${QT_DEFINITIONS} -Wall)
37
38
CONFIGURE_FILE(
39
    "${CMAKE_CURRENT_SOURCE_DIR}/akabeiclientconfig.h.cmake"
40
    "${CMAKE_CURRENT_BINARY_DIR}/akabeiclientconfig.h"
41
    IMMEDIATE @ONLY)
42
43
include_directories(
44
    ${QT_INCLUDES}
45
    ${CMAKE_SOURCE_DIR}
46
    ${CMAKE_CURRENT_BINARY_DIR}
47
    ${CMAKE_CURRENT_BINARY_DIR}/lib
48
    ${CMAKE_SOURCE_DIR}/lib
49
    ${AKABEICORE_INCLUDE_DIR}
50
    ${LIBARCHIVE_INCLUDE_DIR}
51
    ${Boost_INCLUDE_DIRS}
52
    ${QGPGME_INCLUDES}
53
)
54
55
option(BUILD_TESTS "Builds various tests and examples for Akabei" ON)
56
57
add_subdirectory(lib)
58
59
### Source tarball autogeneration ###
60
set(ARCHIVE_NAME ${CMAKE_PROJECT_NAME}-${AKABEI_VERSION_STRING})
61
add_custom_target(dist
62
    COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD
63
        | bzip2 > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2
64
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})