Skip to content

Commit 3a99019

Browse files
authored
feat: make --version flag optional build (#39)
1 parent 22d360b commit 3a99019

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

.bazelrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import %workspace%/bazel/common.bazelrc
22

33
common [email protected]//:use_std_fs
4+
common --//:use_sdk_version
45
build:windows --workspace_status_command=bazel/tools/wsc.cmd
56
build:linux --workspace_status_command=bazel/tools/wsc.sh
67

BUILD.bazel

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
load("@rules_cc//cc:defs.bzl", "cc_binary")
22
load("@rules_ecsact//ecsact:toolchain.bzl", "ecsact_toolchain")
3+
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
34
load("//bazel/tools:cc_stamp_header.bzl", "cc_stamp_header")
45
load("//bazel:copts.bzl", "copts")
56

67
package(default_visibility = ["//visibility:public"])
78

9+
bool_flag(name = "use_sdk_version", build_setting_default = False)
10+
config_setting(name = "use_sdk_version_enabled", flag_values = {":use_sdk_version": "true"})
11+
config_setting(name = "use_sdk_version_disabled", flag_values = {":use_sdk_version": "false"})
12+
813
cc_stamp_header(
914
name = "bazel_stamp_header",
1015
out = "bazel_stamp_header.hh",
@@ -16,6 +21,10 @@ cc_binary(
1621
"ecsact_cli.cc",
1722
"bazel_stamp_header.hh",
1823
],
24+
defines = select({
25+
":use_sdk_version_enabled": ["ECSACT_CLI_USE_SDK_VERSION"],
26+
":use_sdk_version_disabled": [],
27+
}),
1928
copts = copts,
2029
stamp = 1,
2130
deps = [

ecsact_cli.cc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,19 @@ int main(int argc, char* argv[]) {
8383
if(command == "-h" || command == "--help") {
8484
print_usage();
8585
return 0;
86-
} else if(command == "-v" || command == "--version") {
86+
}
87+
88+
if(command == "-v" || command == "--version") {
89+
#ifdef ECSACT_CLI_USE_SDK_VERSION
8790
std::cout << STABLE_ECSACT_SDK_VERSION << "\n";
8891
return 0;
89-
} else if(command.starts_with('-')) {
92+
#else
93+
std::cerr << "No version available in this build\n";
94+
return 1;
95+
#endif
96+
}
97+
98+
if(command.starts_with('-')) {
9099
std::cerr << "Expected subcommand and instead got '" << command << "'\n";
91100
print_usage();
92101
return 1;

test/.bazelrc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import %workspace%/../bazel/common.bazelrc
22

33
common [email protected]//:use_std_fs
4-
build:windows --workspace_status_command=../bazel/tools/wsc.cmd
5-
build:linux --workspace_status_command=../bazel/tools/wsc.sh
64

75
try-import %workspace%/user.bazelrc

0 commit comments

Comments
 (0)