blob: 46772fe3b59a62bb32757625ee030ff2dfd788b3 [file] [log] [blame]
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 0000000..b1a3cd8
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,68 @@
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
+
+exports_files(["toml.hpp"])
+
+cc_library(
+ name = "toml++",
+ hdrs = ["toml.hpp"],
+ visibility = ["//visibility:public"],
+)
+
+alias(
+ name = "tomlplusplus",
+ actual = "toml++",
+ visibility = ["//visibility:public"],
+)
+
+cc_library(
+ name = "toml++-src",
+ srcs = glob([
+ "include/toml++/impl/*.hpp",
+ "include/toml++/impl/*.inl",
+ ]),
+ hdrs = [
+ "include/toml++/toml.h",
+ "include/toml++/toml.hpp",
+ ],
+ includes = ["include/toml++"],
+ strip_include_prefix = "include",
+)
+
+cc_library(
+ name = "vendor",
+ hdrs = glob(["vendor/*.hpp"]),
+)
+
+cc_test(
+ name = "tests",
+ srcs = glob(
+ [
+ "tests/*.cpp",
+ "tests/*.hpp",
+ ],
+ exclude = [
+ "tests/odr_test_1.cpp",
+ ],
+ ),
+ copts = select({
+ "@platforms//os:windows": ["/std:c++17"],
+ "//conditions:default": ["-std=c++17"],
+ }),
+ deps = [
+ ":toml++",
+ ":toml++-src",
+ ":vendor",
+ ],
+)
+
+cc_test(
+ name = "odr_test_1",
+ srcs = ["tests/odr_test_1.cpp"],
+ copts = select({
+ "@platforms//os:windows": ["/std:c++17"],
+ "//conditions:default": ["-std=c++17"],
+ }),
+ deps = [
+ ":toml++",
+ ],
+)
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 0000000..b7a63a9
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,7 @@
+module(
+ name = "tomlplusplus",
+ version = "3.4.0",
+)
+
+bazel_dep(name = "platforms", version = "0.0.10")
+bazel_dep(name = "rules_cc", version = "0.0.9")