diff --git a/cmake_support/OST.cmake b/cmake_support/OST.cmake
index 0439fbb6717df442f7d89cb73bfef612d2095725..82be3411f155a7c8a972b71cee34ecdd6d225879 100644
--- a/cmake_support/OST.cmake
+++ b/cmake_support/OST.cmake
@@ -532,8 +532,11 @@ endif()
 #
 # define a unit test
 #-------------------------------------------------------------------------------
-macro(ost_unittest MODULE SOURCE_FILES)
-    set(_SOURCES ${SOURCE_FILES})
+macro(ost_unittest)
+  set(_ARG_PREFIX ost)
+  parse_argument_list(_ARG 
+                      "MODULE;PREFIX;SOURCES" "" ${ARGN})
+    set(_SOURCES ${_ARG_SOURCES})
     set(CPP_TESTS)
     set(PY_TESTS)
     set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_BINARY_DIR}/tests")
@@ -545,7 +548,7 @@ macro(ost_unittest MODULE SOURCE_FILES)
      endif()
     endforeach()
     set(_SOURCES ${CPP_TESTS})
-    set(_test_name "${MODULE}_tests")
+    set(_test_name "${_ARG_MODULE}_tests")
     if(DEFINED CPP_TESTS)
       if(COMPILE_TESTS)
         add_executable(${_test_name} ${_SOURCES})
@@ -553,20 +556,20 @@ macro(ost_unittest MODULE SOURCE_FILES)
         add_executable(${_test_name} EXCLUDE_FROM_ALL ${_SOURCES})
       endif()
       if (WIN32)
-        target_link_libraries(${_test_name} ${BOOST_UNIT_TEST_LIBRARIES} "${MODULE}")  
+        target_link_libraries(${_test_name} ${BOOST_UNIT_TEST_LIBRARIES} "${_ARG_PREFIX}_${_ARG_MODULE}")  
         add_custom_target("${_test_name}_run"
                         COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${_test_name}.exe || echo
                         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/..
-                        COMMENT "running checks for module ${MODULE}"
+                        COMMENT "running checks for module ${_ARG_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}
-                            "${MODULE}")
+                            "${_ARG_PREFIX}_${_ARG_MODULE}")
         add_custom_target("${_test_name}_run"
                         COMMAND OST_ROOT=${STAGE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/${_test_name} || echo 
                         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-                        COMMENT "running checks for module ${MODULE}"
+                        COMMENT "running checks for module ${_ARG_MODULE}"
                         DEPENDS ${_test_name})
         add_test("${_test_name}" ${CMAKE_CURRENT_BINARY_DIR}/${_test_name} )
       endif()
@@ -593,7 +596,7 @@ macro(ost_unittest MODULE SOURCE_FILES)
                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
                   COMMENT "running checks ${py_test}" VERBATIM)
       endif()
-      add_dependencies("${py_test}_run" ost_scripts "_${MODULE}")
+      add_dependencies("${py_test}_run" ost_scripts "_${_ARG_PREFIX}_${_ARG_MODULE}")
       add_dependencies(check "${py_test}_run")
       if (WIN32)
         set_target_properties("${py_test}_run" PROPERTIES EXCLUDE_FROM_ALL "1")
diff --git a/modules/base/tests/CMakeLists.txt b/modules/base/tests/CMakeLists.txt
index 578618b041ae61849a619804ac730afa17f3ceab..1847b42be55ee90e0a5b094a8c9ae66a4c15885b 100644
--- a/modules/base/tests/CMakeLists.txt
+++ b/modules/base/tests/CMakeLists.txt
@@ -7,5 +7,6 @@ set(OST_BASE_UNIT_TESTS
   tests.cc
 )
 
-ost_unittest(base "${OST_BASE_UNIT_TESTS}")
+ost_unittest(MODULE base 
+             SOURCES "${OST_BASE_UNIT_TESTS}")
 target_link_libraries(base_tests ost_mol)
diff --git a/modules/bindings/tests/CMakeLists.txt b/modules/bindings/tests/CMakeLists.txt
index a93d8aeaa8b0a21c4bd0370fba5bf51a06988800..d1b344ff59ab2b6972b901c1c4f2387b4484dbe2 100644
--- a/modules/bindings/tests/CMakeLists.txt
+++ b/modules/bindings/tests/CMakeLists.txt
@@ -4,5 +4,6 @@ set(OST_BINDINGS_UNIT_TESTS
   test_blast.py
 )
 
-ost_unittest(bindings "${OST_BINDINGS_UNIT_TESTS}")
+ost_unittest(MODULE bindings 
+             SOURCES "${OST_BINDINGS_UNIT_TESTS}")
 
diff --git a/modules/conop/tests/CMakeLists.txt b/modules/conop/tests/CMakeLists.txt
index c7d40239727c5eb35b8ced9a6587150d3e5ae3c2..ef1005889917aa29b0e61fb14870dde66b1ccdab 100644
--- a/modules/conop/tests/CMakeLists.txt
+++ b/modules/conop/tests/CMakeLists.txt
@@ -5,5 +5,6 @@ set(OST_CONOP_UNIT_TESTS
   test_compound.py
 )
 
-ost_unittest(conop "${OST_CONOP_UNIT_TESTS}")
+ost_unittest(MODULE conop
+             SOURCES "${OST_CONOP_UNIT_TESTS}")
 
diff --git a/modules/geom/tests/CMakeLists.txt b/modules/geom/tests/CMakeLists.txt
index 86c40f1bb247cc73c79918e7aa5195c7491673da..7a7dace6b3ed006ba13997889693a4b3910949f8 100644
--- a/modules/geom/tests/CMakeLists.txt
+++ b/modules/geom/tests/CMakeLists.txt
@@ -14,4 +14,5 @@ set(GEOM_UNITTESTS
   test_repr.py
 )
 
-ost_unittest(geom "${GEOM_UNITTESTS}")
+ost_unittest(MODULE geom
+             SOURCES "${GEOM_UNITTESTS}")
diff --git a/modules/gfx/tests/CMakeLists.txt b/modules/gfx/tests/CMakeLists.txt
index 227b9ff8dc2f15c51408a90e6d58b0768ef86a28..1c67cb45ac6afe73bf4d316d4e48fba550253f7c 100644
--- a/modules/gfx/tests/CMakeLists.txt
+++ b/modules/gfx/tests/CMakeLists.txt
@@ -6,6 +6,7 @@ if (ENABLE_IMG)
   list(APPEND OST_GFX_UNIT_TESTS test_map_octree.cc)
 endif()
 
-ost_unittest(gfx "${OST_GFX_UNIT_TESTS}")
+ost_unittest(MODULE gfx
+             SOURCES "${OST_GFX_UNIT_TESTS}")
 
 target_link_libraries(gfx_tests ost_io)
diff --git a/modules/img/alg/tests/CMakeLists.txt b/modules/img/alg/tests/CMakeLists.txt
index 4ebb0fe482c4d051cfd0ce635d14f322da3dfd0a..cdbd8b459c114e0765bb53280f144043be34a8cc 100644
--- a/modules/img/alg/tests/CMakeLists.txt
+++ b/modules/img/alg/tests/CMakeLists.txt
@@ -17,4 +17,5 @@ test_transform.cc
 tests.cc
 )
 
-ost_unittest(img_alg "${IPLT_ALG_UNIT_TESTS}")
+ost_unittest(MODULE img_alg
+             SOURCES "${IPLT_ALG_UNIT_TESTS}")
diff --git a/modules/img/base/tests/CMakeLists.txt b/modules/img/base/tests/CMakeLists.txt
index 420287a47a44f863db056cb9ce17062c24e9f95c..a568268f5ef6fe06bfad01edcbbf244e96394dd0 100644
--- a/modules/img/base/tests/CMakeLists.txt
+++ b/modules/img/base/tests/CMakeLists.txt
@@ -16,7 +16,8 @@ tests.cc
 )
 
 
-ost_unittest(img "${OST_IMG_BASE_UNIT_TESTS}")
+ost_unittest(MODULE img
+             SOURCES "${OST_IMG_BASE_UNIT_TESTS}")
 
 target_link_libraries(img_tests ost_img_alg)
 
diff --git a/modules/io/tests/CMakeLists.txt b/modules/io/tests/CMakeLists.txt
index 22f3e2cdf5cbc696a8c2d87cfa1cbe1109748bef..cb21766c31280c3addc87111400aaa49958ba638 100644
--- a/modules/io/tests/CMakeLists.txt
+++ b/modules/io/tests/CMakeLists.txt
@@ -10,7 +10,8 @@ set(OST_IO_UNIT_TESTS
 )
 
 # missing: test_star_parser.cc
-ost_unittest(io "${OST_IO_UNIT_TESTS}")
+ost_unittest(MODULE io
+             SOURCES "${OST_IO_UNIT_TESTS}")
 target_link_libraries(io_tests ost_mol)
 target_link_libraries(io_tests ost_seq)