aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-12-03 18:21:26 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-12-03 18:21:26 +0200
commit0dfd165b5381286dc76f96637b9eb24b26a0b4b9 (patch)
tree1ca3d655326d6154d350172553fc9c4624e5753f
parentd109616006be29c4106966f77d0c0b22d51372ca (diff)
Use 'extension' variable for cxx target types, .*xx extensions by default
One can also do: define cpp: cxx cpp{*}: extension = cpp cpp{foo}: # foo.cpp
-rw-r--r--build/cxx/target.cxx26
-rw-r--r--build/root.build8
2 files changed, 18 insertions, 16 deletions
diff --git a/build/cxx/target.cxx b/build/cxx/target.cxx
index b84167b..314f758 100644
--- a/build/cxx/target.cxx
+++ b/build/cxx/target.cxx
@@ -10,68 +10,70 @@ namespace build
{
namespace cxx
{
- constexpr const char hxx_ext_var[] = "hxx.ext";
+ constexpr const char ext_var[] = "extension";
+
+ constexpr const char hxx_ext_def[] = "hxx";
const target_type hxx::static_type
{
"hxx",
&file::static_type,
&target_factory<hxx>,
- &target_extension_var<hxx_ext_var, nullptr>,
+ &target_extension_var<ext_var, hxx_ext_def>,
&search_file,
false
};
- constexpr const char ixx_ext_var[] = "ixx.ext";
+ constexpr const char ixx_ext_def[] = "ixx";
const target_type ixx::static_type
{
"ixx",
&file::static_type,
&target_factory<ixx>,
- &target_extension_var<ixx_ext_var, nullptr>,
+ &target_extension_var<ext_var, ixx_ext_def>,
&search_file,
false
};
- constexpr const char txx_ext_var[] = "txx.ext";
+ constexpr const char txx_ext_def[] = "txx";
const target_type txx::static_type
{
"txx",
&file::static_type,
&target_factory<txx>,
- &target_extension_var<txx_ext_var, nullptr>,
+ &target_extension_var<ext_var, txx_ext_def>,
&search_file,
false
};
- constexpr const char cxx_ext_var[] = "cxx.ext";
+ constexpr const char cxx_ext_def[] = "cxx";
const target_type cxx::static_type
{
"cxx",
&file::static_type,
&target_factory<cxx>,
- &target_extension_var<cxx_ext_var, nullptr>,
+ &target_extension_var<ext_var, cxx_ext_def>,
&search_file,
false
};
- constexpr const char h_ext_var[] = "h.ext";
+ constexpr const char h_ext_def[] = "h";
const target_type h::static_type
{
"h",
&file::static_type,
&target_factory<h>,
- &target_extension_var<h_ext_var, nullptr>,
+ &target_extension_var<ext_var, h_ext_def>,
&search_file,
false
};
- constexpr const char c_ext_var[] = "c.ext";
+ constexpr const char c_ext_def[] = "c";
const target_type c::static_type
{
"c",
&file::static_type,
&target_factory<c>,
- &target_extension_var<c_ext_var, nullptr>,
+ &target_extension_var<ext_var, c_ext_def>,
&search_file,
false
};
diff --git a/build/root.build b/build/root.build
index 1be6cb7..230c58d 100644
--- a/build/root.build
+++ b/build/root.build
@@ -4,10 +4,10 @@
using cxx
-hxx.ext =
-ixx.ext = ixx
-txx.ext = txx
-cxx.ext = cxx
+hxx{*}: extension =
+ixx{*}: extension = ixx
+txx{*}: extension = txx
+cxx{*}: extension = cxx
cxx.std = 14
cxx.poptions += -I$src_root