cmake: Do not build the chef_wrap example on OSX.
[platform/upstream/cmocka.git] / example / CMakeLists.txt
1 project(cmocka-examples C)
2
3 include_directories(
4     ${CMAKE_BINARY_DIR}
5     ${CMAKE_CURRENT_SOURCE_DIR}
6     ${CMOCKA_PUBLIC_INCLUDE_DIRS}
7 )
8
9 set_source_files_properties(
10     calculator.c
11     allocate_module.c
12     assert_module.c
13     PROPERTIES
14         COMPILE_DEFINITIONS UNIT_TESTING=1)
15
16 ### The most simple test
17 add_executable(simple_test simple_test.c)
18 target_link_libraries(simple_test ${CMOCKA_SHARED_LIBRARY})
19
20 add_test(simple_test ${CMAKE_CURRENT_BINARY_DIR}/simple_test)
21
22 add_executable(calculator_test calculator.c calculator_test.c)
23 target_link_libraries(calculator_test ${CMOCKA_SHARED_LIBRARY})
24
25 add_test(calculator_test ${CMAKE_CURRENT_BINARY_DIR}/calculator_test)
26
27 add_executable(allocate_module_test allocate_module.c allocate_module_test.c)
28 target_link_libraries(allocate_module_test ${CMOCKA_SHARED_LIBRARY})
29
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)
32 set_tests_properties(
33     allocate_module_test
34         PROPERTIES
35         PASS_REGULAR_EXPRESSION
36         "\\[  FAILED  \\] 3 test"
37 )
38
39 add_executable(assert_macro_test assert_macro.c assert_macro_test.c)
40 target_link_libraries(assert_macro_test ${CMOCKA_SHARED_LIBRARY})
41
42 add_test(assert_macro_test ${CMAKE_CURRENT_BINARY_DIR}/assert_macro_test)
43 set_tests_properties(
44     assert_macro_test
45         PROPERTIES
46         PASS_REGULAR_EXPRESSION
47         "\\[  FAILED  \\] 2 test"
48 )
49
50 add_executable(assert_module_test assert_module.c assert_module_test.c)
51 target_link_libraries(assert_module_test ${CMOCKA_SHARED_LIBRARY})
52
53 add_test(assert_module_test ${CMAKE_CURRENT_BINARY_DIR}/assert_module_test)
54 set_tests_properties(
55     assert_module_test
56         PROPERTIES
57         PASS_REGULAR_EXPRESSION
58         "\\[  FAILED  \\] 2 test"
59 )
60
61 add_executable(customer_database_test customer_database.c customer_database_test.c)
62 target_link_libraries(customer_database_test ${CMOCKA_SHARED_LIBRARY})
63
64 add_test(customer_database_test ${CMAKE_CURRENT_BINARY_DIR}/customer_database_test)
65
66 add_executable(key_value_test key_value.c key_value_test.c)
67 target_link_libraries(key_value_test ${CMOCKA_SHARED_LIBRARY})
68
69 add_test(key_value_test ${CMAKE_CURRENT_BINARY_DIR}/key_value_test)
70
71 add_executable(product_database_test product_database.c product_database_test.c)
72 target_link_libraries(product_database_test ${CMOCKA_SHARED_LIBRARY})
73
74 add_test(product_database_test ${CMAKE_CURRENT_BINARY_DIR}/product_database_test)
75 set_tests_properties(
76     product_database_test
77         PROPERTIES
78         PASS_REGULAR_EXPRESSION
79         "\\[  FAILED  \\] 2 test"
80 )
81
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)
85 endif()