X-Git-Url: http://woldlab.caltech.edu/gitweb/?a=blobdiff_plain;f=qui%2FCMakeLists.txt;h=1ae54fd01c741dfb00c164502f82c36b476cf89e;hb=97498410e1fc5c39eac0282a6620b8fcb0f02ff3;hp=64a725571d53bb90dd192b7a21d22880a9239b2f;hpb=8b7130d4ace481d55e0f520bd605651e567b478f;p=mussa.git diff --git a/qui/CMakeLists.txt b/qui/CMakeLists.txt index 64a7255..1ae54fd 100644 --- a/qui/CMakeLists.txt +++ b/qui/CMakeLists.txt @@ -4,28 +4,31 @@ FIND_PROGRAM(QT_MOC_EXECUTABLE moc-qt4 ) FIND_PACKAGE(Qt4) SET(QT_USE_QTOPENGL 1) -IF(QT_ASSISTANT_LIB) +IF(QT_QTASSISTANT_FOUND) SET(QT_USE_QTNETWORK 1) SET(QT_USE_QTASSISTANT 1) -ENDIF(QT_ASSISTANT_LIB) +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 IntAction.hpp MussaAlignedWindow.hpp MussaWindow.hpp - SequenceLocationModel.hpp - SubanalysisWindow.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 @@ -35,6 +38,12 @@ SET(MOC_HEADERS 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 @@ -42,12 +51,12 @@ SET(GUI_SOURCES IntAction.cpp MussaAlignedWindow.cpp MussaWindow.cpp - SequenceLocationModel.cpp - SubanalysisWindow.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 @@ -59,68 +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(MAIN_SOURCES - mussagl.cpp) +SET(PY_SOURCES ../py/python.cpp) SET(RCCS ../icons.qrc) QT4_ADD_RESOURCES(RCC_SOURCES ${RCCS}) QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS}) -SET(SOURCES ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCES} ${MAIN_SOURCES}) +SET(SOURCES ${MOC_SOURCES} ${GUI_SOURCES} ${RCC_SOURCES} ${PY_SOURCES}) + +GET_MUSSA_COMPILE_FLAGS(QUI_CFLAGS) +GET_MUSSA_LINK_FLAGS(QUI_LDFLAGS) -# these are really only needed for gcc on AMD64 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} - ${QT_INCLUDES}) + ${QT_INCLUDES} + ${Boost_INCLUDE_DIR} ) ADD_LIBRARY(mussa_qui STATIC ${SOURCES}) -TARGET_LINK_LIBRARIES(mussa_qui - mussa_core) - -ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${MAIN_SOURCES} ) - -TARGET_LINK_LIBRARIES(mussagl - mussa_core - mussa_qui - ${QT_LIBRARIES} - ${OPENGL_gl_LIBRARY} - ${BOOST_PROGRAM_OPTIONS_LIBRARY} - ${BOOST_FILESYSTEM_LIBRARY} - ) -IF(USE_PYTHON) - SET_SOURCE_FILES_PROPERTIES(${SOURCES} - PROPERTIES - COMPILE_FLAGS "-DUSE_PYTHON=1" - ) - TARGET_LINK_LIBRARIES(mussagl - ${BOOST_PYTHON_LIBRARY} - optimized ${PYTHON_LIBRARIES} - debug ${PYTHON_DEBUG_LIBRARIES} - ) -ENDIF(USE_PYTHON) - - -# we need Cocoa in order to find where our base directory is (AKA bundle) -IF(APPLE) - SET(COCOA_LIBRARY "-framework Cocoa") - TARGET_LINK_LIBRARIES(mussagl ${COCOA_LIBRARY}) - SET(MACOSX_BUNDLE_BUNDLE_NAME "Mussa") - SET(MACOSX_BUNDLE_LONG_VERSION_STRING "Mussa Copyright 2004-2006 California Institute of Technology") - SET(MACOSX_BUNDLE_COPYRIGHT "Copyright 2004-2006 California Institute of Technology") - SET(MACOSX_BUNDLE_ICON_FILE "mussa") - SET(APP_DIR ${CMAKE_BINARY_DIR}/qui/mussagl.app/Contents) - SET(RESOURCE_DIR ${APP_DIR}/Resources}) +# 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) - ADD_CUSTOM_TARGET(mussa.icns ALL - cmake -E copy_directory ${CMAKE_SOURCE_DIR}/icons/osx - ${APP_DIR} - ) -ENDIF(APPLE) +SET_SOURCE_FILES_PROPERTIES( + ${SOURCES} + PROPERTIES + COMPILE_FLAGS "${QUI_CFLAGS}" +) +SET_TARGET_PROPERTIES( + mussa_qui PROPERTIES + COMPILE_FLAGS "${QUI_CFLAGS}" + LINK_FLAGS "${QUI_LDFLAGS}" +) -# these are needed for AMD64 systems but don't hurt on 32bit -SET_SOURCE_FILES_PROPERTIES(${SOURCES} PROPERTIES COMPILE_FLAGS "-fPIC") -SET_TARGET_PROPERTIES(mussa_qui PROPERTIES COMPILE_FLAGS "-fPIC") -SET_TARGET_PROPERTIES(mussagl PROPERTIES COMPILE_FLAGS "-fPIC") ADD_SUBDIRECTORY( test ) +ADD_SUBDIRECTORY( motif_editor/test ) +ADD_SUBDIRECTORY( seqbrowser/test ) +ADD_SUBDIRECTORY( subanalysis/test )