[M4] cargoxx build invokes nix+cmake
This commit is contained in:
@@ -23,9 +23,12 @@ auto run(int argc, char** argv) -> int {
|
||||
"build", "Generate flake.nix and build/CMakeLists.txt; build with nix+cmake");
|
||||
bool build_no_build = false;
|
||||
bool build_release = false;
|
||||
std::string build_target;
|
||||
build_cmd->add_flag("--no-build", build_no_build,
|
||||
"Generate files only; do not invoke nix/cmake");
|
||||
build_cmd->add_flag("--release", build_release, "Build the release profile");
|
||||
build_cmd->add_option("--target", build_target,
|
||||
"Build a specific target (passed to cmake --build)");
|
||||
|
||||
try {
|
||||
app.parse(argc, argv);
|
||||
@@ -52,12 +55,20 @@ auto run(int argc, char** argv) -> int {
|
||||
}
|
||||
|
||||
if (*build_cmd) {
|
||||
auto r = cmd_build(cwd, build_no_build, build_release);
|
||||
std::optional<std::string> target;
|
||||
if (!build_target.empty()) {
|
||||
target = build_target;
|
||||
}
|
||||
auto r = cmd_build(cwd, build_no_build, build_release, target);
|
||||
if (!r) {
|
||||
std::cerr << util::format(r.error());
|
||||
return 1;
|
||||
}
|
||||
std::cout << " Generated flake.nix, build/CMakeLists.txt, Cargoxx.lock\n";
|
||||
if (build_no_build) {
|
||||
std::cout << " Generated flake.nix, build/CMakeLists.txt, Cargoxx.lock\n";
|
||||
} else {
|
||||
std::cout << " Built\n";
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user