cmake_minimum_required(VERSION 2.6)

if(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
   find_package(KDE4 REQUIRED)
   include (KDE4Defaults)
   include(MacroOptionalAddSubdirectory)

   add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
   include_directories(${KDE4_INCLUDES})
endif(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")

include_directories(
  ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")

find_package(X11 REQUIRED)
macro_log_feature(X11_Xinput_FOUND "XInput" "XInput protocol support"
    "http://www.x.org/" TRUE)
include_directories(${X11_X11_INCLUDE_PATH})
include_directories(${X11_Xinput_INCLUDE_PATH})

option(WITH_XINPUT2 "Search for XInput2" OFF)

# determine availability of XInput device property API
include(CheckPrototypeExists)
check_prototype_exists(XChangeDeviceProperty X11/extensions/XInput.h
  HAVE_DEVICE_PROPERTIES)
if(WITH_XINPUT2)
  check_prototype_exists(XIChangeProperty X11/extensions/XInput2.h
    HAVE_DEVICE_PROPERTIES_V2)
  # make V2 mandatory
  set(HAVE_DEVICE_PROPERTIES "${HAVE_DEVICE_PROPERTIES_V2}")
endif(WITH_XINPUT2)

# device properties
macro_log_feature(HAVE_DEVICE_PROPERTIES "Device properties"
  "XInput device properties" "http://www.x.org/" TRUE)
macro_log_feature(HAVE_DEVICE_PROPERTIES_V2 "Device properties 2"
  "XInput device properties 2.x" "http://www.x.org/")
macro_bool_to_01(HAVE_DEVICE_PROPERTIES_V2 HAVE_XINPUT2)

configure_file(
  "${CMAKE_CURRENT_SOURCE_DIR}/config-synaptiks.h.cmake"
  "${CMAKE_CURRENT_BINARY_DIR}/config-synaptiks.h")

# notification configuration
install(FILES synaptiks.notifyrc
  DESTINATION "${DATA_INSTALL_DIR}/synaptiks")
# configuration schema
install(FILES synaptiks.kcfg DESTINATION ${KCFG_INSTALL_DIR})

add_subdirectory(applet)
add_subdirectory(daemon)
add_subdirectory(kcmodule)
add_subdirectory(icons)
add_subdirectory(pics)

if(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
    macro_display_feature_log()
endif(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")

find_package(Msgfmt REQUIRED)
find_package(Gettext REQUIRED)
add_subdirectory( po )
add_subdirectory( doc-translations )
add_subdirectory( doc )
