From 2eab968e2aaa4abc7ed5f78c5ee8fa5ef1370f03 Mon Sep 17 00:00:00 2001
From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08>
Date: Wed, 19 May 2010 15:01:35 +0000
Subject: [PATCH] Fixed img and img::alg unittests for windows Fixed RUN_TESTS
 target for windows

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2270 5a81b35b-ba03-0410-adc8-b2c5c5119f08
---
 cmake_support/OST.cmake                                 | 5 +++--
 modules/img/alg/tests/test_filter.cc                    | 7 ++++---
 modules/img/alg/tests/test_utils.hh                     | 3 ++-
 modules/img/alg/tests/tests.hh                          | 1 +
 modules/img/base/src/function_base.hh                   | 1 +
 modules/img/base/src/image_state/image_state_visitor.hh | 6 +++---
 modules/img/base/src/null_function.hh                   | 5 ++++-
 modules/img/base/src/observable.hh                      | 2 +-
 modules/img/base/tests/CMakeLists.txt                   | 4 ++--
 modules/img/base/tests/test_data.hh                     | 1 +
 modules/img/base/tests/test_domains.cc                  | 1 +
 modules/img/base/tests/test_extent.hh                   | 1 +
 modules/img/base/tests/test_function.hh                 | 1 +
 modules/img/base/tests/test_image.hh                    | 1 +
 modules/img/base/tests/test_image_factory.hh            | 1 +
 modules/img/base/tests/test_image_impl.hh               | 1 +
 modules/img/base/tests/test_image_state.hh              | 1 +
 modules/img/base/tests/test_image_state_visitor.hh      | 1 +
 modules/img/base/tests/test_index.hh                    | 1 +
 modules/img/base/tests/test_point.hh                    | 1 +
 modules/img/base/tests/test_sampling.hh                 | 1 +
 modules/img/base/tests/test_size.hh                     | 1 +
 modules/img/base/tests/test_transform.hh                | 1 +
 modules/img/base/tests/test_value_holder.hh             | 1 +
 24 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake
index f3d23fbb6..fb46f78f9 100644
--- a/cmake_support/OST.cmake
+++ b/cmake_support/OST.cmake
@@ -486,12 +486,13 @@ macro(ost_unittest MODULE SOURCE_FILES)
     if(DEFINED CPP_TESTS)
       add_executable(${_test_name} EXCLUDE_FROM_ALL ${_SOURCES})
       if (WIN32)
-        target_link_libraries(${_test_name} "ost_${MODULE}")  
+        target_link_libraries(${_test_name} ${BOOST_UNIT_TEST_LIBRARIES} "ost_${MODULE}")  
         add_custom_target("${_test_name}_run"
                         COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${_test_name}.exe || echo
-                        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}
+                        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/..
                         COMMENT "running checks for module ${MODULE}"
                         DEPENDS ${_test_name})
+        add_test("${_test_name}" ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${_test_name}.exe)
       else()
         target_link_libraries(${_test_name} ${BOOST_UNIT_TEST_LIBRARIES}
                             "ost_${MODULE}")
diff --git a/modules/img/alg/tests/test_filter.cc b/modules/img/alg/tests/test_filter.cc
index d64b26038..400bc1bd4 100644
--- a/modules/img/alg/tests/test_filter.cc
+++ b/modules/img/alg/tests/test_filter.cc
@@ -21,8 +21,9 @@
 /*
   Author: Ansgar Philippsen
 */
-
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
+
 #include <iostream>
 #include <ost/img/image.hh>
 #include <ost/img/alg/filter.hh>
@@ -450,9 +451,9 @@ void FourierFiltersTest()
 }
 
 
-DLLEXPORT_IMG_ALG boost::unit_test::test_suite::test_suite* init_unit_test_suite( int argc, char* argv[] )
+boost::unit_test::test_suite* init_unit_test_suite( int argc, char* argv[] )
 {
-    boost::unit_test::test_suite::test_suite* test = BOOST_TEST_SUITE( "FiltersTest" );
+    boost::unit_test::test_suite* test = BOOST_TEST_SUITE( "FiltersTest" );
 
     test->add( BOOST_TEST_CASE( &LineIterator1DTest ) );
     test->add( BOOST_TEST_CASE( &LineIterator2DTest ) );
diff --git a/modules/img/alg/tests/test_utils.hh b/modules/img/alg/tests/test_utils.hh
index 0eb527642..26687e164 100644
--- a/modules/img/alg/tests/test_utils.hh
+++ b/modules/img/alg/tests/test_utils.hh
@@ -27,7 +27,8 @@
 
 #include <iostream>
 
-#include <boost/test/test_tools.hpp>
+#define BOOST_TEST_DYN_LINK
+#include <boost/test/unit_test.hpp>
 
 //#include <img/base.hh>
 #include <ost/img/image_state.hh>
diff --git a/modules/img/alg/tests/tests.hh b/modules/img/alg/tests/tests.hh
index 46ff55ebf..97b66c8a9 100644
--- a/modules/img/alg/tests/tests.hh
+++ b/modules/img/alg/tests/tests.hh
@@ -22,5 +22,6 @@
   Author: Ansgar Philippsen
 */
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
diff --git a/modules/img/base/src/function_base.hh b/modules/img/base/src/function_base.hh
index efb654bd2..6360ac36b 100644
--- a/modules/img/base/src/function_base.hh
+++ b/modules/img/base/src/function_base.hh
@@ -27,6 +27,7 @@
 #ifndef IMG_FUNCTION_BASE_H
 #define IMG_FUNCTION_BASE_H
 
+#include "module_config.hh"
 #include "data.hh"
 #include "data_observer.hh"
 #include "observable.hh"
diff --git a/modules/img/base/src/image_state/image_state_visitor.hh b/modules/img/base/src/image_state/image_state_visitor.hh
index 7fc7c7e50..408941d9c 100644
--- a/modules/img/base/src/image_state/image_state_visitor.hh
+++ b/modules/img/base/src/image_state/image_state_visitor.hh
@@ -299,7 +299,7 @@ public:
   See also common algorithms, e.g. img::alg::Stat
 */
 template <class FNC>
-class DLLEXPORT_OST_IMG_BASE ImageStateNonModVisitor: public FNC, public ImageStateNonModVisitorBase {
+class DLLEXPORT ImageStateNonModVisitor: public FNC, public ImageStateNonModVisitorBase {
 public:
   
   IMAGE_STATE_VISITOR_CTOR_ADAPTERS(ImageStateNonModVisitor)
@@ -354,7 +354,7 @@ public:
 
 */
 template <class FNC>
-class DLLEXPORT_OST_IMG_BASE ImageStateModIPVisitor: public FNC, public ImageStateModIPVisitorBase {
+class DLLEXPORT ImageStateModIPVisitor: public FNC, public ImageStateModIPVisitorBase {
 public:
   IMAGE_STATE_VISITOR_CTOR_ADAPTERS(ImageStateModIPVisitor)
 
@@ -461,7 +461,7 @@ public:
 
 */
 template <class FNC>
-class DLLEXPORT_OST_IMG_BASE ImageStateModOPVisitor: public FNC, public ImageStateModOPVisitorBase {
+class DLLEXPORT ImageStateModOPVisitor: public FNC, public ImageStateModOPVisitorBase {
 public:
 
   IMAGE_STATE_VISITOR_CTOR_ADAPTERS(ImageStateModOPVisitor)
diff --git a/modules/img/base/src/null_function.hh b/modules/img/base/src/null_function.hh
index 29087c848..232438243 100644
--- a/modules/img/base/src/null_function.hh
+++ b/modules/img/base/src/null_function.hh
@@ -27,6 +27,7 @@
 #ifndef IMG_NULL_FUNCTION_H
 #define IMG_NULL_FUNCTION_H
 
+#include "module_config.hh"
 #include "function_base.hh"
 
 namespace ost { namespace img {
@@ -36,7 +37,7 @@ namespace ost { namespace img {
   Implements Function interface, will always
   return zero
 */
-class DLLEXPORT_OST_IMG_BASE NullFunction: public Function {
+class DLLEXPORT NullFunction: public Function {
 public:
   NullFunction():
     Function(SPATIAL) 
@@ -47,6 +48,8 @@ public:
   virtual Real GetIntpolReal(const Vec3& v) const {return 0.0;}
 
   virtual Complex GetIntpolComplex(const Vec3& v) const {return Complex(0.0,0.0);}
+  
+  virtual ~NullFunction(){};
 };
 
 }} // namespace
diff --git a/modules/img/base/src/observable.hh b/modules/img/base/src/observable.hh
index 77c004110..831d1c8ea 100644
--- a/modules/img/base/src/observable.hh
+++ b/modules/img/base/src/observable.hh
@@ -39,7 +39,7 @@ namespace ost { namespace img {
   and ObserverUpdate
 */
 template <class T>
-class DLLEXPORT_OST_IMG_BASE Observable {
+class DLLEXPORT Observable {
   typedef std::list<T *> ObserverList;
   typedef typename ObserverList::iterator ObserverIter;
   typedef typename ObserverList::const_iterator ObserverConstIter;
diff --git a/modules/img/base/tests/CMakeLists.txt b/modules/img/base/tests/CMakeLists.txt
index b51491b9d..420287a47 100644
--- a/modules/img/base/tests/CMakeLists.txt
+++ b/modules/img/base/tests/CMakeLists.txt
@@ -17,6 +17,6 @@ tests.cc
 
 
 ost_unittest(img "${OST_IMG_BASE_UNIT_TESTS}")
-if(NOT WIN32)
+
 target_link_libraries(img_tests ost_img_alg)
-endif()
+
diff --git a/modules/img/base/tests/test_data.hh b/modules/img/base/tests/test_data.hh
index 1e72598ed..34f80f1d8 100644
--- a/modules/img/base/tests/test_data.hh
+++ b/modules/img/base/tests/test_data.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_DATA_H
 #define IMG_TEST_DATA_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_domains.cc b/modules/img/base/tests/test_domains.cc
index 05cf10217..8a8d22935 100644
--- a/modules/img/base/tests/test_domains.cc
+++ b/modules/img/base/tests/test_domains.cc
@@ -24,6 +24,7 @@
 
 #include <sstream>
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_extent.hh b/modules/img/base/tests/test_extent.hh
index 4d452b217..75eb950c4 100644
--- a/modules/img/base/tests/test_extent.hh
+++ b/modules/img/base/tests/test_extent.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_EXTENT_H
 #define IMG_TEST_EXTENT_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_function.hh b/modules/img/base/tests/test_function.hh
index 4e1d05295..c0c9f509c 100644
--- a/modules/img/base/tests/test_function.hh
+++ b/modules/img/base/tests/test_function.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_FUNCTION_H
 #define IMG_TEST_FUNCTION_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_image.hh b/modules/img/base/tests/test_image.hh
index 7120d2338..a8119a975 100644
--- a/modules/img/base/tests/test_image.hh
+++ b/modules/img/base/tests/test_image.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_IMAGE_H
 #define IMG_TEST_IMAGE_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_image_factory.hh b/modules/img/base/tests/test_image_factory.hh
index 6912f1369..aeaffb84e 100644
--- a/modules/img/base/tests/test_image_factory.hh
+++ b/modules/img/base/tests/test_image_factory.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_IMAGE_FACTORY_H
 #define IMG_TEST_IMAGE_FACTORY_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_image_impl.hh b/modules/img/base/tests/test_image_impl.hh
index 5cbee44f5..10effda5f 100644
--- a/modules/img/base/tests/test_image_impl.hh
+++ b/modules/img/base/tests/test_image_impl.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_IMAGE_IMPL_H
 #define IMG_TEST_IMAGE_IMPL_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_image_state.hh b/modules/img/base/tests/test_image_state.hh
index b288c5a04..13735a9ad 100644
--- a/modules/img/base/tests/test_image_state.hh
+++ b/modules/img/base/tests/test_image_state.hh
@@ -25,6 +25,7 @@
 #ifndef TEST_IMAGE_STATE_H
 #define TEST_IMAGE_STATE_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_image_state_visitor.hh b/modules/img/base/tests/test_image_state_visitor.hh
index 6cbe26de8..a85f5130e 100644
--- a/modules/img/base/tests/test_image_state_visitor.hh
+++ b/modules/img/base/tests/test_image_state_visitor.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_IMAGE_STATE_VISITOR_H
 #define IMG_TEST_IMAGE_STATE_VISITOR_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_index.hh b/modules/img/base/tests/test_index.hh
index 5056c4db2..9c21122b2 100644
--- a/modules/img/base/tests/test_index.hh
+++ b/modules/img/base/tests/test_index.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_INDEX_H
 #define IMG_TEST_INDEX_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_point.hh b/modules/img/base/tests/test_point.hh
index 1c5d20a57..6b790bc07 100644
--- a/modules/img/base/tests/test_point.hh
+++ b/modules/img/base/tests/test_point.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_POINT_H
 #define IMG_TEST_POINT_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_sampling.hh b/modules/img/base/tests/test_sampling.hh
index 6854438fc..cb808f567 100644
--- a/modules/img/base/tests/test_sampling.hh
+++ b/modules/img/base/tests/test_sampling.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_SAMPLING_H
 #define IMG_TEST_SAMPLING_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_size.hh b/modules/img/base/tests/test_size.hh
index 2a35c3e85..61b456f29 100644
--- a/modules/img/base/tests/test_size.hh
+++ b/modules/img/base/tests/test_size.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_SIZE_H
 #define IMG_TEST_SIZE_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_transform.hh b/modules/img/base/tests/test_transform.hh
index cf6b002f7..2569640d5 100644
--- a/modules/img/base/tests/test_transform.hh
+++ b/modules/img/base/tests/test_transform.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_TRANSFORM_H
 #define IMG_TEST_TRANSFORM_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
diff --git a/modules/img/base/tests/test_value_holder.hh b/modules/img/base/tests/test_value_holder.hh
index 6f2de7bb2..ecf2d998d 100644
--- a/modules/img/base/tests/test_value_holder.hh
+++ b/modules/img/base/tests/test_value_holder.hh
@@ -25,6 +25,7 @@
 #ifndef IMG_TEST_VALUE_HOLDER_H
 #define IMG_TEST_VALUE_HOLDER_H
 
+#define BOOST_TEST_DYN_LINK
 #include <boost/test/unit_test.hpp>
 using boost::unit_test_framework::test_suite;
 
-- 
GitLab