Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite13f418

Browse files
committed
Update build.cpp
1 parent96c802e commite13f418

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

‎example/hybrid/generic/build.cpp‎

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ constexpr std::string_view EXE = "build";
1515

1616
// Function Prototypes
1717
staticvoidclean_cb();
18+
staticvoidargs_lib_type_cb(CLI::App &app, TargetType &lib_type);
1819
staticvoidfoolib_build_cb(BaseTarget &foolib_target);
1920
staticvoidgeneric_build_cb(BaseTarget &generic_target,
2021
BaseTarget &foolib_target);
@@ -23,26 +24,11 @@ int main(int argc, char **argv) {
2324
// 1. Get arguments
2425
ArgToolchain custom_toolchain;
2526
TargetType default_lib_type{TargetType::StaticLibrary};
26-
auto &instance =Args::Init();
27-
28-
try {
29-
const std::map<std::string, TargetType> lib_type_map_{
30-
{"StaticLib", TargetType::StaticLibrary},
31-
{"DynamicLib", TargetType::DynamicLibrary},
32-
};
33-
34-
Args::Ref()
35-
.add_option("--default_lib_type", default_lib_type,"Default Lib Type")
36-
->transform(CLI::CheckedTransformer(lib_type_map_, CLI::ignore_case))
37-
->group("Custom");
38-
39-
// NOTE, You can add more custom toolchains as per your requirement
40-
instance.AddToolchain("user","User defined toolchain", custom_toolchain);
41-
}catch (const std::exception &e) {
42-
std::cout <<"EXCEPTION" << e.what() << std::endl;
43-
}
44-
45-
instance.Parse(argc, argv);
27+
Args::Init()
28+
.AddToolchain("user","User defined toolchain", custom_toolchain)
29+
.AddCustomCallback(
30+
[&](CLI::App &app) {args_lib_type_cb(app, default_lib_type); })
31+
.Parse(argc, argv);
4632

4733
// 2. Initialize your environment
4834
Register reg;
@@ -119,6 +105,17 @@ static void clean_cb() {
119105
fs::remove_all(Project::GetBuildDir());
120106
}
121107

108+
voidargs_lib_type_cb(CLI::App &app, TargetType &lib_type) {
109+
const std::map<std::string, TargetType> lib_type_map_{
110+
{"StaticLib", TargetType::StaticLibrary},
111+
{"DynamicLib", TargetType::DynamicLibrary},
112+
};
113+
114+
app.add_option("--default_lib_type", lib_type,"Default Lib Type")
115+
->transform(CLI::CheckedTransformer(lib_type_map_, CLI::ignore_case))
116+
->group("Custom");
117+
}
118+
122119
staticvoidfoolib_build_cb(BaseTarget &foolib_target) {
123120
fooTarget(foolib_target,Project::GetRootDir() /".." /"foolib");
124121
foolib_target.Build();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp