Skip to content

Commit 4a4e315

Browse files
committed
Pre-commit fixes.
1 parent 74ef12d commit 4a4e315

25 files changed

Lines changed: 446 additions & 234 deletions

.github/workflows/ci.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,3 @@ jobs:
9797
set -x
9898
[[ ! -z "${{ matrix.config.asan_options }}" ]] && export ASAN_OPTIONS="${{ matrix.config.asan_options }}"
9999
ctest --build-config Asan --output-on-failure --test-dir .build
100-

.github/workflows/pre-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,4 @@ jobs:
7373
with:
7474
tool_name: pre-commit
7575
level: warning
76-
reviewdog_flags: "-fail-level=error"
76+
reviewdog_flags: "-fail-level=error"

.gitmodules

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@ repos:
4848
hooks:
4949
- id: codespell
5050
files: ^.*\.(cmake|cpp|hpp|txt|md|json|in|yaml|yml)$
51-
args: ["--ignore-words", ".codespellignore" ]
51+
args: ["--ignore-words", ".codespellignore" ]

CMakeLists.txt

Lines changed: 53 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55

66
cmake_minimum_required(VERSION 3.27...3.31)
77

8-
project(
9-
beman.iterator_interface
10-
VERSION 0.0.0
11-
LANGUAGES CXX)
8+
project(beman.iterator_interface VERSION 0.0.0 LANGUAGES CXX)
129

1310
# Local helpers: required to include CompilerFeatureTest.
1411
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
@@ -24,76 +21,83 @@ beman_iterator_check_deducing_this(COMPILER_SUPPORTS_DEDUCING_THIS)
2421
set(TARGETS_EXPORT_NAME ${CMAKE_PROJECT_NAME}Targets)
2522

2623
option(
27-
BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS
28-
"Make use of C++23 \"deducing this\" feature (P0847R7). Turn this off for non-conforming compilers."
29-
${COMPILER_SUPPORTS_DEDUCING_THIS})
24+
BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS
25+
"Make use of C++23 \"deducing this\" feature (P0847R7). Turn this off for non-conforming compilers."
26+
${COMPILER_SUPPORTS_DEDUCING_THIS}
27+
)
3028

3129
option(
32-
BEMAN_ITERATOR_INTERFACE_BUILD_TESTS
33-
"Enable building tests and test infrastructure. Default: ON. Values: {ON, OFF}."
34-
${PROJECT_IS_TOP_LEVEL})
35-
36-
option(BEMAN_ITERATOR_INTERFACE_BUILD_EXAMPLES
37-
"Enable building examples. Default: ON. Values: {ON, OFF}."
38-
${PROJECT_IS_TOP_LEVEL})
39-
40-
if(BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS
41-
AND NOT COMPILER_SUPPORTS_DEDUCING_THIS)
42-
message(
43-
WARNING
44-
"Building with C++23 \"deducing this\" feature (P0847R7) despite of the compiler's lack of actual support for it."
45-
)
30+
BEMAN_ITERATOR_INTERFACE_BUILD_TESTS
31+
"Enable building tests and test infrastructure. Default: ON. Values: {ON, OFF}."
32+
${PROJECT_IS_TOP_LEVEL}
33+
)
34+
35+
option(
36+
BEMAN_ITERATOR_INTERFACE_BUILD_EXAMPLES
37+
"Enable building examples. Default: ON. Values: {ON, OFF}."
38+
${PROJECT_IS_TOP_LEVEL}
39+
)
40+
41+
if(
42+
BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS
43+
AND NOT COMPILER_SUPPORTS_DEDUCING_THIS
44+
)
45+
message(
46+
WARNING
47+
"Building with C++23 \"deducing this\" feature (P0847R7) despite of the compiler's lack of actual support for it."
48+
)
4649
endif()
4750

4851
configure_file(
49-
"${PROJECT_SOURCE_DIR}/include/beman/iterator_interface/config.hpp.in"
50-
"${PROJECT_BINARY_DIR}/include/beman/iterator_interface/config.hpp" @ONLY)
52+
"${PROJECT_SOURCE_DIR}/include/beman/iterator_interface/config.hpp.in"
53+
"${PROJECT_BINARY_DIR}/include/beman/iterator_interface/config.hpp"
54+
@ONLY
55+
)
5156

5257
if(BEMAN_ITERATOR_INTERFACE_BUILD_TESTS)
53-
# Fetch GoogleTest
54-
FetchContent_Declare(
55-
googletest
56-
EXCLUDE_FROM_ALL
57-
GIT_REPOSITORY https://github.com/google/googletest.git
58-
GIT_TAG e39786088138f2749d64e9e90e0f9902daa77c40 # release-1.15.0
59-
)
60-
FetchContent_MakeAvailable(googletest)
58+
# Fetch GoogleTest
59+
FetchContent_Declare(
60+
googletest
61+
EXCLUDE_FROM_ALL
62+
GIT_REPOSITORY https://github.com/google/googletest.git
63+
GIT_TAG
64+
e39786088138f2749d64e9e90e0f9902daa77c40 # release-1.15.0
65+
)
66+
FetchContent_MakeAvailable(googletest)
6167
endif()
6268

6369
# Create the library target and named header set for beman.iterator_interface
6470
add_library(beman.iterator_interface STATIC)
6571
add_library(beman::iterator_interface ALIAS beman.iterator_interface)
6672

6773
target_sources(
68-
beman.iterator_interface
69-
PUBLIC FILE_SET
70-
beman_iterator_interface_headers
71-
TYPE
72-
HEADERS
73-
BASE_DIRS
74-
${PROJECT_BINARY_DIR}/include
75-
${PROJECT_SOURCE_DIR}/include
76-
FILES
77-
${PROJECT_BINARY_DIR}/include/beman/iterator_interface/config.hpp)
74+
beman.iterator_interface
75+
PUBLIC
76+
FILE_SET beman_iterator_interface_headers
77+
TYPE HEADERS
78+
BASE_DIRS ${PROJECT_BINARY_DIR}/include ${PROJECT_SOURCE_DIR}/include
79+
FILES ${PROJECT_BINARY_DIR}/include/beman/iterator_interface/config.hpp
80+
)
7881

7982
add_subdirectory(src/beman/iterator_interface)
8083
add_subdirectory(include/beman/iterator_interface)
8184

8285
if(BEMAN_ITERATOR_INTERFACE_BUILD_TESTS)
83-
enable_testing()
84-
add_subdirectory(tests/beman/iterator_interface)
86+
enable_testing()
87+
add_subdirectory(tests/beman/iterator_interface)
8588
endif()
8689

8790
if(BEMAN_ITERATOR_INTERFACE_BUILD_EXAMPLES)
88-
add_subdirectory(examples)
91+
add_subdirectory(examples)
8992
endif()
9093

9194
# Coverage
9295
configure_file("cmake/gcovr.cfg.in" gcovr.cfg @ONLY)
9396

9497
add_custom_target(
95-
process_coverage
96-
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
97-
COMMENT "Running gcovr to process coverage results"
98-
COMMAND mkdir -p coverage
99-
COMMAND gcovr --config gcovr.cfg .)
98+
process_coverage
99+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
100+
COMMENT "Running gcovr to process coverage results"
101+
COMMAND mkdir -p coverage
102+
COMMAND gcovr --config gcovr.cfg .
103+
)

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -445,4 +445,3 @@ $ cmake -G "Ninja Multi-Config" \
445445
-DBEMAN_ITERATOR_INTERFACE_BUILD_EXAMPLES=OFF \
446446
-B .build -S .
447447
```
448-

cmake/CompilerFeatureTest.cmake

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ include(CheckCXXSourceCompiles)
1010
# Determines if the selected C++ compiler has deducing this support. Sets
1111
# 'result_var' to whether support is detected.
1212
function(beman_iterator_check_deducing_this result_var)
13-
check_cxx_source_compiles( "
13+
check_cxx_source_compiles(
14+
"
1415
// clang-specific check due to http://github.com/llvm/llvm-project/issues/113174
1516
// MSVC-specific check due to https://developercommunity.visualstudio.com/t/10107077
1617
#if defined(__cpp_explicit_this_parameter)
@@ -26,6 +27,8 @@ function(beman_iterator_check_deducing_this result_var)
2627
#endif
2728
#endif
2829
int main(){}
29-
" HAVE_DEDUCING_THIS )
30-
set(${result_var} ${HAVE_DEDUCING_THIS} PARENT_SCOPE)
30+
"
31+
HAVE_DEDUCING_THIS
32+
)
33+
set(${result_var} ${HAVE_DEDUCING_THIS} PARENT_SCOPE)
3134
endfunction()

etc/ci-clang-toolchain.cmake

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,41 @@ set(CMAKE_C_COMPILER clang)
99
set(CMAKE_CXX_COMPILER clang++)
1010

1111
set(CMAKE_CXX_FLAGS
12-
"-std=c++20 \
12+
"-std=c++20 \
1313
-Wall -Wextra \
1414
-stdlib=libc++ -fexperimental-library"
15-
CACHE STRING "CXX_FLAGS" FORCE)
15+
CACHE STRING
16+
"CXX_FLAGS"
17+
FORCE
18+
)
1619

17-
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -fno-inline -g3" CACHE STRING "C++ DEBUG Flags" FORCE)
18-
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -g0 -DNDEBUG" CACHE STRING "C++ Release Flags" FORCE)
19-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG" CACHE STRING "C++ RelWithDebInfo Flags" FORCE)
20-
set(CMAKE_CXX_FLAGS_TSAN "-O3 -g -DNDEBUG -fsanitize=thread" CACHE STRING "C++ TSAN Flags" FORCE)
21-
set(CMAKE_CXX_FLAGS_ASAN "-O3 -g -DNDEBUG -fsanitize=address -fsanitize=undefined -fsanitize=leak" CACHE STRING "C++ ASAN Flags" FORCE)
20+
set(CMAKE_CXX_FLAGS_DEBUG
21+
"-O0 -fno-inline -g3"
22+
CACHE STRING
23+
"C++ DEBUG Flags"
24+
FORCE
25+
)
26+
set(CMAKE_CXX_FLAGS_RELEASE
27+
"-Ofast -g0 -DNDEBUG"
28+
CACHE STRING
29+
"C++ Release Flags"
30+
FORCE
31+
)
32+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
33+
"-O3 -g -DNDEBUG"
34+
CACHE STRING
35+
"C++ RelWithDebInfo Flags"
36+
FORCE
37+
)
38+
set(CMAKE_CXX_FLAGS_TSAN
39+
"-O3 -g -DNDEBUG -fsanitize=thread"
40+
CACHE STRING
41+
"C++ TSAN Flags"
42+
FORCE
43+
)
44+
set(CMAKE_CXX_FLAGS_ASAN
45+
"-O3 -g -DNDEBUG -fsanitize=address -fsanitize=undefined -fsanitize=leak"
46+
CACHE STRING
47+
"C++ ASAN Flags"
48+
FORCE
49+
)

etc/clang-flags.cmake

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,39 @@ include_guard(GLOBAL)
88
set(CMAKE_CXX_STANDARD 23)
99

1010
set(CMAKE_CXX_FLAGS
11-
"-stdlib=libc++ -Wall -Wextra "
12-
CACHE STRING "CXX_FLAGS" FORCE)
11+
"-stdlib=libc++ -Wall -Wextra "
12+
CACHE STRING
13+
"CXX_FLAGS"
14+
FORCE
15+
)
1316

14-
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -fno-inline -g3" CACHE STRING "C++ DEBUG Flags" FORCE)
15-
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -g0 -DNDEBUG" CACHE STRING "C++ Release Flags" FORCE)
16-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG" CACHE STRING "C++ RelWithDebInfo Flags" FORCE)
17-
set(CMAKE_CXX_FLAGS_TSAN "-O3 -g -DNDEBUG -fsanitize=thread" CACHE STRING "C++ TSAN Flags" FORCE)
18-
set(CMAKE_CXX_FLAGS_ASAN "-O3 -g -DNDEBUG -fsanitize=address,undefined,leak" CACHE STRING "C++ ASAN Flags" FORCE)
17+
set(CMAKE_CXX_FLAGS_DEBUG
18+
"-O0 -fno-inline -g3"
19+
CACHE STRING
20+
"C++ DEBUG Flags"
21+
FORCE
22+
)
23+
set(CMAKE_CXX_FLAGS_RELEASE
24+
"-Ofast -g0 -DNDEBUG"
25+
CACHE STRING
26+
"C++ Release Flags"
27+
FORCE
28+
)
29+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
30+
"-O3 -g -DNDEBUG"
31+
CACHE STRING
32+
"C++ RelWithDebInfo Flags"
33+
FORCE
34+
)
35+
set(CMAKE_CXX_FLAGS_TSAN
36+
"-O3 -g -DNDEBUG -fsanitize=thread"
37+
CACHE STRING
38+
"C++ TSAN Flags"
39+
FORCE
40+
)
41+
set(CMAKE_CXX_FLAGS_ASAN
42+
"-O3 -g -DNDEBUG -fsanitize=address,undefined,leak"
43+
CACHE STRING
44+
"C++ ASAN Flags"
45+
FORCE
46+
)

etc/gcc-flags.cmake

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,35 @@ include_guard(GLOBAL)
77

88
set(CMAKE_CXX_STANDARD 23)
99

10-
set(CMAKE_CXX_FLAGS
11-
"-Wall -Wextra "
12-
CACHE STRING "CXX_FLAGS" FORCE)
10+
set(CMAKE_CXX_FLAGS "-Wall -Wextra " CACHE STRING "CXX_FLAGS" FORCE)
1311

14-
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -fno-inline -g3" CACHE STRING "C++ DEBUG Flags" FORCE)
15-
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -g0 -DNDEBUG" CACHE STRING "C++ Release Flags" FORCE)
16-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG" CACHE STRING "C++ RelWithDebInfo Flags" FORCE)
17-
set(CMAKE_CXX_FLAGS_TSAN "-O3 -g -DNDEBUG -fsanitize=thread" CACHE STRING "C++ TSAN Flags" FORCE)
18-
set(CMAKE_CXX_FLAGS_ASAN "-O3 -g -DNDEBUG -fsanitize=undefined" CACHE STRING "C++ ASAN Flags" FORCE)
12+
set(CMAKE_CXX_FLAGS_DEBUG
13+
"-O0 -fno-inline -g3"
14+
CACHE STRING
15+
"C++ DEBUG Flags"
16+
FORCE
17+
)
18+
set(CMAKE_CXX_FLAGS_RELEASE
19+
"-Ofast -g0 -DNDEBUG"
20+
CACHE STRING
21+
"C++ Release Flags"
22+
FORCE
23+
)
24+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
25+
"-O3 -g -DNDEBUG"
26+
CACHE STRING
27+
"C++ RelWithDebInfo Flags"
28+
FORCE
29+
)
30+
set(CMAKE_CXX_FLAGS_TSAN
31+
"-O3 -g -DNDEBUG -fsanitize=thread"
32+
CACHE STRING
33+
"C++ TSAN Flags"
34+
FORCE
35+
)
36+
set(CMAKE_CXX_FLAGS_ASAN
37+
"-O3 -g -DNDEBUG -fsanitize=undefined"
38+
CACHE STRING
39+
"C++ ASAN Flags"
40+
FORCE
41+
)

0 commit comments

Comments
 (0)