project(piklab)
set(VERSION "0.15.10")

cmake_minimum_required(VERSION 2.4)
if(COMMAND cmake_policy)
  cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

#set(CMAKE_VERBOSE_MAKEFILE ON)

if(WIN32)
  set(CMAKE_BUILD_TYPE Release)
  set(QT_ONLY 1)
else(WIN32)
  set(CMAKE_BUILD_TYPE Debug)
endif(WIN32)

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/src)

if(QT_ONLY)
  find_package(Qt4 REQUIRED)
  set(QT_USE_QTXML 1)
  set(QT_USE_QT3SUPPORT 1)
  include(${QT_USE_FILE})
  add_definitions(-DNO_KDE)
  set(EXE_LIBS nokde ${QT_LIBRARIES})
  set(GUI_LIBS ${EXE_LIBS})
  macro(automoc)
    include_directories(${CMAKE_CURRENT_BINARY_DIR})
    qt4_automoc(${ARGV})
  endmacro(automoc)
else(QT_ONLY)
  find_package(Qt3 REQUIRED)
  find_package(KDE3 REQUIRED)
  add_definitions(${QT_DEFINITIONS} ${KDE3_DEFINITIONS})
  link_directories(${KDE3_LIB_DIR})
  include_directories(${KDE3_INCLUDE_DIR} ${QT_INCLUDE_DIR})
  set(EXE_LIBS ${QT_AND_KDECORE_LIBS} kio kde)
  set(GUI_LIBS ${EXE_LIBS} ktexteditor khtml kparts kdeui)
  macro(automoc)
    include_directories(${CMAKE_CURRENT_BINARY_DIR})
    kde3_automoc(${ARGV})
  endmacro(automoc)
endif(QT_ONLY)

if(WIN32)
  set(HAVE_USB 1)
  if (HAVE_USB)
    set(LIBUSB_VERSION "1.14.3")
    set(LIBUSB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../libusb-win32-device-bin-1.1.14.3)
    if(NOT EXISTS "${LIBUSB_DIR}")
      message(FATAL_ERROR "Could not find usb path \"${LIBUSB_DIR}\"")
    endif()
    set(LIBUSB_INCLUDE_DIRS ${LIBUSB_DIR}/include)
    set(LIBUSB_LIBRARIES ${LIBUSB_DIR}/lib/gcc/libusb.a)
    include_directories(${LIBUSB_INCLUDE_DIRS})
  endif(HAVE_USB)
else(WIN32)
  find_package(LIBUSB REQUIRED)
  include_directories(${LIBUSB_INCLUDE_DIRS})

  find_package(Curses REQUIRED)

  find_package(Readline REQUIRED)
  include_directories(${LIBREADLINE_INCLUDE_DIRS})

  find_package(ParallelPortSupport)
endif(WIN32)

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

add_subdirectory(src)

if(NOT QT_ONLY)
  add_subdirectory(doc)
endif(NOT QT_ONLY)

if(NOT WIN32)
  add_subdirectory(po)
  add_subdirectory(man)
  install(FILES README Changelog COPYING DESTINATION share/doc/piklab)
endif(NOT WIN32)