make linking python optional
[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 INCLUDE( ${QT_USE_FILE} )
8 FIND_PACKAGE(OpenGL)
9 FIND_PACKAGE(Boost)
10 FIND_PACKAGE(PythonLibs)
11
12 SET(MOC_HEADERS
13       ImageSaveDialog.hpp     
14       ImageScaler.hpp         
15       IntAction.hpp           
16       MussaAlignedWindow.hpp  
17       MussaWindow.hpp
18       ThresholdWidget.hpp
19       ZoomWidget.hpp
20       motif_editor/MotifDetail.hpp
21       motif_editor/MotifEditor.hpp
22       mussa_setup_dialog/IsFileValidator.hpp
23       mussa_setup_dialog/MussaSetupDialog.hpp
24       mussa_setup_dialog/MussaSetupWidget.hpp
25       mussa_setup_dialog/SequenceSetupFrame.hpp
26       mussa_setup_dialog/SequenceSetupWidget.hpp
27       mussa_setup_dialog/SetupInfo.hpp
28       seqbrowser/ScrollableSequenceBrowser.hpp
29       seqbrowser/SequenceBrowser.hpp
30       seqbrowser/SequenceBrowserSidebar.hpp
31       seqbrowser/SequenceBrowserWidget.hpp
32       seqbrowser/SequenceDescription.hpp
33     )
34 SET(GUI_SOURCES 
35       ImageSaveDialog.cpp      
36       ImageScaler.cpp          
37       IntAction.cpp            
38       MussaAlignedWindow.cpp
39       MussaWindow.cpp
40       ThresholdWidget.cpp
41       ZoomWidget.cpp
42       motif_editor/MotifDetail.cpp
43       motif_editor/MotifEditor.cpp
44       mussa_setup_dialog/IsFileValidator.cpp
45       mussa_setup_dialog/MussaSetupDialog.cpp
46       mussa_setup_dialog/MussaSetupWidget.cpp
47       mussa_setup_dialog/SequenceSetupFrame.cpp
48       mussa_setup_dialog/SequenceSetupWidget.cpp
49       mussa_setup_dialog/SetupInfo.cpp
50       seqbrowser/ScrollableSequenceBrowser.cpp
51       seqbrowser/SequenceBrowser.cpp
52       seqbrowser/SequenceBrowserSidebar.cpp
53       seqbrowser/SequenceBrowserWidget.cpp
54       seqbrowser/SequenceDescription.cpp
55
56      )
57 SET(SOURCES
58       mussagl.cpp)
59 SET(RCCS ../icons.qrc)
60
61 QT4_ADD_RESOURCES(RCC_SOURCE ${RCCS})
62 QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS})
63 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} 
64                     ${QT_INCLUDES})
65 ADD_LIBRARY(mussa_qui STATIC ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCE})
66 TARGET_LINK_LIBRARIES(mussa_qui 
67                         mussa_core)
68 ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${SOURCES} )
69 # ${SOURCES} ${MOC_SOURCES} ${RCC_SOURCE} )
70 LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg
71                  ${MUSSA_BINARY_DIR}/py)
72 TARGET_LINK_LIBRARIES(mussagl 
73                         mussa_core
74                         mussa_qui
75                         ${QT_QTCORE_LIBRARY}
76                         ${QT_QTGUI_LIBRARY}
77                         ${QT_QTOPENGL_LIBRARY}
78                         ${OPENGL_gl_LIBRARY}
79                         ${BOOST_PROGRAM_OPTIONS_LIBRARY}
80                         ${BOOST_FILESYSTEM_LIBRARY}
81                       )
82 IF(USE_PYTHON)
83   TARGET_LINK_LIBRARIES(mussagl
84                           ${BOOST_PYTHON_LIBRARY}
85                           optimized ${PYTHON_LIBRARIES}
86                           debug ${PYTHON_DEBUG_LIBRARIES}
87                         )
88 ENDIF(USE_PYTHON)
89