#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_ASSISTANT_LIB) SET(QT_USE_QTNETWORK 1) SET(QT_USE_QTASSISTANT 1) ENDIF(QT_ASSISTANT_LIB) INCLUDE( ${QT_USE_FILE} ) FIND_PACKAGE(OpenGL) FIND_PACKAGE(Boost) FIND_PACKAGE(PythonLibs) 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/MotifEditor.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 seqbrowser/ScrollableSequenceBrowser.hpp seqbrowser/SequenceBrowser.hpp seqbrowser/SequenceBrowserSidebar.hpp seqbrowser/SequenceBrowserWidget.hpp seqbrowser/SequenceDescription.hpp ) SET(GUI_SOURCES ImageSaveDialog.cpp ImageScaler.cpp IntAction.cpp MussaAlignedWindow.cpp MussaWindow.cpp SequenceLocationModel.cpp SubanalysisWindow.cpp ThresholdWidget.cpp ZoomWidget.cpp motif_editor/MotifDetail.cpp motif_editor/MotifEditor.cpp mussa_setup_dialog/IsFileValidator.cpp mussa_setup_dialog/MussaSetupDialog.cpp mussa_setup_dialog/MussaSetupWidget.cpp mussa_setup_dialog/SequenceSetupFrame.cpp mussa_setup_dialog/SequenceSetupWidget.cpp mussa_setup_dialog/SetupInfo.cpp seqbrowser/ScrollableSequenceBrowser.cpp seqbrowser/SequenceBrowser.cpp seqbrowser/SequenceBrowserSidebar.cpp seqbrowser/SequenceBrowserWidget.cpp seqbrowser/SequenceDescription.cpp ) SET(MAIN_SOURCES mussagl.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}) # these are really only needed for gcc on AMD64 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} ${QT_INCLUDES}) 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}) ADD_CUSTOM_TARGET(mussa.icns ALL cmake -E copy_directory ${CMAKE_SOURCE_DIR}/icons/osx ${APP_DIR} ) ENDIF(APPLE) # 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 )