project(EasyQuantis)
cmake_minimum_required(VERSION 2.6.2)

# Search boost
find_package(Boost REQUIRED COMPONENTS date_time filesystem program_options system thread)

# Search Qt4
find_package(Qt4 REQUIRED)

# the next line sets up include and link directories and defines some variables that we will use.
# you can modify the behavior by setting some variables, e.g.
#   set(QT_USE_OPENGL TRUE)
# -> this will cause cmake to include and link against the OpenGL module
include(${QT_USE_FILE})
# see http://cmake.org/cmake/help/cmake2.6docs.html#module:FindQt4 for a complete list


# Scientific plots
#find_package ( Qwt5 REQUIRED )


# ########## EasyQuantis Binary ##########

set(EasyQuantis_SRCS
  BinaryFileWriter.cpp
  EasyQuantis.cpp
  EasyQuantisCmd.cpp
  Quantis2File.cpp
  Utils.cpp
)

set(EasyQuantis_GUI_SRCS
  EasyQuantisGuiMain.cpp
  EasyQuantisGuiProgressDialog.cpp
  EasyQuantisGuiTextEditDialog.cpp
)

# Qt - MOC
SET(EasyQuantis_MOC_HDRS
  EasyQuantisGuiMain.hpp
  EasyQuantisGuiProgressDialog.hpp
  EasyQuantisGuiTextEditDialog.hpp
)

QT4_WRAP_CPP(EasyQuantis_MOC_SRCS ${EasyQuantis_MOC_HDRS})

# Qt - UI
#set(EasyQuantis_UIS
#  dialog.ui
#)

#QT4_WRAP_UI(EasyQuantis_UIS_H ${EasyQuantis_UIS})

# Include output directory, otherwise the UI file won't be wrapped!
#include_directories(${CMAKE_CURRENT_BINARY_DIR})

# Qt - Resource files
set(EasyQuantis_RCCS
  EasyQuantisGui.qrc
)

QT4_ADD_RESOURCES(EasyQuantis_RCCS_SRCS ${EasyQuantis_RCCS})


add_executable(EasyQuantis
  ${EasyQuantis_SRCS}
  ${EasyQuantis_GUI_SRCS}
  ${EasyQuantis_MOC_SRCS}
#  ${EasyQuantis_UIS_H}
  ${EasyQuantis_RCCS_SRCS}
)

target_link_libraries(EasyQuantis
  Quantis-static
  ${QT_LIBRARIES}
  ${Boost_LIBRARIES}
)

install(TARGETS EasyQuantis DESTINATION ${CMAKE_INSTALL_BIN_DIR})

