914678be963cf9e8467c0a2b053e39b1f59403bb
[mussa.git] / qui / CMakeLists.txt
1 #deal with some debian wierdness
2 FIND_PROGRAM(QT_QMAKE_EXECUTABLE qmake-qt4 )
3 FIND_PROGRAM(QT_MOC_EXECUTABLE moc-qt4 )
4
5 FIND_PACKAGE(Qt4)
6 SET(QT_USE_QTOPENGL 1)
7 IF(QT_QTASSISTANT_FOUND)
8   SET(QT_USE_QTNETWORK 1)
9   SET(QT_USE_QTASSISTANT 1)
10 ENDIF(QT_QTASSISTANT_FOUND)
11 INCLUDE( ${QT_USE_FILE} )
12 FIND_PACKAGE(OpenGL)
13 FIND_PACKAGE(Boost)
14 FIND_PACKAGE(PythonLibs)
15
16 INCLUDE( Platform )
17
18 SET(MOC_HEADERS
19       ImageSaveDialog.hpp     
20       ImageScaler.hpp         
21       IntAction.hpp           
22       MussaAlignedWindow.hpp  
23       MussaWindow.hpp
24       ThresholdWidget.hpp
25       ZoomWidget.hpp
26       motif_editor/MotifModel.hpp
27       motif_editor/MotifEditor.hpp
28       motif_editor/MotifEditorDelegate.hpp
29       mussa_setup_dialog/IsFileValidator.hpp
30       mussa_setup_dialog/MussaSetupDialog.hpp
31       mussa_setup_dialog/MussaSetupWidget.hpp
32       mussa_setup_dialog/SequenceSetupFrame.hpp
33       mussa_setup_dialog/SequenceSetupWidget.hpp
34       seqbrowser/ScrollableSequenceBrowser.hpp
35       seqbrowser/SequenceBrowser.hpp
36       seqbrowser/SequenceBrowserSidebar.hpp
37       seqbrowser/SequenceBrowserWidget.hpp
38       seqbrowser/SequenceDescription.hpp
39       seqbrowser/seqproperties/SequencePropertiesModel.hpp
40       seqbrowser/seqproperties/PropertiesWindow.hpp
41       subanalysis/SequenceLocationModel.hpp
42       subanalysis/SubanalysisWindow.hpp
43       threading/GuiProxy.hpp
44       threading/InterpreterThread.hpp
45     )
46 SET(GUI_SOURCES 
47       ImageSaveDialog.cpp      
48       ImageScaler.cpp          
49       IntAction.cpp            
50       MussaAlignedWindow.cpp
51       MussaWindow.cpp
52       ThresholdWidget.cpp
53       ZoomWidget.cpp
54       motif_editor/MotifEditor.cpp
55       motif_editor/MotifEditorDelegate.cpp
56       motif_editor/MotifElement.cpp
57       motif_editor/MotifModel.cpp
58       mussa_setup_dialog/IsFileValidator.cpp
59       mussa_setup_dialog/MussaSetupDialog.cpp
60       mussa_setup_dialog/MussaSetupWidget.cpp
61       mussa_setup_dialog/SequenceSetupFrame.cpp
62       mussa_setup_dialog/SequenceSetupWidget.cpp
63       mussa_setup_dialog/SetupInfo.cpp
64       seqbrowser/ScrollableSequenceBrowser.cpp
65       seqbrowser/SequenceBrowser.cpp
66       seqbrowser/SequenceBrowserSidebar.cpp
67       seqbrowser/SequenceBrowserWidget.cpp
68       seqbrowser/SequenceDescription.cpp
69       seqbrowser/seqproperties/SequencePropertiesModel.cpp
70       seqbrowser/seqproperties/PropertiesWindow.cpp
71       subanalysis/SequenceLocationModel.cpp
72       subanalysis/SubanalysisWindow.cpp
73       threading/GuiProxy.cpp
74       threading/InterpreterThread.cpp
75       threading/ThreadManager.cpp
76      )
77 SET(PY_SOURCES ../py/python.cpp)
78 SET(RCCS ../icons.qrc)
79
80 QT4_ADD_RESOURCES(RCC_SOURCES ${RCCS})
81 QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS})
82 SET(SOURCES  ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCES} ${PY_SOURCES})
83
84 GET_MUSSA_COMPILE_FLAGS(QUI_CFLAGS)
85 GET_MUSSA_LINK_FLAGS(QUI_LDFLAGS)
86
87 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} 
88                     ${QT_INCLUDES}
89                     ${BOOST_INCLUDE_DIR} )
90
91 ADD_LIBRARY(mussa_qui STATIC ${SOURCES})
92
93 # currently QTASSISTANT is only properly installed under windows
94 IF(QT_QTASSISTANT_FOUND AND WIN32)
95   SET(QUI_CFLAGS "${QUI_CFLAGS} -DQT_QTASSISTANT_FOUND")
96 ENDIF(QT_QTASSISTANT_FOUND AND WIN32)
97
98 SET_SOURCE_FILES_PROPERTIES(
99   ${SOURCES}
100   PROPERTIES
101   COMPILE_FLAGS "${QUI_CFLAGS}"
102 )
103 SET_TARGET_PROPERTIES(
104   mussa_qui PROPERTIES
105   COMPILE_FLAGS "${QUI_CFLAGS}"
106   LINK_FLAGS "${QUI_LDFLAGS}"
107 )
108
109
110 ADD_SUBDIRECTORY( test )