Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/windirstat.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Schneider <oliver@assarbad.net>2015-11-15 22:48:52 +0300
committerOliver Schneider <oliver@assarbad.net>2015-11-15 22:48:52 +0300
commit57f06afdb61633745ed144a951ad8eb6de2e899c (patch)
treec1ce51dfc070b2a462088b126e07758a21c6e6a0
parentc91d9bb5f4be3bdbc8dd112fd8f68ff4b99d70e4 (diff)
New setvcvars.cmd
Adding contributors for which I received names to the CONTRIBUTORS.txt (still need to add them to the about dialog) Minor corrections to the premake4.lua
-rw-r--r--CONTRIBUTORS.txt6
-rw-r--r--README.md2
-rw-r--r--common/setvcvars.cmd85
-rw-r--r--premake4.lua31
4 files changed, 105 insertions, 19 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index e114095..65bad28 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -6,6 +6,12 @@ Project creator, initial author
Direct contributors
-------------------
+- Falco Peijnenburg
+ * Performance improvments to the treemap rendering
+
+- Morten Asscheman
+ * Performance improvments to the treemap rendering
+
- Oliver Schneider (maintainer)
- Chris Wimmer
diff --git a/README.md b/README.md
index abddb1f..dadb1f6 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
## Copyright and licenses
* Copyright © 2003-2005 Bernhard Seifert (bseifert@users.sourceforge.net)
-* Copyright © 2004-2014 WinDirStat team (windirstat.info)
+* Copyright © 2004-2015 WinDirStat team (windirstat.info)
The application itself is distributed under the terms of the [GPL v2](https://bitbucket.org/windirstat/windirstat/raw/tip/windirstat/res/license.txt),
but parts of the source code are also available under more lenient license terms.
diff --git a/common/setvcvars.cmd b/common/setvcvars.cmd
index 82dce05..7d03038 100644
--- a/common/setvcvars.cmd
+++ b/common/setvcvars.cmd
@@ -1,18 +1,19 @@
@echo off
@if not "%OS%"=="Windows_NT" @(echo This script requires Windows NT 4.0 or later to run properly! & goto :EOF)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-::: 2009-2013, Oliver Schneider (assarbad.net) - PUBLIC DOMAIN/CC0
+::: 2009-2015, Oliver Schneider (assarbad.net) - PUBLIC DOMAIN/CC0
::: Available from: <https://bitbucket.org/assarbad/scripts/>
:::
-::: PURPOSE: This script can be used to run the vcvars32.bat from any of the
-::: existing Visual C++ versions from .NET (2002) through 2013 or
-::: custom given versions (or single version) on the command line.
+::: PURPOSE: This script can be used to run the vcvars32.bat/vcvarsall.bat
+::: from any of the existing Visual C++ versions starting with .NET
+::: (2002) through 2015 or versions (or a single version) given on
+::: the command line.
::: The script will try to find the newest installed VC version by
::: iterating over the space-separated (descending) list of versions
-::: in the variable SUPPORTED_VC below.
+::: in the variable SUPPORTED_VC below, by default.
::: Call it from another script and after that you will have NMAKE,
::: DEVENV.EXE and friends available without having to hardcode
-::: their path into a script or makefile.
+::: their paths into a script or makefile.
:::
::: DISCLAIMER: Disclaimer: This software is provided 'as-is', without any
::: express or implied warranty. In no event will the author be
@@ -20,17 +21,26 @@
::: software.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:SCRIPT
-if defined VCVER_FRIENDLY echo This script expects a clean environment. Don't run it several times in the same instance of CMD!&goto :EOF
setlocal & pushd .
+:: Toolsets (potentially) supported
+set SUPPORTED_TSET=amd64 x86 ia64 x86_ia64 x86_amd64 amd64_x86 x86_arm amd64_arm
+if not "%~1" == "" @(
+ if "%~1" == "/?" popd&endlocal&goto :Help
+ if "%~1" == "-?" popd&endlocal&goto :Help
+ if "%~1" == "/h" popd&endlocal&goto :Help
+ if "%~1" == "-h" popd&endlocal&goto :Help
+ if "%~1" == "/help" popd&endlocal&goto :Help
+ if "%~1" == "--help" popd&endlocal&goto :Help
+)
+if defined VCVER_FRIENDLY echo This script expects a clean environment. Don't run it several times in the same instance of CMD! Or use setlocal and endlocal in your own script to limit the effect of this one.&goto :EOF
set MIN_VC=7.0
-set MAX_VC=12.0
+set MAX_VC=14.0
set MIN_NICE=2002
+set MAX_NICE=2015
:: Internal representation of the version number
-set SUPPORTED_VC=12.0 11.0 10.0 9.0 8.0 7.1 7.0
+set SUPPORTED_VC=14.0 12.0 11.0 10.0 9.0 8.0 7.1 7.0
:: Marketing name of the Visual Studio versions
-set SUPPORTED_NICE=2013 2012 2010 2008 2005 2003 2002
-:: Toolsets (potentially) supported
-set SUPPORTED_TSET=amd64 x86 ia64 x86_ia64 x86_amd64 x86_arm
+set SUPPORTED_NICE=2015 2013 2012 2010 2008 2005 2003 2002
set DEFAULT_TSET=x86
reg /? > NUL 2>&1 || echo "REG.EXE is a prerequisite but wasn't found!" && goto :EOF
set SETVCV_ERROR=0
@@ -42,7 +52,7 @@ if not "%~1" == "" @(
)
:: Fall back to x86 if not given
if not defined VCTGT_TOOLSET set VCTGT_TOOLSET=%DEFAULT_TSET%
-:: Make the string appear a bit nicer
+:: Make the string appear a bit nicer, i.e. comma-separated
set SUPPORTED_PP=%SUPPORTED_NICE: =, %
:: Allow the version to be overridden on the command line
:: ... else find the VC versions in the order given by SUPPORTED_VC
@@ -82,10 +92,17 @@ goto :EOF
setlocal ENABLEEXTENSIONS & set VCVER=%~1
:: We're not interested in overwriting an already existing value
if defined VCVARS_PATH @( endlocal & goto :EOF )
-:: Now let's distinguish the "nice" version numbers (2002, ... 2013) from the internal ones
+:: Now let's distinguish the "nice" version numbers (2002, ... 2015) from the internal ones
+set VCVER=%VCVER:vs=%
if "%VCVER%" geq "%MIN_NICE%" call :NICE_%VCVER% > NUL 2>&1
+:: Figure out the set of supported toolsets
+set VCVERLBL=%VCVER:.=_%
+call :TSET_%VCVERLBL% > NUL 2>&1
:: Jump over those "subs"
goto :NICE_SET
+:NICE_2015
+ set VCVER=14.0
+ goto :EOF
:NICE_2013
set VCVER=12.0
goto :EOF
@@ -107,10 +124,22 @@ goto :NICE_SET
:NICE_2002
set VCVER=7.0
goto :EOF
+:TSET_14_0
+:TSET_12_0
+ set SUPPORTED_TSET=x86 amd64 arm x86_amd64 x86_arm amd64_x86 amd64_arm
+ goto :EOF
+:TSET_11_0
+ set SUPPORTED_TSET=x86 amd64 arm x86_amd64 x86_arm
+ goto :EOF
+:TSET_10_0
+:TSET_9_0
+:TSET_8_0
+ set SUPPORTED_TSET=x86 ia64 amd64 x86_amd64 x86_ia64
+ goto :EOF
:NICE_SET
:: This is where we intend to find the installation path in the registry
set _VSINSTALLKEY=HKLM\SOFTWARE\Microsoft\VisualStudio\%VCVER%\Setup\VC
-echo Trying to find Visual C++ %VCVER% ^(%VCTGT_TOOLSET%^)
+echo Trying to locate Visual C++ %VCVER% ^(%VCTGT_TOOLSET%^)
for /f "tokens=2*" %%i in ('reg query "%_VSINSTALLKEY%" /v ProductDir 2^> NUL') do @(
call :SetVar _VCINSTALLDIR "%%j"
)
@@ -122,6 +151,7 @@ if not defined _VCINSTALLDIR @(
)
)
set TEMP_TOOLSET=%VCTGT_TOOLSET%
+set TEMP_SUPPORTED=
if defined _VCINSTALLDIR @(
if EXIST "%_VCINSTALLDIR%\vcvarsall.bat" @(
call :SetVar VCVARS_PATH "%_VCINSTALLDIR%\vcvarsall.bat"
@@ -131,7 +161,13 @@ if defined _VCINSTALLDIR @(
call :SetVar VCTGT_TOOLSET
)
)
-:
+if not "%VCTGT_TOOLSET%" == "" @(
+ for %%i in (%SUPPORTED_TSET%) do @(
+ if "%VCTGT_TOOLSET%" == "%%i" call :SetVar TEMP_SUPPORTED yes
+ )
+)
+if not "%TEMP_SUPPORTED%" == "yes" @( echo ERROR: Invalid toolset %TEMP_TOOLSET% for version %VCVER% of Visual C++&endlocal&set SETVCV_ERROR=1&goto :EOF )
+set VCTGT_TOOLSET=%TEMP_TOOLSET%
:: Return, in case nothing was found
if not defined VCVARS_PATH @( endlocal&set SETVCV_ERROR=1&goto :EOF )
:: Replace the . in the version by an underscore
@@ -140,6 +176,9 @@ set VCVERLBL=%VCVER:.=_%
call :FRIENDLY_%VCVERLBL% > NUL 2>&1
:: Jump over those "subs"
goto :FRIENDLY_SET
+:FRIENDLY_14_0
+ set _VCVER=2015 ^[%TEMP_TOOLSET%^]
+ goto :EOF
:FRIENDLY_12_0
set _VCVER=2013 ^[%TEMP_TOOLSET%^]
goto :EOF
@@ -171,6 +210,20 @@ goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::: / Help subroutine
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:Help
+echo.
+echo Syntax: setvcvars ^[toolset^] ^[store^] ^[VS versions^]
+echo.
+echo The toolset can be one of %SUPPORTED_TSET% according to the version of Visual Studio.
+echo 'store' is the literal string store for Visual Studio 2015 and newer.
+exit /b 0
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::: \ Help subroutine
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::: / SetVar subroutine
::: Param1 == name of the variable, Param2 == value to be set for the variable
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
diff --git a/premake4.lua b/premake4.lua
index 4cd9dcf..98c0313 100644
--- a/premake4.lua
+++ b/premake4.lua
@@ -25,12 +25,39 @@ if _OPTIONS["release"] then
_OPTIONS["release"] = pfx
end
do
+ -- This is mainly to support older premake4 builds
+ if not premake.project.getbasename then
+ print "Magic happens ..."
+ -- override the function to establish the behavior we'd get after patching Premake to have premake.project.getbasename
+ premake.project.getbasename = function(prjname, pattern)
+ return pattern:gsub("%%%%", prjname)
+ end
+ -- obviously we also need to overwrite the following to generate functioning VS solution files
+ premake.vstudio.projectfile = function(prj)
+ local pattern
+ if prj.language == "C#" then
+ pattern = "%%.csproj"
+ else
+ pattern = iif(_ACTION > "vs2008", "%%.vcxproj", "%%.vcproj")
+ end
+
+ local fname = premake.project.getbasename(prj.name, pattern)
+ fname = path.join(prj.location, fname)
+ return fname
+ end
+ -- we simply overwrite the original function on older Premake versions
+ premake.project.getfilename = function(prj, pattern)
+ local fname = premake.project.getbasename(prj.name, pattern)
+ fname = path.join(prj.location, fname)
+ return path.getrelative(os.getcwd(), fname)
+ end
+ end
-- Name the project files after their VS version
local orig_getbasename = premake.project.getbasename
premake.project.getbasename = function(prjname, pattern)
- -- The below is used to insert the .vs(8|9|10|11|12) into the file names for projects and solutions
+ -- The below is used to insert the .vs(8|9|10|11|12|14) into the file names for projects and solutions
if _ACTION then
- name_map = {vs2005 = "vs8", vs2008 = "vs9", vs2010 = "vs10", vs2012 = "vs11", vs2013 = "vs12"}
+ name_map = {vs2005 = "vs8", vs2008 = "vs9", vs2010 = "vs10", vs2012 = "vs11", vs2013 = "vs12", vs2015 = "vs14"}
if name_map[_ACTION] then
pattern = pattern:gsub("%%%%", "%%%%." .. name_map[_ACTION])
else