Skip to content

Commit 2fa609a

Browse files
gostefanpre-commit-ci[bot]phlptp
authored
Add IWYU pragmas (#1008)
Added include-what-you-use pragmas to: * let IWYU point users to the main include file CLI/CLI.hpp * tell IWYU that CLI/CLI.hpp is the main exporting header. This should fix #816 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Philip Top <phlptp@gmail.com>
1 parent fe92f34 commit 2fa609a

27 files changed

+65
-9
lines changed

include/CLI/App.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <cstdint>
@@ -1442,5 +1444,5 @@ struct AppFriend {
14421444
} // namespace CLI
14431445

14441446
#ifndef CLI11_COMPILE
1445-
#include "impl/App_inl.hpp"
1447+
#include "impl/App_inl.hpp" // IWYU pragma: export
14461448
#endif

include/CLI/Argv.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <string>
1113
#include <vector>
@@ -25,5 +27,5 @@ CLI11_INLINE std::vector<std::string> compute_win32_argv();
2527
} // namespace CLI
2628

2729
#ifndef CLI11_COMPILE
28-
#include "impl/Argv_inl.hpp"
30+
#include "impl/Argv_inl.hpp" // IWYU pragma: export
2931
#endif

include/CLI/CLI.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
// CLI Library includes
1010
// Order is important for combiner script
1111

12+
// IWYU pragma: begin_exports
13+
1214
#include "Version.hpp"
1315

1416
#include "Macros.hpp"
@@ -38,3 +40,5 @@
3840
#include "Config.hpp"
3941

4042
#include "Formatter.hpp"
43+
44+
// IWYU pragma: end_exports

include/CLI/Config.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <cctype>
@@ -49,5 +51,5 @@ void checkParentSegments(std::vector<ConfigItem> &output, const std::string &cur
4951
} // namespace CLI
5052

5153
#ifndef CLI11_COMPILE
52-
#include "impl/Config_inl.hpp"
54+
#include "impl/Config_inl.hpp" // IWYU pragma: export
5355
#endif

include/CLI/ConfigFwd.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <fstream>

include/CLI/Encoding.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
910
#include "Macros.hpp"
1011

1112
// [CLI11:public_includes:set]
@@ -50,5 +51,5 @@ CLI11_INLINE std::filesystem::path to_path(std::string_view str);
5051
} // namespace CLI
5152

5253
#ifndef CLI11_COMPILE
53-
#include "impl/Encoding_inl.hpp"
54+
#include "impl/Encoding_inl.hpp" // IWYU pragma: export
5455
#endif

include/CLI/Error.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <exception>
1113
#include <stdexcept>

include/CLI/Formatter.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <string>
@@ -21,5 +23,5 @@ namespace CLI {
2123
} // namespace CLI
2224

2325
#ifndef CLI11_COMPILE
24-
#include "impl/Formatter_inl.hpp"
26+
#include "impl/Formatter_inl.hpp" // IWYU pragma: export
2527
#endif

include/CLI/FormatterFwd.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <functional>
1113
#include <map>

include/CLI/Macros.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:macros_hpp:verbatim]
1012

1113
// The following version macro is very similar to the one in pybind11

include/CLI/Option.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <functional>
@@ -804,5 +806,5 @@ class Option : public OptionBase<Option> {
804806
} // namespace CLI
805807

806808
#ifndef CLI11_COMPILE
807-
#include "impl/Option_inl.hpp"
809+
#include "impl/Option_inl.hpp" // IWYU pragma: export
808810
#endif

include/CLI/Split.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <string>
1113
#include <tuple>
@@ -44,5 +46,5 @@ get_names(const std::vector<std::string> &input);
4446
} // namespace CLI
4547

4648
#ifndef CLI11_COMPILE
47-
#include "impl/Split_inl.hpp"
49+
#include "impl/Split_inl.hpp" // IWYU pragma: export
4850
#endif

include/CLI/StringTools.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <iomanip>
@@ -263,5 +265,5 @@ CLI11_INLINE bool process_quoted_string(std::string &str, char string_char = '\"
263265
} // namespace CLI
264266

265267
#ifndef CLI11_COMPILE
266-
#include "impl/StringTools_inl.hpp"
268+
#include "impl/StringTools_inl.hpp" // IWYU pragma: export
267269
#endif

include/CLI/Timer.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// On GCC < 4.8, the following define is often missing. Due to the
1012
// fact that this library only uses sleep_for, this should be safe
1113
#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 5 && __GNUC_MINOR__ < 8

include/CLI/TypeTools.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:public_includes:set]
1012
#include <algorithm>
1113
#include <cmath>

include/CLI/Validators.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
#include "Error.hpp"
1012
#include "Macros.hpp"
1113
#include "StringTools.hpp"
@@ -892,5 +894,5 @@ CLI11_INLINE std::pair<std::string, std::string> split_program_name(std::string
892894
} // namespace CLI
893895

894896
#ifndef CLI11_COMPILE
895-
#include "impl/Validators_inl.hpp"
897+
#include "impl/Validators_inl.hpp" // IWYU pragma: export
896898
#endif

include/CLI/Version.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// [CLI11:version_hpp:verbatim]
1012

1113
#define CLI11_VERSION_MAJOR 2

include/CLI/impl/App_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../App.hpp"
1113

include/CLI/impl/Argv_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../Argv.hpp"
1113

include/CLI/impl/Config_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../Config.hpp"
1113

include/CLI/impl/Encoding_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../Encoding.hpp"
1113
#include "../Macros.hpp"

include/CLI/impl/Formatter_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../Formatter.hpp"
1113

include/CLI/impl/Option_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../Option.hpp"
1113

include/CLI/impl/Split_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../Split.hpp"
1113

include/CLI/impl/StringTools_inl.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
10+
911
// This include is only needed for IDEs to discover symbols
1012
#include "../StringTools.hpp"
1113

include/CLI/impl/Validators_inl.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#pragma once
88

9+
// IWYU pragma: private, include "CLI/CLI.hpp"
910
#include "../Validators.hpp"
1011

1112
#include "../Encoding.hpp"

src/Precompile.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
//
55
// SPDX-License-Identifier: BSD-3-Clause
66

7+
// IWYU pragma: begin_keep
8+
79
#include <CLI/impl/App_inl.hpp>
810
#include <CLI/impl/Argv_inl.hpp>
911
#include <CLI/impl/Config_inl.hpp>
@@ -13,3 +15,5 @@
1315
#include <CLI/impl/Split_inl.hpp>
1416
#include <CLI/impl/StringTools_inl.hpp>
1517
#include <CLI/impl/Validators_inl.hpp>
18+
19+
// IWYU pragma: end_keep

0 commit comments

Comments
 (0)