CMakeLists.txt 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  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. # Internal-only target, do not depend on directly.
  17. absl_cc_library(
  18. NAME
  19. flags_path_util
  20. HDRS
  21. "internal/path_util.h"
  22. COPTS
  23. ${ABSL_DEFAULT_COPTS}
  24. LINKOPTS
  25. ${ABSL_DEFAULT_LINKOPTS}
  26. DEPS
  27. absl::config
  28. absl::strings
  29. PUBLIC
  30. )
  31. # Internal-only target, do not depend on directly.
  32. absl_cc_library(
  33. NAME
  34. flags_program_name
  35. SRCS
  36. "internal/program_name.cc"
  37. HDRS
  38. "internal/program_name.h"
  39. COPTS
  40. ${ABSL_DEFAULT_COPTS}
  41. LINKOPTS
  42. ${ABSL_DEFAULT_LINKOPTS}
  43. DEPS
  44. absl::config
  45. absl::core_headers
  46. absl::flags_path_util
  47. absl::strings
  48. absl::synchronization
  49. PUBLIC
  50. )
  51. absl_cc_library(
  52. NAME
  53. flags_config
  54. SRCS
  55. "usage_config.cc"
  56. HDRS
  57. "config.h"
  58. "usage_config.h"
  59. COPTS
  60. ${ABSL_DEFAULT_COPTS}
  61. LINKOPTS
  62. ${ABSL_DEFAULT_LINKOPTS}
  63. DEPS
  64. absl::config
  65. absl::flags_path_util
  66. absl::flags_program_name
  67. absl::core_headers
  68. absl::strings
  69. absl::synchronization
  70. )
  71. absl_cc_library(
  72. NAME
  73. flags_marshalling
  74. SRCS
  75. "marshalling.cc"
  76. HDRS
  77. "marshalling.h"
  78. COPTS
  79. ${ABSL_DEFAULT_COPTS}
  80. LINKOPTS
  81. ${ABSL_DEFAULT_LINKOPTS}
  82. DEPS
  83. absl::config
  84. absl::core_headers
  85. absl::log_severity
  86. absl::strings
  87. absl::str_format
  88. )
  89. # Internal-only target, do not depend on directly.
  90. absl_cc_library(
  91. NAME
  92. flags_commandlineflag_internal
  93. SRCS
  94. "internal/commandlineflag.cc"
  95. HDRS
  96. "internal/commandlineflag.h"
  97. COPTS
  98. ${ABSL_DEFAULT_COPTS}
  99. LINKOPTS
  100. ${ABSL_DEFAULT_LINKOPTS}
  101. DEPS
  102. absl::config
  103. absl::fast_type_id
  104. )
  105. absl_cc_library(
  106. NAME
  107. flags_commandlineflag
  108. SRCS
  109. "commandlineflag.cc"
  110. HDRS
  111. "commandlineflag.h"
  112. COPTS
  113. ${ABSL_DEFAULT_COPTS}
  114. LINKOPTS
  115. ${ABSL_DEFAULT_LINKOPTS}
  116. DEPS
  117. absl::config
  118. absl::fast_type_id
  119. absl::flags_commandlineflag_internal
  120. absl::optional
  121. absl::strings
  122. )
  123. # Internal-only target, do not depend on directly.
  124. absl_cc_library(
  125. NAME
  126. flags_private_handle_accessor
  127. SRCS
  128. "internal/private_handle_accessor.cc"
  129. HDRS
  130. "internal/private_handle_accessor.h"
  131. COPTS
  132. ${ABSL_DEFAULT_COPTS}
  133. LINKOPTS
  134. ${ABSL_DEFAULT_LINKOPTS}
  135. DEPS
  136. absl::config
  137. absl::flags_commandlineflag
  138. absl::flags_commandlineflag_internal
  139. absl::strings
  140. )
  141. absl_cc_library(
  142. NAME
  143. flags_reflection
  144. SRCS
  145. "reflection.cc"
  146. HDRS
  147. "reflection.h"
  148. "internal/registry.h"
  149. COPTS
  150. ${ABSL_DEFAULT_COPTS}
  151. LINKOPTS
  152. ${ABSL_DEFAULT_LINKOPTS}
  153. DEPS
  154. absl::config
  155. absl::flags_commandlineflag
  156. absl::flags_private_handle_accessor
  157. absl::flags_config
  158. absl::strings
  159. absl::synchronization
  160. absl::flat_hash_map
  161. )
  162. # Internal-only target, do not depend on directly.
  163. absl_cc_library(
  164. NAME
  165. flags_internal
  166. SRCS
  167. "internal/flag.cc"
  168. HDRS
  169. "internal/flag.h"
  170. COPTS
  171. ${ABSL_DEFAULT_COPTS}
  172. LINKOPTS
  173. ${ABSL_DEFAULT_LINKOPTS}
  174. DEPS
  175. absl::base
  176. absl::config
  177. absl::flags_commandlineflag
  178. absl::flags_commandlineflag_internal
  179. absl::flags_config
  180. absl::flags_marshalling
  181. absl::synchronization
  182. absl::meta
  183. absl::utility
  184. PUBLIC
  185. )
  186. absl_cc_library(
  187. NAME
  188. flags
  189. SRCS
  190. "flag.cc"
  191. HDRS
  192. "declare.h"
  193. "flag.h"
  194. COPTS
  195. ${ABSL_DEFAULT_COPTS}
  196. LINKOPTS
  197. ${ABSL_DEFAULT_LINKOPTS}
  198. DEPS
  199. absl::config
  200. absl::flags_commandlineflag
  201. absl::flags_config
  202. absl::flags_internal
  203. absl::flags_reflection
  204. absl::base
  205. absl::core_headers
  206. absl::strings
  207. )
  208. # Internal-only target, do not depend on directly.
  209. absl_cc_library(
  210. NAME
  211. flags_usage_internal
  212. SRCS
  213. "internal/usage.cc"
  214. HDRS
  215. "internal/usage.h"
  216. COPTS
  217. ${ABSL_DEFAULT_COPTS}
  218. LINKOPTS
  219. ${ABSL_DEFAULT_LINKOPTS}
  220. DEPS
  221. absl::config
  222. absl::flags_config
  223. absl::flags
  224. absl::flags_commandlineflag
  225. absl::flags_internal
  226. absl::flags_path_util
  227. absl::flags_private_handle_accessor
  228. absl::flags_program_name
  229. absl::flags_reflection
  230. absl::strings
  231. absl::synchronization
  232. )
  233. absl_cc_library(
  234. NAME
  235. flags_usage
  236. SRCS
  237. "usage.cc"
  238. HDRS
  239. "usage.h"
  240. COPTS
  241. ${ABSL_DEFAULT_COPTS}
  242. LINKOPTS
  243. ${ABSL_DEFAULT_LINKOPTS}
  244. DEPS
  245. absl::config
  246. absl::core_headers
  247. absl::flags_usage_internal
  248. absl::strings
  249. absl::synchronization
  250. )
  251. absl_cc_library(
  252. NAME
  253. flags_parse
  254. SRCS
  255. "parse.cc"
  256. HDRS
  257. "internal/parse.h"
  258. "parse.h"
  259. COPTS
  260. ${ABSL_DEFAULT_COPTS}
  261. LINKOPTS
  262. ${ABSL_DEFAULT_LINKOPTS}
  263. DEPS
  264. absl::config
  265. absl::core_headers
  266. absl::flags_config
  267. absl::flags
  268. absl::flags_commandlineflag
  269. absl::flags_commandlineflag_internal
  270. absl::flags_internal
  271. absl::flags_private_handle_accessor
  272. absl::flags_program_name
  273. absl::flags_reflection
  274. absl::flags_usage
  275. absl::strings
  276. absl::synchronization
  277. )
  278. ############################################################################
  279. # Unit tests in alpahabetical order.
  280. absl_cc_test(
  281. NAME
  282. flags_commandlineflag_test
  283. SRCS
  284. "commandlineflag_test.cc"
  285. COPTS
  286. ${ABSL_TEST_COPTS}
  287. DEPS
  288. absl::flags
  289. absl::flags_commandlineflag
  290. absl::flags_commandlineflag_internal
  291. absl::flags_config
  292. absl::flags_private_handle_accessor
  293. absl::flags_reflection
  294. absl::memory
  295. absl::strings
  296. gtest_main
  297. )
  298. absl_cc_test(
  299. NAME
  300. flags_config_test
  301. SRCS
  302. "config_test.cc"
  303. COPTS
  304. ${ABSL_TEST_COPTS}
  305. DEPS
  306. absl::flags_config
  307. gtest_main
  308. )
  309. absl_cc_test(
  310. NAME
  311. flags_flag_test
  312. SRCS
  313. "flag_test.cc"
  314. "flag_test_defs.cc"
  315. COPTS
  316. ${ABSL_TEST_COPTS}
  317. DEPS
  318. absl::core_headers
  319. absl::flags
  320. absl::flags_config
  321. absl::flags_internal
  322. absl::flags_marshalling
  323. absl::flags_reflection
  324. absl::strings
  325. absl::time
  326. gtest_main
  327. )
  328. absl_cc_test(
  329. NAME
  330. flags_marshalling_test
  331. SRCS
  332. "marshalling_test.cc"
  333. COPTS
  334. ${ABSL_TEST_COPTS}
  335. DEPS
  336. absl::flags_marshalling
  337. gtest_main
  338. )
  339. absl_cc_test(
  340. NAME
  341. flags_parse_test
  342. SRCS
  343. "parse_test.cc"
  344. COPTS
  345. ${ABSL_TEST_COPTS}
  346. DEPS
  347. absl::flags
  348. absl::flags_parse
  349. absl::flags_reflection
  350. absl::raw_logging_internal
  351. absl::scoped_set_env
  352. absl::span
  353. absl::strings
  354. gmock_main
  355. )
  356. absl_cc_test(
  357. NAME
  358. flags_path_util_test
  359. SRCS
  360. "internal/path_util_test.cc"
  361. COPTS
  362. ${ABSL_TEST_COPTS}
  363. DEPS
  364. absl::flags_path_util
  365. gtest_main
  366. )
  367. absl_cc_test(
  368. NAME
  369. flags_program_name_test
  370. SRCS
  371. "internal/program_name_test.cc"
  372. COPTS
  373. ${ABSL_TEST_COPTS}
  374. DEPS
  375. absl::flags_program_name
  376. absl::strings
  377. gtest_main
  378. )
  379. absl_cc_test(
  380. NAME
  381. flags_reflection_test
  382. SRCS
  383. "reflection_test.cc"
  384. COPTS
  385. ${ABSL_TEST_COPTS}
  386. DEPS
  387. absl::flags_commandlineflag_internal
  388. absl::flags
  389. absl::flags_reflection
  390. absl::flags_usage
  391. absl::memory
  392. absl::strings
  393. gmock_main
  394. )
  395. absl_cc_test(
  396. NAME
  397. flags_usage_config_test
  398. SRCS
  399. "usage_config_test.cc"
  400. COPTS
  401. ${ABSL_TEST_COPTS}
  402. DEPS
  403. absl::flags_config
  404. absl::flags_path_util
  405. absl::flags_program_name
  406. absl::strings
  407. gtest_main
  408. )
  409. absl_cc_test(
  410. NAME
  411. flags_usage_test
  412. SRCS
  413. "internal/usage_test.cc"
  414. COPTS
  415. ${ABSL_TEST_COPTS}
  416. DEPS
  417. absl::flags_config
  418. absl::flags
  419. absl::flags_path_util
  420. absl::flags_program_name
  421. absl::flags_parse
  422. absl::flags_reflection
  423. absl::flags_usage
  424. absl::strings
  425. gtest
  426. )