Skip to content

Commit f7ebe94

Browse files
authored
Merge pull request #11 from Emreiris/ei/add-bazel-support
Ei/add bazel support
2 parents 5a52bd0 + f2efed0 commit f7ebe94

File tree

8 files changed

+99
-3
lines changed

8 files changed

+99
-3
lines changed

.bazelversion

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

.github/workflows/ci.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,3 @@ jobs:
110110
env:
111111
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
112112

113-

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,8 @@
3535
/.vs
3636
/build
3737
/cmake-build-debug
38-
/out
38+
/out
39+
40+
# Bazel files
41+
bazel-*
42+
MODULE.bazel.lock

BUILD.bazel

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
2+
cc_library(
3+
name = "cpp-semver",
4+
hdrs = ["include/semver/semver.hpp"],
5+
includes = ["include"],
6+
visibility = ["//visibility:public"],
7+
)
8+
9+
cc_binary(
10+
name = "cpp-semver-example",
11+
srcs = ["example/compiler-explorer-example.cpp"],
12+
deps = [":cpp-semver"],
13+
visibility = ["//visibility:public"],
14+
)
15+
16+
cc_test(
17+
name = "cpp-semver-compare",
18+
srcs = ["test/compare.cpp"],
19+
deps = [":cpp-semver",
20+
"@catch2//:catch2_main",],
21+
visibility = ["//visibility:public"],
22+
)
23+
24+
cc_test(
25+
name = "cpp-semver-increment",
26+
srcs = ["test/increment.cpp"],
27+
deps = [":cpp-semver",
28+
"@catch2//:catch2_main",],
29+
visibility = ["//visibility:public"],
30+
)
31+
32+
cc_test(
33+
name = "cpp-semver-prerelease",
34+
srcs = ["test/prerelease.cpp"],
35+
deps = [":cpp-semver",
36+
"@catch2//:catch2_main",],
37+
visibility = ["//visibility:public"],
38+
)
39+
40+
cc_test(
41+
name = "cpp-semver-serialization",
42+
srcs = ["test/serialization.cpp"],
43+
deps = [":cpp-semver",
44+
"@catch2//:catch2_main",],
45+
visibility = ["//visibility:public"],
46+
)
47+
48+
cc_test(
49+
name = "cpp-semver-version",
50+
srcs = ["test/version.cpp"],
51+
deps = [":cpp-semver",
52+
"@catch2//:catch2_main"],
53+
visibility = ["//visibility:public"],
54+
)
55+
56+
test_suite(
57+
name = "cpp-semver-tests",
58+
tests = [
59+
":cpp-semver-compare",
60+
":cpp-semver-increment",
61+
":cpp-semver-prerelease",
62+
":cpp-semver-serialization",
63+
":cpp-semver-version",
64+
],
65+
visibility = ["//visibility:public"],
66+
)

MODULE.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module( name = "cpp-semver")
2+
3+
bazel_dep(name = "catch2", version = "3.6.0")

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,28 @@ provides the ability to **parse**, **compare**, and **increment** semantic versi
5757
vcpkg install z4kn4fein-semver
5858
```
5959

60+
4. With `Bazel`
61+
If you wish to use Bazel add MODULE.bazel
62+
```
63+
bazel_dep(name = "cpp-semver", version = "<cpp-semver-version>")
64+
65+
git_override(
66+
module_name = "cpp-semver",
67+
remote = "https://github.com/z4kn4fein/cpp-semver.git",
68+
tag = "<cpp-semver-version>"
69+
)
70+
71+
```
72+
and include cpp-semver to your dependency list. Example is given below:
73+
```
74+
cc_library(
75+
name = "example-library",
76+
deps = ["@cpp-semver//:cpp-semver"],
77+
)
78+
```
79+
80+
Note: C++ module support for *Bazel* has not been added yet.
81+
6082
## Usage
6183
The following options are available to construct a `version`:
6284
1. Building part by part.

WORKSPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
workspace(name = "cpp-semver")

example/compiler-explorer-example.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include <iostream>
2-
#include "https://raw.githubusercontent.com/z4kn4fein/cpp-semver/main/include/semver/semver.hpp"
2+
#include "semver/semver.hpp"
33

44
using namespace std;
55
using namespace semver::literals;

0 commit comments

Comments
 (0)