Update mussa to build on ubuntu 10.04 with qt 4.6.2 +boost 1.40.0.1
[mussa.git] / qui / CMakeLists.txt
index e134342d9fb73e5ae0cb10741b82be3dc991c965..1ae54fd01c741dfb00c164502f82c36b476cf89e 100644 (file)
@@ -4,11 +4,19 @@ 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     
       ImageScaler.hpp         
@@ -17,19 +25,25 @@ 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(GUI_SOURCES 
       ImageSaveDialog.cpp      
@@ -39,8 +53,10 @@ SET(GUI_SOURCES
       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
@@ -52,34 +68,48 @@ SET(GUI_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(SOURCES
-      mussagl.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})
+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})
-ADD_LIBRARY(mussa_qui STATIC ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCE})
-TARGET_LINK_LIBRARIES(mussa_qui 
-                        mussa_core)
-ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${SOURCES} )
-# ${SOURCES} ${MOC_SOURCES} ${RCC_SOURCE} )
-LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg
-                 ${MUSSA_BINARY_DIR}/py)
-TARGET_LINK_LIBRARIES(mussagl 
-                        mussa_core
-                        mussa_qui
-                        ${QT_QTCORE_LIBRARY}
-                        ${QT_QTGUI_LIBRARY}
-                        ${QT_QTOPENGL_LIBRARY}
-                        ${OPENGL_gl_LIBRARY}
-                        ${BOOST_PROGRAM_OPTIONS_LIBRARY}
-                        ${BOOST_FILESYSTEM_LIBRARY}
-                        ${BOOST_PYTHON_LIBRARY}
-                        optimized ${PYTHON_LIBRARIES}
-                        debug ${PYTHON_DEBUG_LIBRARIES}
-                        )
+                    ${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 )