
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/cpp/libgroupingprotein )

  
SET(GP_GROUPING
  gp_grouping.cpp
)


SET(GP_GROUPING_MOC_HDRS
    gp_grouping.h
)


QT6_WRAP_CPP( GP_GROUPING_MOC_SRCS ${GP_GROUPING_MOC_HDRS} )


#TARGET_LINK_LIBRARIES(fastamanager ${PAPPSOMSPP_QT4_LIBRARY} ${Pwiz_LIBRARY} ${ODSSTREAM_QT4_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTSVG_LIBRARY})

ADD_EXECUTABLE(gp-grouping ${GP_GROUPING} ${GP_GROUPING_MOC_SRCS})

target_link_libraries(gp-grouping
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Qml
)

SET_TARGET_PROPERTIES(gp-grouping PROPERTIES OUTPUT_NAME gp-grouping)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/gp-grouping DESTINATION bin)

# gp-output-proticdbml
QT6_WRAP_CPP( GP_OUTPUT_MOC_SRCS gpoutputproticdbml.h )
ADD_EXECUTABLE(gp-output-proticdbml gpoutputproticdbml.cpp 
  ../output/proticdbml.cpp ../input/groupinghandler.cpp ../input/xtandemsaxhandler.cpp ${GP_OUTPUT_MOC_SRCS})

target_link_libraries(gp-output-proticdbml
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Gui
    Qt6::Qml
)

SET_TARGET_PROPERTIES(gp-output-proticdbml PROPERTIES OUTPUT_NAME gp-output-proticdbml)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/gp-output-proticdbml DESTINATION bin)

# gp-output-masschroq
QT6_WRAP_CPP( GP_OUTPUT_MCQ_MOC_SRCS gpoutputmasschroq.h )
ADD_EXECUTABLE(gp-output-masschroq gpoutputmasschroq.cpp ../input/groupinghandlermasschroq.cpp ${GP_OUTPUT_MCQ_MOC_SRCS})

target_link_libraries(gp-output-masschroq
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Gui
    Qt6::Qml
)

SET_TARGET_PROPERTIES(gp-output-masschroq PROPERTIES OUTPUT_NAME gp-output-masschroq)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/gp-output-masschroq DESTINATION bin)


# gp-fdr-filter
QT6_WRAP_CPP( GP_FDR_FILTER_MOC_SRCS gpfdrfilter.h )
ADD_EXECUTABLE(gp-fdr-filter 
    gpfdrfilter.cpp
    ../input/peptideresultsqvaluehandler.cpp
    ${GP_FDR_FILTER_MOC_SRCS}
    )

target_link_libraries(gp-fdr-filter
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Qml
)

SET_TARGET_PROPERTIES(gp-fdr-filter PROPERTIES OUTPUT_NAME gp-fdr-filter)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/gp-fdr-filter DESTINATION bin)



# gp-fdr-peptide
QT6_WRAP_CPP( GP_FDR_PEPTIDE_MOC_SRCS gpfdrpeptide.h )
ADD_EXECUTABLE(gp-fdr-peptide
    gpfdrpeptide.cpp
    ../input/peptideresultsqvaluehandler.cpp
    ${GP_FDR_PEPTIDE_MOC_SRCS}
    )

target_link_libraries(gp-fdr-peptide
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Qml
)

SET_TARGET_PROPERTIES(gp-fdr-peptide PROPERTIES OUTPUT_NAME gp-fdr-peptide)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/gp-fdr-peptide DESTINATION bin)




# gp-create-fasta
QT6_WRAP_CPP( GP_CREATE_FASTA_MOC_SRCS gpcreatefasta.h )
ADD_EXECUTABLE(gp-create-fasta gpcreatefasta.cpp 
  ../input/peptideresultsngreader.h ${GP_CREATE_FASTA_MOC_SRCS})

target_link_libraries(gp-create-fasta
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Qml
)

SET_TARGET_PROPERTIES(gp-create-fasta PROPERTIES OUTPUT_NAME gp-create-fasta)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/gp-create-fasta DESTINATION bin)


# mzid2cbor
QT6_WRAP_CPP( MZID2CBOR_MOC_SRCS mzidtocborcli.h )
ADD_EXECUTABLE(mzid2cbor mzidtocborcli.cpp ${MZID2CBOR_MOC_SRCS})

target_link_libraries(mzid2cbor
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Qml
)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/mzid2cbor DESTINATION bin)



# sage2cbor
QT6_WRAP_CPP( SAGE2CBOR_MOC_SRCS sagetocborcli.h )
ADD_EXECUTABLE(sage2cbor sagetocborcli.cpp ${SAGE2CBOR_MOC_SRCS})

target_link_libraries(sage2cbor
    ${GP_LIB_NAME}
    PappsoMSpp::Core
    Qt6::Core
    Qt6::Qml
)

INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/src/cpp/bin/sage2cbor DESTINATION bin)
