From 360e18714d6a3f80c595cc1ccf6a17081b4e2a38 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Thu, 6 Apr 2006 06:59:08 +0000 Subject: [PATCH] cmake setupfiles I wonder how well CMake might work, this patch'll build mussagl and the core unittests. (Though they get dropped deep within the build hierarchy which I don't like very much) There's also a problem where os x wants to include the gl.h as OpenGL/gl.h and linux wants GL/gl.h (though I didn't commit the OS X version yet.) --- .boring | 2 + CMakeLists.txt | 10 +++ FindBoost.cmake | 28 ++++++++ alg/CMakeLists.txt | 20 ++++++ alg/test/CMakeLists.txt | 15 +++++ mussagl.pro | 2 +- qui/CMakeLists.txt | 66 +++++++++++++++++++ qui/mussa_setup_dialog/IsFileValidator.cpp | 2 +- .../SequenceSetupWidget.cpp | 1 - mussagl.cpp => qui/mussagl.cpp | 0 10 files changed, 143 insertions(+), 3 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 FindBoost.cmake create mode 100644 alg/CMakeLists.txt create mode 100644 alg/test/CMakeLists.txt create mode 100644 qui/CMakeLists.txt rename mussagl.cpp => qui/mussagl.cpp (100%) diff --git a/.boring b/.boring index 4dd64d8..ec5df65 100644 --- a/.boring +++ b/.boring @@ -1,5 +1,7 @@ # Boring file regexps: (^|/)unittests$ +(^|/)mck$ +(^|/)build$ # doxygen output (^|/)doc/html($|/) (^|/)doc/latex($|/) diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..529e66a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,10 @@ +PROJECT(mussa) + +ENABLE_TESTING() +# try to include our cmake modules +SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}) + +# all of our source files al relative to the root of our project +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}) +ADD_SUBDIRECTORY( alg ) +ADD_SUBDIRECTORY( qui ) diff --git a/FindBoost.cmake b/FindBoost.cmake new file mode 100644 index 0000000..5e71bc6 --- /dev/null +++ b/FindBoost.cmake @@ -0,0 +1,28 @@ +# - Find Boost libraries +# Go hunting for boost compoments +# Defines: +# BOOST_INCLUDE + +FIND_PATH(BOOST_INCLUDE_DIR weak_ptr.hpp /usr/include /usr/local/include ) + +FIND_LIBRARY( BOOST_UNIT_TEST_LIB NAMES boost_unit_test_framework + PATHS /usr/lib /usr/local/lib C:\\Boost\\lib ) +FIND_LIBRARY( BOOST_PROGRAM_OPTIONS_LIB NAMES boost_program_options + PATHS /usr/lib /usr/local/lib C:\\Boost\\lib ) +FIND_LIBRARY( BOOST_FILESYSTEM_LIB NAMES boost_filesystem + PATHS /usr/lib /usr/local/lib C:\\Boost\\lib ) + +IF (BOOST_INCLUDE_DIR) + SET(BOOST_FOUND TRUE) +ENDIF (BOOST_INCLUDE_DIR) + +IF (BOOST_FOUND) + IF (NOT Boost_FIND_QUIETLY) + MESSAGE(STATUS "Found Boost: ${BOOST_INCLUDE_DIR}") + ENDIF (NOT Boost_FIND_QUIETLY) +ELSE(BOOST_FOUND) + IF (Boost_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find Boost") + ENDIF (Boost_FIND_REQUIRED) +ENDIF (BOOST_FOUND) + diff --git a/alg/CMakeLists.txt b/alg/CMakeLists.txt new file mode 100644 index 0000000..9860d61 --- /dev/null +++ b/alg/CMakeLists.txt @@ -0,0 +1,20 @@ +SET(SOURCES annotation_colors.cpp + color.cpp + conserved_path.cpp + flp.cpp + flp_seqcomp.cpp + glseqbrowser.cpp + glsequence.cpp + mussa.cpp + nway_entropy.cpp + nway_other.cpp + nway_paths.cpp + parse_options.cpp + sequence.cpp) + +FIND_PACKAGE(OpenGL) +INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) +TARGET_LINK_LIBRARIES(mussa_core ${OPEN_gl_LIBRARY}) + +ADD_LIBRARY( mussa_core STATIC ${SOURCES} ) +ADD_SUBDIRECTORY( test ) diff --git a/alg/test/CMakeLists.txt b/alg/test/CMakeLists.txt new file mode 100644 index 0000000..ecbd3aa --- /dev/null +++ b/alg/test/CMakeLists.txt @@ -0,0 +1,15 @@ +SET(SOURCES test_annotation_color.cpp test_color.cpp test_conserved_path.cpp + test_flp.cpp test_glseqbrowser.cpp test_glsequence.cpp + test_main.cpp test_mussa.cpp test_nway.cpp test_sequence.cpp) + +FIND_PACKAGE(OpenGL) +INCLUDE(FindBoost) + +ADD_EXECUTABLE(unittest ${SOURCES}) +ADD_TEST(core_test ${EXECUTABLE_OUTPUT_PATH}/alg/test/unittest) +LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg}) +TARGET_LINK_LIBRARIES(unittest + ${BOOST_UNIT_TEST_LIB} + ${BOOST_FILESYSTEM_LIB} + mussa_core + ${OPENGL_gl_LIBRARY}) diff --git a/mussagl.pro b/mussagl.pro index 8006289..332efbc 100644 --- a/mussagl.pro +++ b/mussagl.pro @@ -41,7 +41,7 @@ HEADERS += mussa_exceptions.hpp \ alg/nway_paths.hpp \ alg/parse_options.hpp \ alg/sequence.hpp -SOURCES += mussagl.cpp \ +SOURCES += qui/mussagl.cpp \ qui/MussaWindow.cpp \ qui/MussaAlignedWindow.cpp \ qui/ThresholdWidget.cpp \ diff --git a/qui/CMakeLists.txt b/qui/CMakeLists.txt new file mode 100644 index 0000000..56d7990 --- /dev/null +++ b/qui/CMakeLists.txt @@ -0,0 +1,66 @@ +FIND_PACKAGE(Qt4) +SET(QT_USE_QTOPENGL 1) +INCLUDE( ${QT_USE_FILE} ) +FIND_PACKAGE(OpenGL) +FIND_PACKAGE(Boost) + +SET(MOC_HEADERS + ImageSaveDialog.hpp + ImageScaler.hpp + IntAction.hpp + MussaAlignedWindow.hpp + MussaWindow.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 + mussa_setup_dialog/SetupInfo.hpp + seqbrowser/ScrollableSequenceBrowser.hpp + seqbrowser/SequenceBrowser.hpp + seqbrowser/SequenceBrowserSidebar.hpp + seqbrowser/SequenceBrowserWidget.hpp + seqbrowser/SequenceDescription.hpp + ) +SET(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 + 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(RCCS ../icons.qrc) + +QT4_ADD_RESOURCES(RCC_SOURCE ${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} + ) + diff --git a/qui/mussa_setup_dialog/IsFileValidator.cpp b/qui/mussa_setup_dialog/IsFileValidator.cpp index 49e427c..98fae1e 100644 --- a/qui/mussa_setup_dialog/IsFileValidator.cpp +++ b/qui/mussa_setup_dialog/IsFileValidator.cpp @@ -1,6 +1,6 @@ #include -#include "qui/IsFileValidator.hpp" +#include "qui/mussa_setup_dialog/IsFileValidator.hpp" IsFileValidator::IsFileValidator(QObject *parent) : QValidator(parent) diff --git a/qui/mussa_setup_dialog/SequenceSetupWidget.cpp b/qui/mussa_setup_dialog/SequenceSetupWidget.cpp index aeb27f5..d16350c 100644 --- a/qui/mussa_setup_dialog/SequenceSetupWidget.cpp +++ b/qui/mussa_setup_dialog/SequenceSetupWidget.cpp @@ -5,7 +5,6 @@ #include #include -//#include "qui/IsFileValidator.hpp" #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp" diff --git a/mussagl.cpp b/qui/mussagl.cpp similarity index 100% rename from mussagl.cpp rename to qui/mussagl.cpp -- 2.30.2