Skip to content

Commit 2e2574e

Browse files
authored
Change test c++ standard handling
Moving from "mandatory c++14" to "at least c++14". Fixes #393.
2 parents b40318d + a2a73fa commit 2e2574e

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,6 @@ if(BUILD_TESTING)
211211
# found.
212212
enable_language(CXX)
213213

214-
set(CMAKE_CXX_STANDARD 14)
215-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
216-
set(CMAKE_CXX_EXTENSIONS OFF) # prefer use of -std14 instead of -gnustd14
217-
218214
if(NOT TARGET gtest OR NOT TARGET gmock_main)
219215
# Download and unpack googletest at configure time.
220216
configure_file(

test/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,33 @@ add_definitions(-DCPU_FEATURES_TEST)
77

88
##------------------------------------------------------------------------------
99
add_library(string_view ../src/string_view.c)
10+
target_compile_features(string_view PUBLIC cxx_std_14)
1011
##------------------------------------------------------------------------------
1112
add_library(filesystem_for_testing filesystem_for_testing.cc)
1213
target_compile_definitions(filesystem_for_testing PUBLIC CPU_FEATURES_MOCK_FILESYSTEM)
14+
target_compile_features(filesystem_for_testing PUBLIC cxx_std_14)
1315
##------------------------------------------------------------------------------
1416
add_library(hwcaps_for_testing hwcaps_for_testing.cc)
1517
target_link_libraries(hwcaps_for_testing filesystem_for_testing)
18+
target_compile_features(hwcaps_for_testing PUBLIC cxx_std_14)
1619
##------------------------------------------------------------------------------
1720
add_library(stack_line_reader ../src/stack_line_reader.c)
1821
target_compile_definitions(stack_line_reader PUBLIC STACK_LINE_READER_BUFFER_SIZE=1024)
1922
target_link_libraries(stack_line_reader string_view)
23+
target_compile_features(stack_line_reader PUBLIC cxx_std_14)
2024
##------------------------------------------------------------------------------
2125
add_library(stack_line_reader_for_test ../src/stack_line_reader.c)
2226
target_compile_definitions(stack_line_reader_for_test PUBLIC STACK_LINE_READER_BUFFER_SIZE=16)
2327
target_link_libraries(stack_line_reader_for_test string_view filesystem_for_testing)
28+
target_compile_features(stack_line_reader_for_test PUBLIC cxx_std_14)
2429
##------------------------------------------------------------------------------
2530
add_library(all_libraries
2631
../src/hwcaps.c
2732
../src/hwcaps_linux_or_android.c
2833
../src/hwcaps_freebsd_or_openbsd.c
2934
../src/stack_line_reader.c)
3035
target_link_libraries(all_libraries hwcaps_for_testing stack_line_reader string_view)
36+
target_compile_features(all_libraries PUBLIC cxx_std_14)
3137

3238
#
3339
# tests
@@ -37,16 +43,19 @@ link_libraries(gtest gmock_main)
3743
## bit_utils_test
3844
add_executable(bit_utils_test bit_utils_test.cc)
3945
target_link_libraries(bit_utils_test)
46+
target_compile_features(bit_utils_test PUBLIC cxx_std_14)
4047
add_test(NAME bit_utils_test COMMAND bit_utils_test)
4148
##------------------------------------------------------------------------------
4249
## string_view_test
4350
add_executable(string_view_test string_view_test.cc ../src/string_view.c)
4451
target_link_libraries(string_view_test string_view)
52+
target_compile_features(string_view_test PUBLIC cxx_std_14)
4553
add_test(NAME string_view_test COMMAND string_view_test)
4654
##------------------------------------------------------------------------------
4755
## stack_line_reader_test
4856
add_executable(stack_line_reader_test stack_line_reader_test.cc)
4957
target_link_libraries(stack_line_reader_test stack_line_reader_for_test)
58+
target_compile_features(stack_line_reader_test PUBLIC cxx_std_14)
5059
add_test(NAME stack_line_reader_test COMMAND stack_line_reader_test)
5160
##------------------------------------------------------------------------------
5261
## cpuinfo_x86_test
@@ -59,6 +68,7 @@ if(PROCESSOR_IS_X86)
5968
../src/impl_x86_windows.c
6069
)
6170
target_compile_definitions(cpuinfo_x86_test PUBLIC CPU_FEATURES_MOCK_CPUID_X86)
71+
target_compile_features(cpuinfo_x86_test PUBLIC cxx_std_14)
6272
if(APPLE)
6373
target_compile_definitions(cpuinfo_x86_test PRIVATE HAVE_SYSCTLBYNAME)
6474
endif()
@@ -70,6 +80,7 @@ endif()
7080
if(PROCESSOR_IS_ARM)
7181
add_executable(cpuinfo_arm_test cpuinfo_arm_test.cc ../src/impl_arm_linux_or_android.c)
7282
target_link_libraries(cpuinfo_arm_test all_libraries)
83+
target_compile_features(cpuinfo_arm_test PUBLIC cxx_std_14)
7384
add_test(NAME cpuinfo_arm_test COMMAND cpuinfo_arm_test)
7485
endif()
7586
##------------------------------------------------------------------------------
@@ -90,41 +101,47 @@ if(PROCESSOR_IS_AARCH64)
90101
target_compile_definitions(cpuinfo_aarch64_test PUBLIC CPU_FEATURES_MOCK_CPUID_AARCH64)
91102
endif()
92103
target_link_libraries(cpuinfo_aarch64_test all_libraries)
104+
target_compile_features(cpuinfo_aarch64_test PUBLIC cxx_std_14)
93105
add_test(NAME cpuinfo_aarch64_test COMMAND cpuinfo_aarch64_test)
94106
endif()
95107
##------------------------------------------------------------------------------
96108
## cpuinfo_mips_test
97109
if(PROCESSOR_IS_MIPS)
98110
add_executable(cpuinfo_mips_test cpuinfo_mips_test.cc ../src/impl_mips_linux_or_android.c)
99111
target_link_libraries(cpuinfo_mips_test all_libraries)
112+
target_compile_features(cpuinfo_mips_test PUBLIC cxx_std_14)
100113
add_test(NAME cpuinfo_mips_test COMMAND cpuinfo_mips_test)
101114
endif()
102115
##------------------------------------------------------------------------------
103116
## cpuinfo_ppc_test
104117
if(PROCESSOR_IS_POWER)
105118
add_executable(cpuinfo_ppc_test cpuinfo_ppc_test.cc ../src/impl_ppc_linux.c)
106119
target_link_libraries(cpuinfo_ppc_test all_libraries)
120+
target_compile_features(cpuinfo_ppc_test PUBLIC cxx_std_14)
107121
add_test(NAME cpuinfo_ppc_test COMMAND cpuinfo_ppc_test)
108122
endif()
109123
##------------------------------------------------------------------------------
110124
## cpuinfo_s390x_test
111125
if(PROCESSOR_IS_S390X)
112126
add_executable(cpuinfo_s390x_test cpuinfo_s390x_test.cc ../src/impl_s390x_linux.c)
113127
target_link_libraries(cpuinfo_s390x_test all_libraries)
128+
target_compile_features(cpuinfo_s390x_test PUBLIC cxx_std_14)
114129
add_test(NAME cpuinfo_s390x_test COMMAND cpuinfo_s390x_test)
115130
endif()
116131
##------------------------------------------------------------------------------
117132
## cpuinfo_riscv_test
118133
if(PROCESSOR_IS_RISCV)
119134
add_executable(cpuinfo_riscv_test cpuinfo_riscv_test.cc ../src/impl_riscv_linux.c)
120135
target_link_libraries(cpuinfo_riscv_test all_libraries)
136+
target_compile_features(cpuinfo_riscv_test PUBLIC cxx_std_14)
121137
add_test(NAME cpuinfo_riscv_test COMMAND cpuinfo_riscv_test)
122138
endif()
123139
##------------------------------------------------------------------------------
124140
## cpuinfo_loongarch_test
125141
if(PROCESSOR_IS_LOONGARCH)
126142
add_executable(cpuinfo_loongarch_test cpuinfo_loongarch_test.cc ../src/impl_loongarch_linux.c)
127143
target_link_libraries(cpuinfo_loongarch_test all_libraries)
144+
target_compile_features(cpuinfo_loongarch_test PUBLIC cxx_std_14)
128145
add_test(NAME cpuinfo_loongarch_test COMMAND cpuinfo_loongarch_test)
129146
endif()
130147

0 commit comments

Comments
 (0)