1 project(cmocka-examples C)
5 ${CMAKE_CURRENT_SOURCE_DIR}
6 ${CMOCKA_PUBLIC_INCLUDE_DIRS}
9 set_source_files_properties(
14 COMPILE_DEFINITIONS UNIT_TESTING=1)
16 ### The most simple test
17 add_executable(simple_test simple_test.c)
18 target_link_libraries(simple_test ${CMOCKA_SHARED_LIBRARY})
20 add_test(simple_test ${CMAKE_CURRENT_BINARY_DIR}/simple_test)
22 add_executable(calculator_test calculator.c calculator_test.c)
23 target_link_libraries(calculator_test ${CMOCKA_SHARED_LIBRARY})
25 add_test(calculator_test ${CMAKE_CURRENT_BINARY_DIR}/calculator_test)
27 add_executable(allocate_module_test allocate_module.c allocate_module_test.c)
28 target_link_libraries(allocate_module_test ${CMOCKA_SHARED_LIBRARY})
30 # This is a test that should detect leaks and overflows and will fail for that
31 add_test(allocate_module_test ${CMAKE_CURRENT_BINARY_DIR}/allocate_module_test)
35 PASS_REGULAR_EXPRESSION
36 "\\[ FAILED \\] 3 test"
39 add_executable(assert_macro_test assert_macro.c assert_macro_test.c)
40 target_link_libraries(assert_macro_test ${CMOCKA_SHARED_LIBRARY})
42 add_test(assert_macro_test ${CMAKE_CURRENT_BINARY_DIR}/assert_macro_test)
46 PASS_REGULAR_EXPRESSION
47 "\\[ FAILED \\] 2 test"
50 add_executable(assert_module_test assert_module.c assert_module_test.c)
51 target_link_libraries(assert_module_test ${CMOCKA_SHARED_LIBRARY})
53 add_test(assert_module_test ${CMAKE_CURRENT_BINARY_DIR}/assert_module_test)
57 PASS_REGULAR_EXPRESSION
58 "\\[ FAILED \\] 2 test"
61 add_executable(customer_database_test customer_database.c customer_database_test.c)
62 target_link_libraries(customer_database_test ${CMOCKA_SHARED_LIBRARY})
64 add_test(customer_database_test ${CMAKE_CURRENT_BINARY_DIR}/customer_database_test)
66 add_executable(key_value_test key_value.c key_value_test.c)
67 target_link_libraries(key_value_test ${CMOCKA_SHARED_LIBRARY})
69 add_test(key_value_test ${CMAKE_CURRENT_BINARY_DIR}/key_value_test)
71 add_executable(product_database_test product_database.c product_database_test.c)
72 target_link_libraries(product_database_test ${CMOCKA_SHARED_LIBRARY})
74 add_test(product_database_test ${CMAKE_CURRENT_BINARY_DIR}/product_database_test)
78 PASS_REGULAR_EXPRESSION
79 "\\[ FAILED \\] 2 test"
82 # TODO Execute "$CMAKE_LINKER --help" and check for --wrap
83 if (${CMAKE_C_COMPILER_ID} MATCHES "(GNU|Clang)" AND NOT APPLE)
84 add_subdirectory(chef_wrap)