blob: a744ee98bfee0729a00567fef27d007bb0a894d7 [file] [log] [blame]
Guillaume Chatelet439d3712018-02-01 10:03:09 +01001#
2# libraries for tests
3#
4
5set(CMAKE_CXX_STANDARD 11)
Guillaume Chatelet9f3b0242018-02-08 17:08:52 +01006set(CMAKE_CXX_STANDARD_REQUIRED ON)
Guillaume Chatelet439d3712018-02-01 10:03:09 +01007set(CMAKE_CXX_EXTENSIONS OFF) # prefer use of -std11 instead of -gnustd11
8
9include_directories(../include)
10add_definitions(-DCPU_FEATURES_TEST)
11
12##------------------------------------------------------------------------------
13add_library(string_view ../src/string_view.c)
14##------------------------------------------------------------------------------
15add_library(filesystem_for_testing filesystem_for_testing.cc)
Guillaume Chatelete8e56102019-01-15 10:52:56 +010016target_compile_definitions(filesystem_for_testing PUBLIC CPU_FEATURES_MOCK_FILESYSTEM)
Guillaume Chatelet439d3712018-02-01 10:03:09 +010017##------------------------------------------------------------------------------
18add_library(hwcaps_for_testing hwcaps_for_testing.cc)
Guillaume Chatelete8e56102019-01-15 10:52:56 +010019target_compile_definitions(hwcaps_for_testing PUBLIC CPU_FEATURES_MOCK_GET_ELF_HWCAP_FROM_GETAUXVAL)
Guillaume Chatelet439d3712018-02-01 10:03:09 +010020target_link_libraries(hwcaps_for_testing filesystem_for_testing)
21##------------------------------------------------------------------------------
22add_library(stack_line_reader ../src/stack_line_reader.c)
23target_compile_definitions(stack_line_reader PUBLIC STACK_LINE_READER_BUFFER_SIZE=1024)
24target_link_libraries(stack_line_reader string_view)
25##------------------------------------------------------------------------------
26add_library(stack_line_reader_for_test ../src/stack_line_reader.c)
27target_compile_definitions(stack_line_reader_for_test PUBLIC STACK_LINE_READER_BUFFER_SIZE=16)
28target_link_libraries(stack_line_reader_for_test string_view filesystem_for_testing)
29##------------------------------------------------------------------------------
Guillaume Chateletdfdac6a2019-01-17 18:00:21 +010030add_library(all_libraries ../src/stack_line_reader.c ../src/unix_features_aggregator.c)
Guillaume Chatelet439d3712018-02-01 10:03:09 +010031target_link_libraries(all_libraries hwcaps_for_testing stack_line_reader string_view)
32
33#
34# tests
35#
36link_libraries(gtest gmock_main)
37
38## bit_utils_test
39add_executable(bit_utils_test bit_utils_test.cc)
40target_link_libraries(bit_utils_test)
41add_test(NAME bit_utils_test COMMAND bit_utils_test)
42##------------------------------------------------------------------------------
43## string_view_test
44add_executable(string_view_test string_view_test.cc ../src/string_view.c)
45target_link_libraries(string_view_test string_view)
46add_test(NAME string_view_test COMMAND string_view_test)
47##------------------------------------------------------------------------------
48## stack_line_reader_test
49add_executable(stack_line_reader_test stack_line_reader_test.cc)
50target_link_libraries(stack_line_reader_test stack_line_reader_for_test)
51add_test(NAME stack_line_reader_test COMMAND stack_line_reader_test)
52##------------------------------------------------------------------------------
Guillaume Chateletdfdac6a2019-01-17 18:00:21 +010053## unix_features_aggregator_test
54add_executable(unix_features_aggregator_test unix_features_aggregator_test.cc)
55target_link_libraries(unix_features_aggregator_test all_libraries)
56add_test(NAME unix_features_aggregator_test COMMAND unix_features_aggregator_test)
Guillaume Chatelet439d3712018-02-01 10:03:09 +010057##------------------------------------------------------------------------------
58## cpuinfo_x86_test
Guillaume Chatelet4155ee72019-01-18 13:38:22 +010059if(PROCESSOR_IS_X86)
60 add_executable(cpuinfo_x86_test cpuinfo_x86_test.cc ../src/cpuinfo_x86.c)
61 target_compile_definitions(cpuinfo_x86_test PUBLIC CPU_FEATURES_MOCK_CPUID_X86)
62 target_link_libraries(cpuinfo_x86_test all_libraries)
63 add_test(NAME cpuinfo_x86_test COMMAND cpuinfo_x86_test)
Guillaume Chatelete8e56102019-01-15 10:52:56 +010064endif()
Guillaume Chatelet439d3712018-02-01 10:03:09 +010065##------------------------------------------------------------------------------
66## cpuinfo_arm_test
Guillaume Chatelet4155ee72019-01-18 13:38:22 +010067if(PROCESSOR_IS_ARM)
68 add_executable(cpuinfo_arm_test cpuinfo_arm_test.cc ../src/cpuinfo_arm.c)
69 target_link_libraries(cpuinfo_arm_test all_libraries)
70 add_test(NAME cpuinfo_arm_test COMMAND cpuinfo_arm_test)
71endif()
Guillaume Chatelet439d3712018-02-01 10:03:09 +010072##------------------------------------------------------------------------------
73## cpuinfo_aarch64_test
Guillaume Chatelet4155ee72019-01-18 13:38:22 +010074if(PROCESSOR_IS_AARCH64)
75 add_executable(cpuinfo_aarch64_test cpuinfo_aarch64_test.cc ../src/cpuinfo_aarch64.c)
76 target_link_libraries(cpuinfo_aarch64_test all_libraries)
77 add_test(NAME cpuinfo_aarch64_test COMMAND cpuinfo_aarch64_test)
78endif()
Guillaume Chatelet439d3712018-02-01 10:03:09 +010079##------------------------------------------------------------------------------
80## cpuinfo_mips_test
Guillaume Chatelet4155ee72019-01-18 13:38:22 +010081if(PROCESSOR_IS_MIPS)
82 add_executable(cpuinfo_mips_test cpuinfo_mips_test.cc ../src/cpuinfo_mips.c)
83 target_link_libraries(cpuinfo_mips_test all_libraries)
84 add_test(NAME cpuinfo_mips_test COMMAND cpuinfo_mips_test)
85endif()
Rashmica Gupta3adafbf2018-04-23 10:46:47 +100086##------------------------------------------------------------------------------
87## cpuinfo_ppc_test
Guillaume Chatelet4155ee72019-01-18 13:38:22 +010088if(PROCESSOR_IS_POWER)
89 add_executable(cpuinfo_ppc_test cpuinfo_ppc_test.cc ../src/cpuinfo_ppc.c)
90 target_link_libraries(cpuinfo_ppc_test all_libraries)
91 add_test(NAME cpuinfo_ppc_test COMMAND cpuinfo_ppc_test)
92endif()