aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-09-18 10:38:32 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-09-18 10:38:32 +0200
commitf56488af7dc8bdfd430a4ef01bd11148117719b3 (patch)
tree23713c8f90ca7aa3460932f6e5fff6b8a41333c8
parentb7e2fb9aced6822355d31948528bbbaa0275941d (diff)
Add support for VC11 meta-build
-rw-r--r--build/meta/vc10proj.m42
-rw-r--r--build/meta/vc10sln-functions.make4
-rw-r--r--build/meta/vc11proj-functions.make27
-rw-r--r--build/meta/vc11proj.make5
-rw-r--r--build/meta/vc11sln-functions.make29
-rw-r--r--build/meta/vc11sln.make5
-rw-r--r--build/meta/vc9sln-functions.make4
7 files changed, 71 insertions, 5 deletions
diff --git a/build/meta/vc10proj.m4 b/build/meta/vc10proj.m4
index e300149..db1bf83 100644
--- a/build/meta/vc10proj.m4
+++ b/build/meta/vc10proj.m4
@@ -1,5 +1,5 @@
m4_divert(-1)
-# file : build/meta/vc9proj.m4
+# file : build/meta/vc10proj.m4
# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC
# license : GNU GPL v2; see accompanying LICENSE file
diff --git a/build/meta/vc10sln-functions.make b/build/meta/vc10sln-functions.make
index c18e94e..4c8801c 100644
--- a/build/meta/vc10sln-functions.make
+++ b/build/meta/vc10sln-functions.make
@@ -9,13 +9,13 @@
#
# $1 - template path, if doesn't start with /, assume relative to src_base
# $2 - output name (optional)
-# $3 - solution suffix (.vcxproj by default)
+# $3 - solution suffix (-vc10.vcxproj by default)
# $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc
#
$(out_base)/%: meta-vc10sln = \
$(call meta-vc10sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \
$2,$2,$(notdir $1)),$(subst \
-$(src_root),,$(src_base)),$(if $3,$3,.vcxproj),$4,$5,$6,$7,$8,$9)
+$(src_root),,$(src_base)),$(if $3,$3,-vc10.vcxproj),$4,$5,$6,$7,$8,$9)
# $1 - template
# $2 - output name
diff --git a/build/meta/vc11proj-functions.make b/build/meta/vc11proj-functions.make
new file mode 100644
index 0000000..eff9091
--- /dev/null
+++ b/build/meta/vc11proj-functions.make
@@ -0,0 +1,27 @@
+# file : build/meta/vc11proj-functions.make
+# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+# Process VC++ project file template and write output to $(dist_prefix)/<path>.
+# Where path is computed as difference between src_base and src_root.
+#
+# Arguments:
+#
+# $1 - template path, if doesn't start with /, assume relative to src_base
+# $2 - output name (optional)
+# $3-8 - optional pairs of additional varibales and values $3=$4, $5=$6, etc
+#
+#
+$(out_base)/%: meta-vc11proj = \
+$(call meta-vc11proj-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \
+$2,$2,$(notdir $1)),$(subst $(src_root),,$(src_base)),$3,$4,$5,$6,$7,$8)
+
+# $1 - template
+# $2 - output name
+# $3 - difference between src_base and src_root with leading '\'
+# $4-9 - additional varibales
+#
+$(out_base)/%: meta-vc11proj-body = \
+$(call message,meta $(dist_prefix)$3/$2,$(if $4,$4='$5'; export $4; )$(if \
+$6,$6='$7'; export $6; )$(if $8,$8='$9'; export $8; )$(bld_root)/meta/vc10proj \
+-o $(dist_prefix)$3/$2 $1)
diff --git a/build/meta/vc11proj.make b/build/meta/vc11proj.make
new file mode 100644
index 0000000..4cf98ea
--- /dev/null
+++ b/build/meta/vc11proj.make
@@ -0,0 +1,5 @@
+# file : build/meta/vc11proj.make
+# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(call include-once,$(bld_root)/meta/vc11proj-functions.make,$(out_base))
diff --git a/build/meta/vc11sln-functions.make b/build/meta/vc11sln-functions.make
new file mode 100644
index 0000000..2600011
--- /dev/null
+++ b/build/meta/vc11sln-functions.make
@@ -0,0 +1,29 @@
+# file : build/meta/vc11sln-functions.make
+# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+# Process VC++ solution template and write output to $(dist_prefix)/<path>.
+# Where path is computed as difference between src_base and src_root.
+#
+# Arguments:
+#
+# $1 - template path, if doesn't start with /, assume relative to src_base
+# $2 - output name (optional)
+# $3 - solution suffix (-vc11.vcxproj by default)
+# $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc
+#
+$(out_base)/%: meta-vc11sln = \
+$(call meta-vc11sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \
+$2,$2,$(notdir $1)),$(subst \
+$(src_root),,$(src_base)),$(if $3,$3,-vc11.vcxproj),$4,$5,$6,$7,$8,$9)
+
+# $1 - template
+# $2 - output name
+# $3 - difference between src_base and src_root with leading '\'
+# $4 - solution suffix
+# $4-10 - additional varibales
+#
+$(out_base)/%: meta-vc11sln-body = \
+$(call message,meta $(dist_prefix)$3/$2,$(if $5,$5='$6'; export $5; )$(if \
+$7,$7='$8'; export $7; )$(if $9,$9='$(10)'; export $9; )$(bld_root)/meta/vcsln \
+-v 11 -b $(dist_prefix)$3 -e '$4' -o $(dist_prefix)$3/$2 $1)
diff --git a/build/meta/vc11sln.make b/build/meta/vc11sln.make
new file mode 100644
index 0000000..8a212fe
--- /dev/null
+++ b/build/meta/vc11sln.make
@@ -0,0 +1,5 @@
+# file : build/meta/vc11sln.make
+# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC
+# license : GNU GPL v2; see accompanying LICENSE file
+
+$(call include-once,$(bld_root)/meta/vc11sln-functions.make,$(out_base))
diff --git a/build/meta/vc9sln-functions.make b/build/meta/vc9sln-functions.make
index 46f38aa..495b83c 100644
--- a/build/meta/vc9sln-functions.make
+++ b/build/meta/vc9sln-functions.make
@@ -9,13 +9,13 @@
#
# $1 - template path, if doesn't start with /, assume relative to src_base
# $2 - output name (optional)
-# $3 - solution suffix (.vcproj by default)
+# $3 - solution suffix (-vc9.vcproj by default)
# $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc
#
$(out_base)/%: meta-vc9sln = \
$(call meta-vc9sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \
$2,$2,$(notdir $1)),$(subst \
-$(src_root),,$(src_base)),$(if $3,$3,.vcproj),$4,$5,$6,$7,$8,$9)
+$(src_root),,$(src_base)),$(if $3,$3,-vc9.vcproj),$4,$5,$6,$7,$8,$9)
# $1 - template
# $2 - output name