ref: 73c4e284872efaa231bcc70a99b90ebe210e64ba
parent: 7494bba66bb88f3aacdcd403fd13004e6492c669
author: James Zern <jzern@google.com>
date: Fri Apr 5 15:30:15 EDT 2013
msvs-build: use msbuild for vs >= 2005 allows concurrent builds via the /m command line option Change-Id: I668792ba00276e8626dc175c0a44ddab35fc7114
--- a/build/make/gen_msvs_sln.sh
+++ b/build/make/gen_msvs_sln.sh
@@ -74,8 +74,13 @@
# 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 @@
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 @@
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
--
⑨