@@ -18,24 +18,24 @@ if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
18
18
set (CMAKE_FIND_FRAMEWORK NEVER )
19
19
endif ()
20
20
21
- find_package (Python3 COMPONENTS Interpreter )
21
+ find_package (Python3 COMPONENTS Interpreter REQUIRED )
22
22
23
23
set (CMAKE_CXX_STANDARD 17 )
24
24
set (CMAKE_CXX_STANDARD_REQUIRED YES )
25
25
26
26
# Build Options
27
- option (UR_DEVELOPER_MODE "enable developer checks, treats warnings as errors" OFF )
28
27
option (UR_BUILD_TESTS "Build unit tests." ON )
28
+ option (UR_BUILD_TOOLS "build ur tools" ON )
29
29
option (UR_FORMAT_CPP_STYLE "format code style of C++ sources" OFF )
30
+ option (UR_DEVELOPER_MODE "enable developer checks, treats warnings as errors" OFF )
30
31
option (UR_USE_ASAN "enable AddressSanitizer" OFF )
31
32
option (UR_USE_UBSAN "enable UndefinedBehaviorSanitizer" OFF )
32
33
option (UR_USE_MSAN "enable MemorySanitizer" OFF )
33
34
option (UR_USE_TSAN "enable ThreadSanitizer" OFF )
34
- option (UMF_BUILD_SHARED_LIBRARY "Build UMF as shared library" OFF )
35
35
option (UR_ENABLE_TRACING "enable api tracing through xpti" OFF )
36
- option (VAL_USE_LIBBACKTRACE_BACKTRACE "enable libbacktrace validation backtrace for linux" OFF )
37
- option (UR_BUILD_TOOLS "build ur tools" ON )
36
+ option (UMF_BUILD_SHARED_LIBRARY "Build UMF as shared library" OFF )
38
37
option (UMF_ENABLE_POOL_TRACKING "Build UMF with pool tracking" OFF )
38
+ option (VAL_USE_LIBBACKTRACE_BACKTRACE "enable libbacktrace validation backtrace for linux" OFF )
39
39
40
40
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib )
41
41
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib )
@@ -130,23 +130,15 @@ if(UR_USE_MSAN)
130
130
add_sanitizer_flag (memory )
131
131
endif ()
132
132
133
- # Allow custom third_party folder
134
- if (NOT DEFINED THIRD_PARTY_DIR )
135
- set (THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR} /third_party )
136
- endif ()
137
-
138
- find_program (CLANG_FORMAT NAMES clang-format-15 clang-format-15.0 clang-format )
139
-
140
- set (CLANG_FORMAT_REQUIRED "15.0" )
133
+ # Check if clang-format (in correct version) is available for Cpp code formatting.
134
+ if (UR_FORMAT_CPP_STYLE )
135
+ find_program (CLANG_FORMAT NAMES clang-format-15 clang-format-15.0 clang-format )
141
136
142
- if (CLANG_FORMAT )
143
- get_program_version_major_minor (${CLANG_FORMAT} CLANG_FORMAT_VERSION )
144
- message (STATUS "Found clang-format: ${CLANG_FORMAT} (version: ${CLANG_FORMAT_VERSION} )" )
145
- endif ()
137
+ if (CLANG_FORMAT )
138
+ get_program_version_major_minor (${CLANG_FORMAT} CLANG_FORMAT_VERSION )
139
+ message (STATUS "Found clang-format: ${CLANG_FORMAT} (version: ${CLANG_FORMAT_VERSION} )" )
146
140
147
- # Check if the correct version of clang-format is available
148
- if (UR_FORMAT_CPP_STYLE )
149
- if (CLANG_FORMAT )
141
+ set (CLANG_FORMAT_REQUIRED "15.0" )
150
142
if (NOT (CLANG_FORMAT_VERSION VERSION_EQUAL CLANG_FORMAT_REQUIRED ))
151
143
message (FATAL_ERROR "required clang-format version is ${CLANG_FORMAT_REQUIRED} " )
152
144
endif ()
@@ -155,7 +147,7 @@ if(UR_FORMAT_CPP_STYLE)
155
147
endif ()
156
148
endif ()
157
149
158
- # Obtain files for clang-format
150
+ # Obtain files for clang-format and license check
159
151
set (format_glob )
160
152
set (license_glob )
161
153
foreach (dir examples include source test tools )
@@ -180,7 +172,7 @@ endforeach()
180
172
file (GLOB_RECURSE format_src ${format_glob} )
181
173
file (GLOB_RECURSE license_src ${license_glob} )
182
174
183
- # check for licence
175
+ # Add license check target
184
176
list (FILTER license_src EXCLUDE REGEX "registry.yml" )
185
177
add_custom_target (verify-licenses
186
178
COMMAND ${Python3_EXECUTABLE}
@@ -191,9 +183,13 @@ add_custom_target(verify-licenses
191
183
192
184
# Add code formatter target
193
185
add_custom_target (cppformat )
186
+ # ... and all source files to the formatter
187
+ add_cppformat (all -sources ${format_src} )
194
188
195
- # Add files to the formatter
196
- add_cppformat (src-formatter ${format_src} )
189
+ # Allow custom third_party folder
190
+ if (NOT DEFINED THIRD_PARTY_DIR )
191
+ set (THIRD_PARTY_DIR ${CMAKE_CURRENT_SOURCE_DIR} /third_party )
192
+ endif ()
197
193
198
194
add_subdirectory (${THIRD_PARTY_DIR} )
199
195
@@ -273,5 +269,5 @@ if(UR_FORMAT_CPP_STYLE)
273
269
DEPENDS generate
274
270
)
275
271
else ()
276
- message (WARNING " UR_FORMAT_CPP_STYLE not set. Targets: 'generate' and 'check-generated' and not available" )
272
+ message (STATUS " UR_FORMAT_CPP_STYLE not set. Targets: 'generate' and 'check-generated' are not available" )
277
273
endif ()
0 commit comments