summaryrefslogtreecommitdiff
path: root/build/make/gen_msvs_sln.sh
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2013-04-05 19:30:15 -0700
committerJames Zern <jzern@google.com>2013-07-10 16:18:13 -0700
commit73c4e284872efaa231bcc70a99b90ebe210e64ba (patch)
treef157b6f703a18efad90882dcfe5b18ae2738c1cb /build/make/gen_msvs_sln.sh
parent7494bba66bb88f3aacdcd403fd13004e6492c669 (diff)
downloadlibvpx-73c4e284872efaa231bcc70a99b90ebe210e64ba.tar
libvpx-73c4e284872efaa231bcc70a99b90ebe210e64ba.tar.gz
libvpx-73c4e284872efaa231bcc70a99b90ebe210e64ba.tar.bz2
libvpx-73c4e284872efaa231bcc70a99b90ebe210e64ba.zip
msvs-build: use msbuild for vs >= 2005
allows concurrent builds via the /m command line option Change-Id: I668792ba00276e8626dc175c0a44ddab35fc7114
Diffstat (limited to 'build/make/gen_msvs_sln.sh')
-rwxr-xr-xbuild/make/gen_msvs_sln.sh25
1 files changed, 18 insertions, 7 deletions
diff --git a/build/make/gen_msvs_sln.sh b/build/make/gen_msvs_sln.sh
index 5a8c79368..f9fc69428 100755
--- a/build/make/gen_msvs_sln.sh
+++ b/build/make/gen_msvs_sln.sh
@@ -74,8 +74,13 @@ parse_project() {
# assume that all projects have the same list of possible configurations,
# so overwriting old config_lists is not a problem
- config_list=`grep -A1 '<Configuration' $file |
- grep Name | cut -d\" -f2`
+ if [ "$sfx" = "vcproj" ]; then
+ config_list=`grep -A1 '<Configuration' $file |
+ grep Name | cut -d\" -f2`
+ else
+ config_list=`grep -B1 'Label="Configuration"' $file |
+ grep Condition | cut -d\' -f4`
+ fi
proj_list="${proj_list} ${var}"
}
@@ -168,9 +173,14 @@ process_makefile() {
IFS=$'\r'$'\n'
local TAB=$'\t'
cat <<EOF
-found_devenv := \$(shell which devenv.com >/dev/null 2>&1 && echo yes)
+ifeq (\$(CONFIG_VS_VERSION),7)
+MSBUILD_TOOL := devenv.com
+else
+MSBUILD_TOOL := msbuild.exe
+endif
+found_devenv := \$(shell which \$(MSBUILD_TOOL) >/dev/null 2>&1 && echo yes)
.nodevenv.once:
-${TAB}@echo " * devenv.com not found in path."
+${TAB}@echo " * \$(MSBUILD_TOOL) not found in path."
${TAB}@echo " * "
${TAB}@echo " * You will have to build all configurations manually using the"
${TAB}@echo " * Visual Studio IDE. To allow make to build them automatically,"
@@ -195,16 +205,17 @@ ${TAB}rm -rf "$platform"/"$config"
ifneq (\$(found_devenv),)
ifeq (\$(CONFIG_VS_VERSION),7)
$nows_sln_config: $outfile
-${TAB}devenv.com $outfile -build "$config"
+${TAB}\$(MSBUILD_TOOL) $outfile -build "$config"
else
$nows_sln_config: $outfile
-${TAB}devenv.com $outfile -build "$sln_config"
+${TAB}\$(MSBUILD_TOOL) $outfile -m -t:Build \\
+${TAB}${TAB}-p:Configuration="$config" -p:Platform="$platform"
endif
else
$nows_sln_config: $outfile .nodevenv.once
-${TAB}@echo " * Skipping build of $sln_config (devenv.com not in path)."
+${TAB}@echo " * Skipping build of $sln_config (\$(MSBUILD_TOOL) not in path)."
${TAB}@echo " * "
endif