summaryrefslogtreecommitdiff
path: root/libcppbuild.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcppbuild.h')
-rw-r--r--libcppbuild.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcppbuild.h b/libcppbuild.h
index 5b442f8..2aba987 100644
--- a/libcppbuild.h
+++ b/libcppbuild.h
@@ -27,3 +27,9 @@ struct BuildConfiguration
using BuildConfigurations = std::vector<BuildConfiguration>;
int reg(const char* location, BuildConfigurations (*cb)());
+
+// Convenience macro - ugly but keeps things simple(r)
+#define CONCAT(a, b) CONCAT_INNER(a, b)
+#define CONCAT_INNER(a, b) a ## b
+#define UNIQUE_NAME(base) CONCAT(base, __LINE__)
+#define REG(cb) namespace { int UNIQUE_NAME(unique) = reg(__FILE__, cb); }