cmake setupfiles
authorDiane Trout <diane@caltech.edu>
Thu, 6 Apr 2006 06:59:08 +0000 (06:59 +0000)
committerDiane Trout <diane@caltech.edu>
Thu, 6 Apr 2006 06:59:08 +0000 (06:59 +0000)
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
CMakeLists.txt [new file with mode: 0644]
FindBoost.cmake [new file with mode: 0644]
alg/CMakeLists.txt [new file with mode: 0644]
alg/test/CMakeLists.txt [new file with mode: 0644]
mussagl.cpp [deleted file]
mussagl.pro
qui/CMakeLists.txt [new file with mode: 0644]
qui/mussa_setup_dialog/IsFileValidator.cpp
qui/mussa_setup_dialog/SequenceSetupWidget.cpp
qui/mussagl.cpp [new file with mode: 0644]

diff --git a/.boring b/.boring
index 4dd64d8f74b746275c6ba69bbf79f33a9a76f2c5..ec5df651365d3dc2ad949f03198671b3f4659970 100644 (file)
--- 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 (file)
index 0000000..529e66a
--- /dev/null
@@ -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 (file)
index 0000000..5e71bc6
--- /dev/null
@@ -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 (file)
index 0000000..9860d61
--- /dev/null
@@ -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 (file)
index 0000000..ecbd3aa
--- /dev/null
@@ -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.cpp b/mussagl.cpp
deleted file mode 100644 (file)
index 656c9a2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <QApplication>
-
-#include "qui/MussaWindow.hpp"
-#include "alg/parse_options.hpp"
-
-int main(int argc, char **argv)
-{
-  QApplication app(argc, argv);
-  Q_INIT_RESOURCE(icons);
-  Mussa *analysis = initialize_mussa(argc, argv);
-
-  if (analysis == 0) {
-    return 1;
-  }
-
-  MussaWindow win(analysis);
-  win.show();
-  app.exec();
-  return 0;
-}
index 8006289a8690d8e9406a7229f514d94bd6dacdb8..332efbc2897d6b8d93686d59cfc58a5e72ec6a7f 100644 (file)
@@ -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 (file)
index 0000000..56d7990
--- /dev/null
@@ -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}
+                        )
+
index 49e427c7f5416113a26cc2db70f00b4de8b8032b..98fae1e330304339dd60a68770ea228384bcfd47 100644 (file)
@@ -1,6 +1,6 @@
 #include <QFileInfo>
 
-#include "qui/IsFileValidator.hpp"
+#include "qui/mussa_setup_dialog/IsFileValidator.hpp"
 
 IsFileValidator::IsFileValidator(QObject *parent) 
   : QValidator(parent)
index aeb27f57869e53e718327773b3fa8320a6321dfc..d16350c3667175bc0ac7824ddebe2fac6289e126 100644 (file)
@@ -5,7 +5,6 @@
 #include <QFileDialog>
 #include <QPushButton>
 
-//#include "qui/IsFileValidator.hpp"
 #include "qui/mussa_setup_dialog/SequenceSetupWidget.hpp"
 
 
diff --git a/qui/mussagl.cpp b/qui/mussagl.cpp
new file mode 100644 (file)
index 0000000..656c9a2
--- /dev/null
@@ -0,0 +1,20 @@
+#include <QApplication>
+
+#include "qui/MussaWindow.hpp"
+#include "alg/parse_options.hpp"
+
+int main(int argc, char **argv)
+{
+  QApplication app(argc, argv);
+  Q_INIT_RESOURCE(icons);
+  Mussa *analysis = initialize_mussa(argc, argv);
+
+  if (analysis == 0) {
+    return 1;
+  }
+
+  MussaWindow win(analysis);
+  win.show();
+  app.exec();
+  return 0;
+}