PROJECT(Decibel)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
SET(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)

FIND_PACKAGE(Qt4 REQUIRED)
FIND_PACKAGE(KDE4)
INCLUDE(UsePkgConfig REQUIRED)
INCLUDE(Qt4DBusMacros REQUIRED)
INCLUDE(FindDoxygen)

IF (APPLE)
    SET(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
    SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
ENDIF (APPLE)

SET(MAYOR_VERSION "0")
SET(MINOR_VERSION "5")
SET(PATCH_LEVEL "0")

SET(VERSION "${MAYOR_VERSION}.${MINOR_VERSION}.${PATCH_LEVEL}")
SET(SO_VERSION "${VERSION}")

# Suffix for x86/x86_64:
SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )

SET(BIN_INSTALL_DIR
    "bin"
    CACHE PATH "The subdirectory relative to the install prefix for executables (default is bin)"
    FORCE
)

SET(LIB_INSTALL_DIR
    "lib${LIB_SUFFIX}"
    CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is lib${LIB_SUFFIX})."
    FORCE
)

SET(DATA_INSTALL_DIR
    "share"
    CACHE PATH "The subdirectory relative to the install prefix where shared data will be installed (default is share)."
    FORCE
)

SET(COMPONENT_SEARCH_DIR
    "${DATA_INSTALL_DIR}/Decibel/components"
    CACHE PATH "The subdirectory relative to the install prefix where Decibel will look for its components (default is ${DATA_INSTALL_DIR}/Decibel/components)."
    FORCE
)

SET(DBUS_SERVICES_INSTALL_DIR
    "${DATA_INSTALL_DIR}/dbus-1/services"
    CACHE PATH "D-Bus services directory (default is ${DATA_INSTALL_DIR}/dbus-1/services)."
    FORCE
)

SET(DOC_INSTALL_DIR
    "${DATA_INSTALL_DIR}/doc/Decibel"
    CACHE PATH "The subdirectory relative to the install prefix for documentation files (default is ${DATA_INSTALL_DIR}/doc/Decibel)."
    FORCE
)

SET(INCLUDE_INSTALL_DIR
    "include/Decibel"
    CACHE PATH "The subdirectory relative to the install prefix for header files (default is include/Decibel)."
    FORCE
)

SET(DEMO_INSTALL_DIR
    "${LIB_INSTALL_DIR}/Decibel"
    CACHE PATH "The subdirectory relative to the install prefix for the demos (default is ${LIB_INSTALL_DIR}/Decibel)."
    FORCE
)

PKGCONFIG(QtTapioca
          QTTAPIOCA_INC_DIR
          QTTAPIOCA_LIB_DIR
          QTTAPIOCA_LDFLAGS
          QTTAPIOCA_CFLAGS
)
FIND_LIBRARY(QTTAPIOCA_LIBRARIES NAMES QtTapioca
    PATHS ${QTTAPIOCA_LIB_DIR}
)

CONFIGURE_FILE(
    "${CMAKE_SOURCE_DIR}/cmake/modules/cmake_uninstall.cmake.in"
    "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
    IMMEDIATE @ONLY
)

ADD_CUSTOM_TARGET(uninstall
    "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
)

ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(docs)

ENABLE_TESTING()
ADD_SUBDIRECTORY(tests)

ADD_SUBDIRECTORY(demos)

ADD_SUBDIRECTORY(addons)


