# CMake script for peptider
# Author: Olivier Langella
# Created: 28/05/2016


FIND_PACKAGE( Qt5Core REQUIRED )
FIND_PACKAGE( Qt5Xml REQUIRED )
FIND_PACKAGE( Qt5Concurrent REQUIRED )
FIND_PACKAGE( Qt5Gui REQUIRED )
INCLUDE_DIRECTORIES(${Qt5Core_INCLUDES})
INCLUDE_DIRECTORIES(${Qt5Gui_INCLUDES})
INCLUDE_DIRECTORIES(${Qt5Xml_INCLUDES})
INCLUDE_DIRECTORIES(${Qt5Concurrent_INCLUDES})

FIND_PACKAGE( Odsstream REQUIRED )

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS}")


FIND_PACKAGE( Pappsomspp REQUIRED )
#SET (PAPPSOMSPP_DIR  "/home/olivier/eclipse/git/pappsomspp")
# SET (PAPPSOMSPP_DIR  "/home/langella/developpement/git/pappsomspp")
# SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
# SET (PAPPSOMSPP_QT5_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt5.so")
# SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")


set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules)

FIND_PACKAGE(Pwiz REQUIRED)
INCLUDE_DIRECTORIES( ${Pwiz_INCLUDE_DIR})
IF (Pwiz_FOUND)
  #INCLUDE_DIRECTORIES( ${Pwiz_INCLUDE_DIR})
  #FIND_PACKAGE(Boost REQUIRED)
  #INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS})
ELSE (Pwiz_FOUND)
  MESSAGE("Proteowizard library not found")
  MESSAGE("did you apt-get install libpwiz-dev libboost-dev ?")
ENDIF (Pwiz_FOUND)

configure_file (${CMAKE_SOURCE_DIR}/src/config.h.cmake ${CMAKE_SOURCE_DIR}/src/config.h)

# File list
SET(CPP_FILES
  core/customspectrum.cpp
  core/digestionpipeline.cpp
  core/digestionpipelinesecondpass.cpp
  core/digestproductmatcher.cpp
  core/fastasource.cpp
  core/mzdata.cpp
  core/spectrumcompletor.cpp
  core/spectrumdatacollector.cpp
  core/xtandemspectrumprepare.cpp
  phase2.cpp
  reporter/basepsmreporter.cpp
  reporter/mzdatareporter.cpp
  reporter/odspsmreporter.cpp
  reporter/mzidentmlreporter.cpp
  utils/hardklorwrapper.cpp
  utils/linearregression.cpp
  utils/peptidestore.cpp
  utils/peptiderparams.cpp
  utils/phase1wrapper.cpp
  utils/pwizutils.cpp
  utils/threadexception.cpp
)

SET(H_FILES
#	utils/consoleout.h
#	utils/pappsomstoolsexception.h
)


SET(PEPTIDER_MOC_HDRS
  phase2.h
)
QT5_WRAP_CPP( PEPTIDER_MOC_SRCS ${PEPTIDER_MOC_HDRS} )
ADD_EXECUTABLE(phase2 ${CPP_FILES} ${PEPTIDER_MOC_SRCS})
target_include_directories(phase2 PUBLIC ${Pwiz_INCLUDE_DIR} ${PAPPSOMSPP_INCLUDE_DIR} ${ODSSTREAM_INCLUDE_DIR})
target_compile_definitions(phase2 PUBLIC ${Qt5Xml_EXECUTABLE_COMPILE_DEFINITIONS} ${Qt5Gui_EXECUTABLE_COMPILE_DEFINITIONS})
#set_target_properties(
#            phase2
#            PROPERTIES
            #COMPILE_FLAGS "${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS}"
#            COMPILE_DEFINITIONS "${Qt5Xml_EXECUTABLE_COMPILE_DEFINITIONS} ${Qt5Gui_EXECUTABLE_COMPILE_DEFINITIONS}"
#            )
TARGET_LINK_LIBRARIES(phase2 ${PAPPSOMSPP_QT5_LIBRARY} ${Pwiz_LIBRARY} ${ODSSTREAM_QT5_LIBRARY} 
Qt5::Gui Qt5::Xml Qt5::Core Qt5::Concurrent)
