23adbc5fe44b1deb851523db6b32bd83c7a3be4e
[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 set(Boost_USE_STATIC_LIBS   ON)
14 set(Boost_USE_MULTITHREADED ON)
15 FIND_PACKAGE(Boost 1.34.1)
16 FIND_PACKAGE(PythonLibs)
17
18 INCLUDE( Platform )
19
20 SET(MOC_HEADERS
21       ImageSaveDialog.hpp     
22       ImageScaler.hpp         
23       IntAction.hpp           
24       MussaAlignedWindow.hpp  
25       MussaWindow.hpp
26       ThresholdWidget.hpp
27       ZoomWidget.hpp
28       motif_editor/MotifModel.hpp
29       motif_editor/MotifEditor.hpp
30       motif_editor/MotifEditorDelegate.hpp
31       # mussa_setup_dialog/IsFileValidator.hpp
32       mussa_setup_dialog/MussaSetupDialog.hpp
33       mussa_setup_dialog/MussaSetupWidget.hpp
34       mussa_setup_dialog/SequenceSetupFrame.hpp
35       mussa_setup_dialog/SequenceSetupWidget.hpp
36       seqbrowser/ScrollableSequenceBrowser.hpp
37       seqbrowser/SequenceBrowser.hpp
38       seqbrowser/SequenceBrowserSidebar.hpp
39       seqbrowser/SequenceBrowserWidget.hpp
40       seqbrowser/SequenceDescription.hpp
41       seqbrowser/seqproperties/SequencePropertiesModel.hpp
42       seqbrowser/seqproperties/PropertiesWindow.hpp
43       subanalysis/SequenceLocationModel.hpp
44       subanalysis/SubanalysisWindow.hpp
45       threading/GuiProxy.hpp
46       threading/InterpreterThread.hpp
47     )
48 SET(GUI_SOURCES 
49       ImageSaveDialog.cpp      
50       ImageScaler.cpp          
51       IntAction.cpp            
52       MussaAlignedWindow.cpp
53       MussaWindow.cpp
54       ThresholdWidget.cpp
55       ZoomWidget.cpp
56       motif_editor/MotifEditor.cpp
57       motif_editor/MotifEditorDelegate.cpp
58       motif_editor/MotifElement.cpp
59       motif_editor/MotifModel.cpp
60       mussa_setup_dialog/IsFileValidator.cpp
61       mussa_setup_dialog/MussaSetupDialog.cpp
62       mussa_setup_dialog/MussaSetupWidget.cpp
63       mussa_setup_dialog/SequenceSetupFrame.cpp
64       mussa_setup_dialog/SequenceSetupWidget.cpp
65       mussa_setup_dialog/SetupInfo.cpp
66       seqbrowser/ScrollableSequenceBrowser.cpp
67       seqbrowser/SequenceBrowser.cpp
68       seqbrowser/SequenceBrowserSidebar.cpp
69       seqbrowser/SequenceBrowserWidget.cpp
70       seqbrowser/SequenceDescription.cpp
71       seqbrowser/seqproperties/SequencePropertiesModel.cpp
72       seqbrowser/seqproperties/PropertiesWindow.cpp
73       subanalysis/SequenceLocationModel.cpp
74       subanalysis/SubanalysisWindow.cpp
75       threading/GuiProxy.cpp
76       threading/InterpreterThread.cpp
77       threading/ThreadManager.cpp
78      )
79 SET(PY_SOURCES ../py/python.cpp)
80 SET(RCCS ../icons.qrc)
81
82 QT4_ADD_RESOURCES(RCC_SOURCES ${RCCS})
83 QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS})
84 SET(SOURCES  ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCES} ${PY_SOURCES})
85
86 GET_MUSSA_COMPILE_FLAGS(QUI_CFLAGS)
87 GET_MUSSA_LINK_FLAGS(QUI_LDFLAGS)
88
89 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} 
90                     ${QT_INCLUDES}
91                     ${Boost_INCLUDE_DIR} )
92
93 ADD_LIBRARY(mussa_qui STATIC ${SOURCES})
94
95 # currently QTASSISTANT is only properly installed under windows
96 IF(QT_QTASSISTANT_FOUND AND WIN32)
97   SET(QUI_CFLAGS "${QUI_CFLAGS} -DQT_QTASSISTANT_FOUND")
98 ENDIF(QT_QTASSISTANT_FOUND AND WIN32)
99
100 SET_SOURCE_FILES_PROPERTIES(
101   ${SOURCES}
102   PROPERTIES
103   COMPILE_FLAGS "${QUI_CFLAGS}"
104 )
105 SET_TARGET_PROPERTIES(
106   mussa_qui PROPERTIES
107   COMPILE_FLAGS "${QUI_CFLAGS}"
108   LINK_FLAGS "${QUI_LDFLAGS}"
109 )
110
111
112 ADD_SUBDIRECTORY( test )
113 ADD_SUBDIRECTORY( motif_editor/test )
114 ADD_SUBDIRECTORY( seqbrowser/test )
115 ADD_SUBDIRECTORY( subanalysis/test )