cmake_minimum_required(VERSION 2.6)

project(qed)

set(CMAKE_COLOR_MAKEFILE off)
set(CMAKE_VERBOSE_MAKEFILE on)

IF (WIN32)
  set(BOOST_INCLUDEDIR C:/Cpp/boost_1_35_0)
  set(BOOST_LIBRARYDIR C:/Cpp/boost_1_35_0/lib)
ELSE(WIN32)
  set(BOOST_INCLUDEDIR /usr/local/boost_1_36_0/include/boost-1_36)
  set(BOOST_LIBRARYDIR /usr/local/boost_1_36_0/lib)
ENDIF(WIN32)

SET(Boost_USE_STATIC_LIBS On)
SET(Boost_USE_MULTITHREAD On)

FIND_PACKAGE( Boost 1.35.0 COMPONENTS python program_options thread filesystem iostreams REQUIRED )
INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS} )
LINK_DIRECTORIES( ${Boost_LIBRARY_DIRS} )

        
IF(WIN32)
  # using the win32 cmake gui qmake isn't in path on my local installation
  SET(QT_QMAKE_EXECUTABLE C:/Cpp/qt-win-opensource-4.4.1-msvc2005/bin/qmake.exe)
endif(WIN32)

SET(QT_USE_QTMAIN   TRUE)
FIND_PACKAGE( Qt4 REQUIRED )
INCLUDE( ${QT_USE_FILE} )

SET(HDRS
  qed.hpp
  mainwindow.hpp
)

SET(UIS
  mainwindow.ui
)

SET(RCS

)

SET(MOC_HDRS
  ${HDRS}
)

SET(SRCS
  main.cpp
  qed.cpp
  mainwindow.cpp
)

QT4_ADD_RESOURCES(QED_RC_SRCS
  ${RCS}
)

QT4_WRAP_CPP(QED_MOC_SRCS
  ${MOC_HDRS}
)

QT4_WRAP_UI(QED_UI_HDRS
  ${UIS}
)

SET(QED_SOURCES
  ${HDRS}
  ${SRCS}
  ${QED_RC_SRCS}
  ${QED_MOC_SRCS}
  ${QED_UI_HDRS}
)

INCLUDE_DIRECTORIES(
  ./
  ${CMAKE_BINARY_DIR}
)

ADD_DEFINITIONS(
  ${Boost_LIB_DIAGNOSTIC_DEFINITIONS}
)


# The CDT Error Parser cannot handle error messages that span more than one
# line, which is the default gcc behavior. In order to force gcc to generate
# single line error messages with no line wrapping.
# http://www.cmake.org/Wiki/CMake:Eclipse
IF(CMAKE_COMPILER_IS_GNUCC)
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fmessage-length=0")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
IF(CMAKE_COMPILER_IS_GNUCXX)
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)

ADD_EXECUTABLE(qed WIN32
  ${QED_SOURCES}
)

TARGET_LINK_LIBRARIES(
  qed
  ${QT_LIBRARIES}
  ${Boost_LIBRARIES}
)
