diff options
author | James Zern <jzern@google.com> | 2013-04-05 19:30:15 -0700 |
---|---|---|
committer | James Zern <jzern@google.com> | 2013-07-10 16:18:13 -0700 |
commit | 73c4e284872efaa231bcc70a99b90ebe210e64ba (patch) | |
tree | f157b6f703a18efad90882dcfe5b18ae2738c1cb /build/make/gen_msvs_sln.sh | |
parent | 7494bba66bb88f3aacdcd403fd13004e6492c669 (diff) | |
download | libvpx-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-x | build/make/gen_msvs_sln.sh | 25 |
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 |