# CMake script for xtpcpp # Author: Olivier Langella # Created: 03/03/2015 SET(xtpcpp_RCCS xtpcpp.qrc) # Appeler automatique le moc quand nécessaire #SET(CMAKE_AUTOMOC ON) # Les fichiers générés par le moc sont générés dans le dossier bin, dire à CMake de toujours # inclure les entêtes de ce dossier #SET(CMAKE_INCLUDE_CURRENT_DIR ON) #FIND_PACKAGE(Boost REQUIRED) #INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIRS}) FIND_PACKAGE( Qt4 COMPONENTS QTCORE QTGUI QTSVG QTXML REQUIRED ) QT4_ADD_RESOURCES(xtpcpp_RCC_SRCS ${xtpcpp_RCCS}) FIND_PACKAGE( Odsstream REQUIRED ) #ODSSTREAM_INCLUDE_DIR AND ODSSTREAM_LIBRARY #SET (ODSSTREAM_DIR "/home/olivier/eclipse/git/cpp_libodsstream") #SET (ODSSTREAM_INCLUDE_DIR "${ODSSTREAM_DIR}/src") #SET (ODSSTREAM_QT5_LIBRARY "${ODSSTREAM_DIR}/build/src/libodsstream-qt5.so") INCLUDE_DIRECTORIES(${ODSSTREAM_INCLUDE_DIR}) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5Gui_EXECUTABLE_COMPILE_FLAGS} ${Qt5Svg_EXECUTABLE_COMPILE_FLAGS}") #sudo apt-get install libpappsomspp-dev 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_QT4_LIBRARY "${PAPPSOMSPP_DIR}/build/src/libpappsomspp-qt4.so") INCLUDE_DIRECTORIES( ${PAPPSOMSPP_INCLUDE_DIR} ) 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/identificationgroup.cpp core/peptidematch.cpp core/project.cpp core/proteinmatch.cpp core/identification_sources/identificationdatasource.cpp core/identification_sources/identificationxtandemfile.cpp files/xpipfile.cpp input/xpipsaxhandler.cpp utils/peptidestore.cpp utils/readspectrum.cpp ) set(QTLIBS ${Qt5Xml_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Svg_LIBRARIES}) # we need this to be able to include headers produced by uic in our code # (CMAKE_BINARY_DIR holds a path to the build directory, while INCLUDE_DIRECTORIES() works just like INCLUDEPATH from qmake) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} ) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ) SET(XTPCPP_SRCS ./gui/mainwindow.cpp ./gui/peptide_list_view/peptidelistwindow.cpp ./gui/peptide_list_view/peptidetablemodel.cpp ./gui/protein_list_view/proteinlistwindow.cpp ./gui/protein_list_view/proteintablemodel.cpp ) SET (GUI_UIS ./gui/main.ui ./gui/peptide_list_view/peptide_view.ui ./gui/protein_list_view/protein_view.ui ) SET(XTPCPP_MOC_HDRS ./gui/mainwindow.h ./gui/peptide_list_view/peptidelistwindow.h ./gui/peptide_list_view/peptidetablemodel.h ./gui/protein_list_view/proteinlistwindow.h ./gui/protein_list_view/proteintablemodel.h ) # this will run uic on .ui files: QT4_WRAP_UI( GUI_UI_HDRS ${GUI_UIS} ) QT4_WRAP_CPP( XTPCPP_MOC_SRCS ${XTPCPP_MOC_HDRS} ) MESSAGE("XTPCPP_SRCS: ${XTPCPP_SRCS}") ADD_EXECUTABLE(xtpcpp main.cpp ${CPP_FILES} ${XTPCPP_SRCS} ${GUI_UI_HDRS} ${XTPCPP_MOC_SRCS} ${xtpcpp_RCC_SRCS}) target_include_directories (xtpcpp PUBLIC ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTSVG_INCLUDE_DIR} ${QT_QTXML_INCLUDE_DIR}) SET_TARGET_PROPERTIES(xtpcpp PROPERTIES OUTPUT_NAME xtpcpp CLEAN_DIRECT_OUTPUT 1 COMPILE_DEFINITIONS "${QT_DEFINITIONS}" #INCLUDE_DIRECTORIES "${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR}" ) TARGET_LINK_LIBRARIES(xtpcpp ${PAPPSOMSPP_QT4_LIBRARY} ${Pwiz_LIBRARY} ${ODSSTREAM_QT4_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTSVG_LIBRARY} ${QT_QTXML_LIBRARY}) INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xtpcpp DESTINATION bin) #configure_file (${CMAKE_SOURCE_DIR}/templates/share/applications/pt-peptideviewer.desktop.cmake ${CMAKE_BINARY_DIR}/templates/share/applications/pt-peptideviewer.desktop)