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)