CMakeLists.txt (8624B)
1 # 2 # Copyright 2019 The Abseil Authors. 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # https://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 # Internal-only target, do not depend on directly. 18 absl_cc_library( 19 NAME 20 flags_path_util 21 HDRS 22 "internal/path_util.h" 23 COPTS 24 ${ABSL_DEFAULT_COPTS} 25 LINKOPTS 26 ${ABSL_DEFAULT_LINKOPTS} 27 DEPS 28 absl::config 29 absl::strings 30 PUBLIC 31 ) 32 33 # Internal-only target, do not depend on directly. 34 absl_cc_library( 35 NAME 36 flags_program_name 37 SRCS 38 "internal/program_name.cc" 39 HDRS 40 "internal/program_name.h" 41 COPTS 42 ${ABSL_DEFAULT_COPTS} 43 LINKOPTS 44 ${ABSL_DEFAULT_LINKOPTS} 45 DEPS 46 absl::config 47 absl::core_headers 48 absl::no_destructor 49 absl::flags_path_util 50 absl::strings 51 absl::synchronization 52 PUBLIC 53 ) 54 55 absl_cc_library( 56 NAME 57 flags_config 58 SRCS 59 "usage_config.cc" 60 HDRS 61 "config.h" 62 "usage_config.h" 63 COPTS 64 ${ABSL_DEFAULT_COPTS} 65 LINKOPTS 66 ${ABSL_DEFAULT_LINKOPTS} 67 DEPS 68 absl::config 69 absl::flags_path_util 70 absl::flags_program_name 71 absl::core_headers 72 absl::no_destructor 73 absl::strings 74 absl::synchronization 75 ) 76 77 absl_cc_library( 78 NAME 79 flags_marshalling 80 SRCS 81 "marshalling.cc" 82 HDRS 83 "marshalling.h" 84 COPTS 85 ${ABSL_DEFAULT_COPTS} 86 LINKOPTS 87 ${ABSL_DEFAULT_LINKOPTS} 88 DEPS 89 absl::config 90 absl::core_headers 91 absl::log_severity 92 absl::int128 93 absl::optional 94 absl::strings 95 absl::str_format 96 ) 97 98 # Internal-only target, do not depend on directly. 99 absl_cc_library( 100 NAME 101 flags_commandlineflag_internal 102 SRCS 103 "internal/commandlineflag.cc" 104 HDRS 105 "internal/commandlineflag.h" 106 COPTS 107 ${ABSL_DEFAULT_COPTS} 108 LINKOPTS 109 ${ABSL_DEFAULT_LINKOPTS} 110 DEPS 111 absl::config 112 absl::dynamic_annotations 113 absl::fast_type_id 114 ) 115 116 absl_cc_library( 117 NAME 118 flags_commandlineflag 119 SRCS 120 "commandlineflag.cc" 121 HDRS 122 "commandlineflag.h" 123 COPTS 124 ${ABSL_DEFAULT_COPTS} 125 LINKOPTS 126 ${ABSL_DEFAULT_LINKOPTS} 127 DEPS 128 absl::config 129 absl::fast_type_id 130 absl::flags_commandlineflag_internal 131 absl::optional 132 absl::strings 133 ) 134 135 # Internal-only target, do not depend on directly. 136 absl_cc_library( 137 NAME 138 flags_private_handle_accessor 139 SRCS 140 "internal/private_handle_accessor.cc" 141 HDRS 142 "internal/private_handle_accessor.h" 143 COPTS 144 ${ABSL_DEFAULT_COPTS} 145 LINKOPTS 146 ${ABSL_DEFAULT_LINKOPTS} 147 DEPS 148 absl::config 149 absl::flags_commandlineflag 150 absl::flags_commandlineflag_internal 151 absl::strings 152 ) 153 154 absl_cc_library( 155 NAME 156 flags_reflection 157 SRCS 158 "reflection.cc" 159 HDRS 160 "reflection.h" 161 "internal/registry.h" 162 COPTS 163 ${ABSL_DEFAULT_COPTS} 164 LINKOPTS 165 ${ABSL_DEFAULT_LINKOPTS} 166 DEPS 167 absl::config 168 absl::flags_commandlineflag 169 absl::flags_private_handle_accessor 170 absl::flags_config 171 absl::strings 172 absl::synchronization 173 absl::flat_hash_map 174 absl::no_destructor 175 ) 176 177 # Internal-only target, do not depend on directly. 178 absl_cc_library( 179 NAME 180 flags_internal 181 SRCS 182 "internal/flag.cc" 183 HDRS 184 "internal/flag.h" 185 "internal/sequence_lock.h" 186 COPTS 187 ${ABSL_DEFAULT_COPTS} 188 LINKOPTS 189 ${ABSL_DEFAULT_LINKOPTS} 190 DEPS 191 absl::base 192 absl::config 193 absl::flags_commandlineflag 194 absl::flags_commandlineflag_internal 195 absl::flags_config 196 absl::flags_marshalling 197 absl::no_destructor 198 absl::synchronization 199 absl::meta 200 absl::utility 201 PUBLIC 202 ) 203 204 absl_cc_library( 205 NAME 206 flags 207 HDRS 208 "declare.h" 209 "flag.h" 210 COPTS 211 ${ABSL_DEFAULT_COPTS} 212 LINKOPTS 213 ${ABSL_DEFAULT_LINKOPTS} 214 DEPS 215 absl::config 216 absl::flags_commandlineflag 217 absl::flags_config 218 absl::flags_internal 219 absl::flags_reflection 220 absl::core_headers 221 absl::nullability 222 absl::strings 223 ) 224 225 # Internal-only target, do not depend on directly. 226 absl_cc_library( 227 NAME 228 flags_usage_internal 229 SRCS 230 "internal/usage.cc" 231 HDRS 232 "internal/usage.h" 233 COPTS 234 ${ABSL_DEFAULT_COPTS} 235 LINKOPTS 236 ${ABSL_DEFAULT_LINKOPTS} 237 DEPS 238 absl::config 239 absl::flags_config 240 absl::flags 241 absl::flags_commandlineflag 242 absl::flags_internal 243 absl::flags_path_util 244 absl::flags_private_handle_accessor 245 absl::flags_program_name 246 absl::flags_reflection 247 absl::strings 248 absl::synchronization 249 ) 250 251 absl_cc_library( 252 NAME 253 flags_usage 254 SRCS 255 "usage.cc" 256 HDRS 257 "usage.h" 258 COPTS 259 ${ABSL_DEFAULT_COPTS} 260 LINKOPTS 261 ${ABSL_DEFAULT_LINKOPTS} 262 DEPS 263 absl::config 264 absl::core_headers 265 absl::flags_usage_internal 266 absl::no_destructor 267 absl::raw_logging_internal 268 absl::strings 269 absl::synchronization 270 ) 271 272 absl_cc_library( 273 NAME 274 flags_parse 275 SRCS 276 "parse.cc" 277 HDRS 278 "internal/parse.h" 279 "parse.h" 280 COPTS 281 ${ABSL_DEFAULT_COPTS} 282 LINKOPTS 283 ${ABSL_DEFAULT_LINKOPTS} 284 DEPS 285 absl::algorithm_container 286 absl::config 287 absl::core_headers 288 absl::flags_config 289 absl::flags 290 absl::flags_commandlineflag 291 absl::flags_commandlineflag_internal 292 absl::flags_internal 293 absl::flags_private_handle_accessor 294 absl::flags_program_name 295 absl::flags_reflection 296 absl::flags_usage 297 absl::no_destructor 298 absl::strings 299 absl::synchronization 300 ) 301 302 ############################################################################ 303 # Unit tests in alphabetical order. 304 305 absl_cc_test( 306 NAME 307 flags_commandlineflag_test 308 SRCS 309 "commandlineflag_test.cc" 310 COPTS 311 ${ABSL_TEST_COPTS} 312 DEPS 313 absl::flags 314 absl::flags_commandlineflag 315 absl::flags_config 316 absl::flags_private_handle_accessor 317 absl::flags_reflection 318 absl::memory 319 absl::strings 320 GTest::gtest_main 321 ) 322 323 absl_cc_test( 324 NAME 325 flags_config_test 326 SRCS 327 "config_test.cc" 328 COPTS 329 ${ABSL_TEST_COPTS} 330 DEPS 331 absl::flags_config 332 GTest::gtest_main 333 ) 334 335 absl_cc_test( 336 NAME 337 flags_flag_test 338 SRCS 339 "flag_test.cc" 340 "flag_test_defs.cc" 341 COPTS 342 ${ABSL_TEST_COPTS} 343 DEPS 344 absl::core_headers 345 absl::flags 346 absl::flags_config 347 absl::flags_internal 348 absl::flags_marshalling 349 absl::flags_parse 350 absl::flags_reflection 351 absl::int128 352 absl::optional 353 absl::raw_logging_internal 354 absl::strings 355 absl::time 356 GTest::gtest_main 357 ) 358 359 absl_cc_test( 360 NAME 361 flags_marshalling_test 362 SRCS 363 "marshalling_test.cc" 364 COPTS 365 ${ABSL_TEST_COPTS} 366 DEPS 367 absl::flags_marshalling 368 GTest::gtest_main 369 ) 370 371 absl_cc_test( 372 NAME 373 flags_parse_test 374 SRCS 375 "parse_test.cc" 376 COPTS 377 ${ABSL_TEST_COPTS} 378 DEPS 379 absl::flags 380 absl::flags_config 381 absl::flags_parse 382 absl::flags_reflection 383 absl::flags_usage_internal 384 absl::log 385 absl::scoped_set_env 386 absl::span 387 absl::strings 388 GTest::gmock_main 389 ) 390 391 absl_cc_test( 392 NAME 393 flags_path_util_test 394 SRCS 395 "internal/path_util_test.cc" 396 COPTS 397 ${ABSL_TEST_COPTS} 398 DEPS 399 absl::flags_path_util 400 GTest::gtest_main 401 ) 402 403 absl_cc_test( 404 NAME 405 flags_program_name_test 406 SRCS 407 "internal/program_name_test.cc" 408 COPTS 409 ${ABSL_TEST_COPTS} 410 DEPS 411 absl::flags_program_name 412 absl::strings 413 GTest::gtest_main 414 ) 415 416 absl_cc_test( 417 NAME 418 flags_reflection_test 419 SRCS 420 "reflection_test.cc" 421 COPTS 422 ${ABSL_TEST_COPTS} 423 DEPS 424 absl::flags 425 absl::flags_config 426 absl::flags_reflection 427 absl::flags_usage 428 absl::memory 429 absl::strings 430 GTest::gmock_main 431 ) 432 433 absl_cc_test( 434 NAME 435 flags_sequence_lock_test 436 SRCS 437 "internal/sequence_lock_test.cc" 438 COPTS 439 ${ABSL_TEST_COPTS} 440 DEPS 441 absl::base 442 absl::flags_internal 443 absl::time 444 GTest::gmock_main 445 ) 446 447 absl_cc_test( 448 NAME 449 flags_usage_config_test 450 SRCS 451 "usage_config_test.cc" 452 COPTS 453 ${ABSL_TEST_COPTS} 454 DEPS 455 absl::flags_config 456 absl::flags_path_util 457 absl::flags_program_name 458 absl::strings 459 GTest::gtest_main 460 ) 461 462 absl_cc_test( 463 NAME 464 flags_usage_test 465 SRCS 466 "internal/usage_test.cc" 467 COPTS 468 ${ABSL_TEST_COPTS} 469 DEPS 470 absl::flags_config 471 absl::flags 472 absl::flags_path_util 473 absl::flags_program_name 474 absl::flags_parse 475 absl::flags_reflection 476 absl::flags_usage 477 absl::strings 478 GTest::gmock 479 )