Merge release-4-6 (commit 'Ic142a690')
[alexxy/gromacs.git] / src / testutils / TestMacros.cmake
1 function (gmx_add_unit_test NAME EXENAME)
2     if (GMX_BUILD_UNITTESTS AND BUILD_TESTING)
3         include_directories(${GMOCK_INCLUDE_DIRS})
4         add_executable(${EXENAME} ${ARGN} ${TESTUTILS_DIR}/unittest_main.cpp)
5         target_link_libraries(${EXENAME} libgromacs ${TESTUTILS_LIBS} ${GMOCK_LIBRARIES})
6         get_target_property(DEFS ${EXENAME} COMPILE_DEFINITIONS)
7         if (NOT DEFS)
8             set(DEFS)
9         endif ()
10         list(APPEND DEFS TEST_DATA_PATH="${CMAKE_CURRENT_SOURCE_DIR}")
11         set_target_properties(${EXENAME} PROPERTIES COMPILE_DEFINITIONS ${DEFS})
12         add_test(NAME ${NAME}
13                  COMMAND ${EXENAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/Testing/Temporary/${EXENAME}.xml)
14         set_tests_properties(${NAME} PROPERTIES LABELS "GTest")
15         add_dependencies(tests ${EXENAME})
16     endif ()
17 endfunction ()