summaryrefslogtreecommitdiff
path: root/test/unit/CMakeLists.txt
blob: f91c5b35e2353cfaf068138e7bb97e51729478bd (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
include_directories(.)
include_directories(${PROJECT_SOURCE_DIR}/src)
include_directories(${PROJECT_SOURCE_DIR}/src/include)
include_directories(${CMAKE_BINARY_DIR}/src)

add_custom_target(units COMMAND ctest -L "unit" $(ARGS))

set(CVC4_CXXTEST_FLAGS_BLACK
  -D__BUILDING_CVC4LIB_UNIT_TEST -D__BUILDING_CVC4PARSERLIB_UNIT_TEST
  -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS)
set(CVC4_CXXTEST_FLAGS_WHITE -fno-access-control ${CVC4_CXXTEST_FLAGS_BLACK})

macro(cvc4_add_unit_test is_white name)
  cxxtest_add_test(${name} ${name}.cpp ${CMAKE_CURRENT_LIST_DIR}/${name}.h)
  set_tests_properties(${name} PROPERTIES LABELS "unit")
  target_link_libraries(${name} main)
  target_compile_definitions(${name} PRIVATE ${CVC4_CXXTEST_FLAGS_BLACK})
  if(${is_white})
    target_compile_options(${name} PRIVATE -fno-access-control)
  endif()
  # Disable the Wsuggest-override warnings for the unit tests. CxxTest generates
  # code that does not properly add the override keyword to runTest().
  target_compile_options(${name} PRIVATE -Wno-suggest-override)
  add_dependencies(units ${name})
  if(ENABLE_COVERAGE)
    add_dependencies(coverage ${name})
  endif()
endmacro()

macro(cvc4_add_unit_test_black name)
  cvc4_add_unit_test(FALSE ${name})
endmacro()
macro(cvc4_add_unit_test_white name)
  cvc4_add_unit_test(TRUE ${name})
endmacro()

add_subdirectory(base)
add_subdirectory(context)
add_subdirectory(expr)
add_subdirectory(main)
add_subdirectory(parser)
add_subdirectory(prop)
add_subdirectory(theory)
add_subdirectory(util)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback