summaryrefslogtreecommitdiff
path: root/tests/unit/CMakeLists.txt
blob: d6c41a05b4d9ce891cf9e4fb5d7338842223371c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if ("${GMOCK_SOURCE_DIR}" STREQUAL "")
    message (WARNING "GMOCK_SOURCE_DIR variable not set - unit-tests are not available. Use '-DGMOCK_SOURCE_DIR=<path_to_gmock_sources>' param for CMake")
else ()
    # Clang and GCC 4.9+ cause errors on GMock/GTest compilation, so we are adding following flags to suppress them
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers")
    if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-private-field")
    endif ()
    set (gmock_force_shared_crt true CACHE INTERNAL "")
    set (BUILD_SHARED_LIBS false CACHE INTERNAL "")
    add_definitions (-DGTEST_HAS_PTHREAD=1) # It fixes BUG in GTests in BSD
    add_subdirectory (${GMOCK_SOURCE_DIR} ${CMAKE_BINARY_DIR}/gmock)
    set (GMOCK_LIBRARIES gmock gmock_main)
    set (GMOCK_INCLUDE_DIRS "${GMOCK_SOURCE_DIR}/include"
        "${GMOCK_SOURCE_DIR}/gtest/include"
        "${GMOCK_SOURCE_DIR}")

    include_directories (${CMAKE_SOURCE_DIR}/src ${GMOCK_INCLUDE_DIRS})

    add_subdirectory (utils)
    add_subdirectory (analyzers)
    add_subdirectory (protocols)
    add_subdirectory (filtration)
endif ()