Update mussa to build on ubuntu 10.04 with qt 4.6.2 +boost 1.40.0.1
[mussa.git] / qui / CMakeLists.txt
index 56d7990934a1a15344b273f10aea2af44f7b869a..1ae54fd01c741dfb00c164502f82c36b476cf89e 100644 (file)
@@ -1,8 +1,21 @@
+#deal with some debian wierdness
+FIND_PROGRAM(QT_QMAKE_EXECUTABLE qmake-qt4 )
+FIND_PROGRAM(QT_MOC_EXECUTABLE moc-qt4 )
+
 FIND_PACKAGE(Qt4)
 SET(QT_USE_QTOPENGL 1)
+IF(QT_QTASSISTANT_FOUND)
+  SET(QT_USE_QTNETWORK 1)
+  SET(QT_USE_QTASSISTANT 1)
+ENDIF(QT_QTASSISTANT_FOUND)
 INCLUDE( ${QT_USE_FILE} )
 FIND_PACKAGE(OpenGL)
-FIND_PACKAGE(Boost)
+set(Boost_USE_STATIC_LIBS   OFF)
+set(Boost_USE_MULTITHREADED ON)
+FIND_PACKAGE(Boost 1.34.1)
+FIND_PACKAGE(PythonLibs)
+
+INCLUDE( Platform )
 
 SET(MOC_HEADERS
       ImageSaveDialog.hpp     
@@ -12,31 +25,38 @@ SET(MOC_HEADERS
       MussaWindow.hpp
       ThresholdWidget.hpp
       ZoomWidget.hpp
-      motif_editor/MotifDetail.hpp
+      motif_editor/MotifModel.hpp
       motif_editor/MotifEditor.hpp
-      mussa_setup_dialog/IsFileValidator.hpp
+      motif_editor/MotifEditorDelegate.hpp
+      # mussa_setup_dialog/IsFileValidator.hpp
       mussa_setup_dialog/MussaSetupDialog.hpp
       mussa_setup_dialog/MussaSetupWidget.hpp
       mussa_setup_dialog/SequenceSetupFrame.hpp
       mussa_setup_dialog/SequenceSetupWidget.hpp
-      mussa_setup_dialog/SetupInfo.hpp
       seqbrowser/ScrollableSequenceBrowser.hpp
       seqbrowser/SequenceBrowser.hpp
       seqbrowser/SequenceBrowserSidebar.hpp
       seqbrowser/SequenceBrowserWidget.hpp
       seqbrowser/SequenceDescription.hpp
+      seqbrowser/seqproperties/SequencePropertiesModel.hpp
+      seqbrowser/seqproperties/PropertiesWindow.hpp
+      subanalysis/SequenceLocationModel.hpp
+      subanalysis/SubanalysisWindow.hpp
+      threading/GuiProxy.hpp
+      threading/InterpreterThread.hpp
     )
-SET(SOURCES 
+SET(GUI_SOURCES 
       ImageSaveDialog.cpp      
       ImageScaler.cpp          
       IntAction.cpp            
       MussaAlignedWindow.cpp
-      mussagl.cpp
       MussaWindow.cpp
       ThresholdWidget.cpp
       ZoomWidget.cpp
-      motif_editor/MotifDetail.cpp
       motif_editor/MotifEditor.cpp
+      motif_editor/MotifEditorDelegate.cpp
+      motif_editor/MotifElement.cpp
+      motif_editor/MotifModel.cpp
       mussa_setup_dialog/IsFileValidator.cpp
       mussa_setup_dialog/MussaSetupDialog.cpp
       mussa_setup_dialog/MussaSetupWidget.cpp
@@ -48,19 +68,48 @@ SET(SOURCES
       seqbrowser/SequenceBrowserSidebar.cpp
       seqbrowser/SequenceBrowserWidget.cpp
       seqbrowser/SequenceDescription.cpp
+      seqbrowser/seqproperties/SequencePropertiesModel.cpp
+      seqbrowser/seqproperties/PropertiesWindow.cpp
+      subanalysis/SequenceLocationModel.cpp
+      subanalysis/SubanalysisWindow.cpp
+      threading/GuiProxy.cpp
+      threading/InterpreterThread.cpp
+      threading/ThreadManager.cpp
      )
+SET(PY_SOURCES ../py/python.cpp)
 SET(RCCS ../icons.qrc)
 
-QT4_ADD_RESOURCES(RCC_SOURCE ${RCCS})
+QT4_ADD_RESOURCES(RCC_SOURCES ${RCCS})
 QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS})
-ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${SOURCES} ${MOC_SOURCES} ${RCC_SOURCE})
-LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg)
-TARGET_LINK_LIBRARIES(mussagl 
-                        mussa_core
-                        ${QT_QTCORE_LIBRARY}
-                        ${QT_QTGUI_LIBRARY}
-                        ${QT_QTOPENGL_LIBRARY}
-                        ${OPENGL_gl_LIBRARY}
-                        ${BOOST_PROGRAM_OPTIONS_LIB}
-                        )
+SET(SOURCES  ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCES} ${PY_SOURCES})
+
+GET_MUSSA_COMPILE_FLAGS(QUI_CFLAGS)
+GET_MUSSA_LINK_FLAGS(QUI_LDFLAGS)
+
+INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} 
+                    ${QT_INCLUDES}
+                    ${Boost_INCLUDE_DIR} )
+
+ADD_LIBRARY(mussa_qui STATIC ${SOURCES})
+
+# currently QTASSISTANT is only properly installed under windows
+IF(QT_QTASSISTANT_FOUND AND WIN32)
+  SET(QUI_CFLAGS "${QUI_CFLAGS} -DQT_QTASSISTANT_FOUND")
+ENDIF(QT_QTASSISTANT_FOUND AND WIN32)
+
+SET_SOURCE_FILES_PROPERTIES(
+  ${SOURCES}
+  PROPERTIES
+  COMPILE_FLAGS "${QUI_CFLAGS}"
+)
+SET_TARGET_PROPERTIES(
+  mussa_qui PROPERTIES
+  COMPILE_FLAGS "${QUI_CFLAGS}"
+  LINK_FLAGS "${QUI_LDFLAGS}"
+)
+
 
+ADD_SUBDIRECTORY( test )
+ADD_SUBDIRECTORY( motif_editor/test )
+ADD_SUBDIRECTORY( seqbrowser/test )
+ADD_SUBDIRECTORY( subanalysis/test )