ENABLE_TESTING() SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") FIND_PROGRAM(GTESTER_BIN gtester) IF(NOT GTESTER_BIN) MESSAGE(FATAL_ERROR "Binary 'gtester' is required for testing!") ENDIF() INCLUDE_DIRECTORIES(. ../src/libwebvi) FIND_PACKAGE(LibXml2 REQUIRED) FIND_PACKAGE(CURL REQUIRED) FIND_PACKAGE(LibTidy REQUIRED) FIND_PACKAGE(PkgConfig) PKG_CHECK_MODULES(GLIB REQUIRED glib-2.0) ADD_DEFINITIONS(${GLIB_CFLAGS} ${GLIB_CFLAGS_OTHER}) LINK_DIRECTORIES(${GLIB_LIBRARY_DIRS}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${GLIB_INCLUDE_DIRS}) ADD_DEFINITIONS( -DTEST_DATA_DIR="${CMAKE_SOURCE_DIR}/tests/data") ADD_EXECUTABLE(libwebvi_tests libwebvi_tests.c context_tests.c linktemplates_tests.c linkextractor_tests.c menubuilder_tests.c pipe_tests.c urlutils_tests.c) TARGET_LINK_LIBRARIES(libwebvi_tests webvistatic ${GLIB_LIBRARIES} ${LIBXML2_LIBRARIES} ${CURL_LIBRARIES} ${LIBTIDY_LIBRARIES}) ADD_TEST(unittests ${GTESTER_BIN} -k -o testresults.xml ${CMAKE_CURRENT_BINARY_DIR}/libwebvi_tests) SET_TESTS_PROPERTIES(unittests PROPERTIES PASS_REGULAR_EXPRESSION "PASS:") SET_TESTS_PROPERTIES(unittests PROPERTIES FAIL_REGULAR_EXPRESSION "ERROR:")