summaryrefslogtreecommitdiff
path: root/cmake/tests.cmake
blob: edc2987cac2a809018356f318dec463e7dd44452 (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
25
26
27
28
29
30
include(CTest) # Sets BUILD_TESTING by default to on.
include(utils/TestUtils)

# Test configuration options
include(config/tests)
include(utils/DisableTestLogging)

if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME AND BUILD_TESTING)
  set(BUILD_TESTS ON)
else()
  set(BUILD_TESTS OFF)
endif()

add_custom_target(build_tests)

if(BUILD_TESTS)
  add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
  add_dependencies(check build_tests)
endif()

# Test subdirectories are added from their parent CMakeLists.txt files
# via add_subdirectory(tests) - keeping tests with their source code

# Coverage target setup (called after all targets are defined)
function(setup_coverage_target)
  if(BUILD_TESTS)
    include(utils/GenCoverage)
    create_coverage_target()
  endif()
endfunction()