1# 2# libraries for tests 3# 4 5include_directories(../include) 6add_definitions(-DCPU_FEATURES_TEST) 7 8##------------------------------------------------------------------------------ 9add_library(string_view ../src/string_view.c) 10##------------------------------------------------------------------------------ 11add_library(filesystem_for_testing filesystem_for_testing.cc) 12target_compile_definitions(filesystem_for_testing PUBLIC CPU_FEATURES_MOCK_FILESYSTEM) 13##------------------------------------------------------------------------------ 14add_library(hwcaps_for_testing hwcaps_for_testing.cc) 15target_link_libraries(hwcaps_for_testing filesystem_for_testing) 16##------------------------------------------------------------------------------ 17add_library(stack_line_reader ../src/stack_line_reader.c) 18target_compile_definitions(stack_line_reader PUBLIC STACK_LINE_READER_BUFFER_SIZE=1024) 19target_link_libraries(stack_line_reader string_view) 20##------------------------------------------------------------------------------ 21add_library(stack_line_reader_for_test ../src/stack_line_reader.c) 22target_compile_definitions(stack_line_reader_for_test PUBLIC STACK_LINE_READER_BUFFER_SIZE=16) 23target_link_libraries(stack_line_reader_for_test string_view filesystem_for_testing) 24##------------------------------------------------------------------------------ 25add_library(all_libraries ../src/hwcaps.c ../src/stack_line_reader.c) 26target_link_libraries(all_libraries hwcaps_for_testing stack_line_reader string_view) 27 28# 29# tests 30# 31link_libraries(gtest gmock_main) 32 33## bit_utils_test 34add_executable(bit_utils_test bit_utils_test.cc) 35target_link_libraries(bit_utils_test) 36add_test(NAME bit_utils_test COMMAND bit_utils_test) 37##------------------------------------------------------------------------------ 38## string_view_test 39add_executable(string_view_test string_view_test.cc ../src/string_view.c) 40target_link_libraries(string_view_test string_view) 41add_test(NAME string_view_test COMMAND string_view_test) 42##------------------------------------------------------------------------------ 43## stack_line_reader_test 44add_executable(stack_line_reader_test stack_line_reader_test.cc) 45target_link_libraries(stack_line_reader_test stack_line_reader_for_test) 46add_test(NAME stack_line_reader_test COMMAND stack_line_reader_test) 47##------------------------------------------------------------------------------ 48## cpuinfo_x86_test 49if(PROCESSOR_IS_X86) 50 add_executable(cpuinfo_x86_test 51 cpuinfo_x86_test.cc 52 ../src/impl_x86_freebsd.c 53 ../src/impl_x86_linux_or_android.c 54 ../src/impl_x86_macos.c 55 ../src/impl_x86_windows.c 56 ) 57 target_compile_definitions(cpuinfo_x86_test PUBLIC CPU_FEATURES_MOCK_CPUID_X86) 58 if(APPLE) 59 target_compile_definitions(cpuinfo_x86_test PRIVATE HAVE_SYSCTLBYNAME) 60 endif() 61 target_link_libraries(cpuinfo_x86_test all_libraries) 62 add_test(NAME cpuinfo_x86_test COMMAND cpuinfo_x86_test) 63endif() 64##------------------------------------------------------------------------------ 65## cpuinfo_arm_test 66if(PROCESSOR_IS_ARM) 67 add_executable(cpuinfo_arm_test cpuinfo_arm_test.cc ../src/impl_arm_linux_or_android.c) 68 target_link_libraries(cpuinfo_arm_test all_libraries) 69 add_test(NAME cpuinfo_arm_test COMMAND cpuinfo_arm_test) 70endif() 71##------------------------------------------------------------------------------ 72## cpuinfo_aarch64_test 73if(PROCESSOR_IS_AARCH64) 74 add_executable(cpuinfo_aarch64_test 75 cpuinfo_aarch64_test.cc 76 ../src/impl_aarch64_linux_or_android.c 77 ../src/impl_aarch64_windows.c 78 ../src/impl_aarch64_macos_or_iphone.c 79 ) 80 if(APPLE) 81 target_compile_definitions(cpuinfo_aarch64_test PUBLIC CPU_FEATURES_MOCK_SYSCTL_AARCH64) 82 target_compile_definitions(cpuinfo_aarch64_test PRIVATE HAVE_SYSCTLBYNAME) 83 else() 84 target_compile_definitions(cpuinfo_aarch64_test PUBLIC CPU_FEATURES_MOCK_CPUID_AARCH64) 85 endif() 86 target_link_libraries(cpuinfo_aarch64_test all_libraries) 87 add_test(NAME cpuinfo_aarch64_test COMMAND cpuinfo_aarch64_test) 88endif() 89##------------------------------------------------------------------------------ 90## cpuinfo_mips_test 91if(PROCESSOR_IS_MIPS) 92 add_executable(cpuinfo_mips_test cpuinfo_mips_test.cc ../src/impl_mips_linux_or_android.c) 93 target_link_libraries(cpuinfo_mips_test all_libraries) 94 add_test(NAME cpuinfo_mips_test COMMAND cpuinfo_mips_test) 95endif() 96##------------------------------------------------------------------------------ 97## cpuinfo_ppc_test 98if(PROCESSOR_IS_POWER) 99 add_executable(cpuinfo_ppc_test cpuinfo_ppc_test.cc ../src/impl_ppc_linux.c) 100 target_link_libraries(cpuinfo_ppc_test all_libraries) 101 add_test(NAME cpuinfo_ppc_test COMMAND cpuinfo_ppc_test) 102endif() 103##------------------------------------------------------------------------------ 104## cpuinfo_s390x_test 105if(PROCESSOR_IS_S390X) 106 add_executable(cpuinfo_s390x_test cpuinfo_s390x_test.cc ../src/impl_s390x_linux.c) 107 target_link_libraries(cpuinfo_s390x_test all_libraries) 108 add_test(NAME cpuinfo_s390x_test COMMAND cpuinfo_s390x_test) 109endif() 110##------------------------------------------------------------------------------ 111## cpuinfo_riscv_test 112if(PROCESSOR_IS_RISCV) 113 add_executable(cpuinfo_riscv_test cpuinfo_riscv_test.cc ../src/impl_riscv_linux.c) 114 target_link_libraries(cpuinfo_riscv_test all_libraries) 115 add_test(NAME cpuinfo_riscv_test COMMAND cpuinfo_riscv_test) 116endif() 117##------------------------------------------------------------------------------ 118## cpuinfo_loongarch_test 119if(PROCESSOR_IS_LOONGARCH) 120 add_executable(cpuinfo_loongarch_test cpuinfo_loongarch_test.cc ../src/impl_loongarch_linux.c) 121 target_link_libraries(cpuinfo_loongarch_test all_libraries) 122 add_test(NAME cpuinfo_loongarch_test COMMAND cpuinfo_loongarch_test) 123endif() 124 125