Update mussa to build on ubuntu 10.04 with qt 4.6.2 +boost 1.40.0.1
[mussa.git] / alg / test / CMakeLists.txt
index 8a34c1c91b6b8e030f056641a401385914d25262..8530993a21dc44decaec05da987a7ca33b05235d 100644 (file)
@@ -1,34 +1,69 @@
 FIND_PACKAGE(OpenGL)
-INCLUDE(FindBoost)
-INCLUDE(Platform)
 
-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 test_sequence_location.cpp )
+set(Boost_USE_STATIC_LIBS   OFF)
+set(Boost_USE_MULTITHREADED ON)
+FIND_PACKAGE(Boost 1.36.0 REQUIRED filesystem unit_test_framework serialization system)
+FIND_PACKAGE(Qt4)
+INCLUDE( ${QT_USE_FILE} )
+INCLUDE(Platform)
 
-GET_MUSSA_COMPILE_FLAGS(ALG_TEST_CFLAGS)
-GET_MUSSA_LINK_FLAGS(ALG_TEST_LDFLAGS)
 # dont you love the number of \ you need to make sure the " shows up in
 # the C compiler?
 SET(EXAMPLE_DIR ${CMAKE_SOURCE_DIR}/examples)
-SET_SOURCE_FILES_PROPERTIES(
-  ${SOURCES} 
-  COMPILE_FLAGS "-DEXAMPLE_DIR=\\\"${EXAMPLE_DIR}\\\" ${ALG_TEST_CFLAGS}"
-)
+IF(WIN32)
+  STRING(REGEX REPLACE "/" "\\\\\\\\\\\\\\\\" EXAMPLE_DIR ${EXAMPLE_DIR})
+ENDIF(WIN32)
 
-ADD_EXECUTABLE(unittest ${SOURCES})
-ADD_TEST(core_test ${CMAKE_BINARY_DIR}/alg/test/unittest)
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/alg})
-TARGET_LINK_LIBRARIES(unittest 
-                        ${BOOST_UNIT_TEST_LIBRARY} 
-                        ${BOOST_FILESYSTEM_LIBRARY}
-                        mussa_core 
-                        ${OPENGL_gl_LIBRARY})
+# get our platform specific flags
+GET_MUSSA_COMPILE_FLAGS(ALG_TEST_CFLAGS)
+GET_MUSSA_LINK_FLAGS(ALG_TEST_LDFLAGS)
+
+SET(ALG_TEST_LIBS
+      mussa_core
+      ${QT_LIBRARIES}
+      ${Boost_FILESYSTEM_LIBRARY}
+      ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} 
+      ${Boost_SERIALIZATION_LIBRARY}
+      ${Boost_SYSTEM_LIBRARY}
+      ${OPENGL_gl_LIBRARY}
+)
 
-SET_TARGET_PROPERTIES(
-  unittest PROPERTIES
+MACRO(MAKE_ALG_UNITTEST basename)
+  SET(${basename}_SRC ${basename}.cpp)
+  SET_SOURCE_FILES_PROPERTIES(${${basename}_SRC} 
+      COMPILE_FLAGS "-DEXAMPLE_DIR=\\\"${EXAMPLE_DIR}\\\" ${ALG_TEST_CFLAGS}"
+  )
+  ADD_EXECUTABLE(${basename} ${${basename}_SRC})
+  TARGET_LINK_LIBRARIES(${basename} ${ALG_TEST_LIBS})
+  
+  SET_TARGET_PROPERTIES(
+    ${basename}
+    PROPERTIES
     COMPILE_FLAGS "${ALG_TEST_CFLAGS}"
     LINK_FLAGS "${ALG_TEST_LDFLAGS}"
-)
+  )
+  ADD_TEST(${basename} ${basename})
+ENDMACRO(MAKE_ALG_UNITTEST)
+
+#add all our main tests
+MAKE_ALG_UNITTEST( test_alphabet )
+MAKE_ALG_UNITTEST( test_annotations )
+MAKE_ALG_UNITTEST( test_annotation_color )
+MAKE_ALG_UNITTEST( test_color )
+MAKE_ALG_UNITTEST( test_conserved_path )
+MAKE_ALG_UNITTEST( test_drawable )
+MAKE_ALG_UNITTEST( test_flp )
+MAKE_ALG_UNITTEST( test_glseqbrowser )
+MAKE_ALG_UNITTEST( test_glsequence )
+MAKE_ALG_UNITTEST( test_mussa )
+MAKE_ALG_UNITTEST( test_nway )
+MAKE_ALG_UNITTEST( test_seq )
+MAKE_ALG_UNITTEST( test_sequence )
+MAKE_ALG_UNITTEST( test_seq_span )
+MAKE_ALG_UNITTEST( test_sequence_location )
 
+IF(USE_PAIRCOMP)
+  INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/paircomp/lib )
+  MAKE_ALG_UNITTEST( test_paircomp )
+  TARGET_LINK_LIBRARIES( test_paircomp paircomplib )
+ENDIF(USE_PAIRCOMP)