From 7caa4e3e1da2cbb0e5a744861d99f457a85940d5 Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Thu, 19 Nov 2015 17:30:29 +0200 Subject: [PATCH] Replace cecho.exe with PowerShell snippet, fix exit bug in vs-cfg.cmd, fix Visual Studio download URL, rename IFCOS_NUM_BUILD_PROCESSES -> IFCOS_NUM_BUILD_PROCS --- win/build-deps.cmd | 118 ++++++++++++++++++++------------------- win/run-cmake.bat | 12 ++-- win/utils/cecho test.bat | 65 --------------------- win/utils/cecho.cmd | 4 ++ win/utils/cecho.exe | Bin 26112 -> 0 bytes win/utils/cecho.txt | 1 - win/vs-cfg.cmd | 12 ++-- 7 files changed, 76 insertions(+), 136 deletions(-) delete mode 100644 win/utils/cecho test.bat create mode 100644 win/utils/cecho.cmd delete mode 100644 win/utils/cecho.exe delete mode 100644 win/utils/cecho.txt diff --git a/win/build-deps.cmd b/win/build-deps.cmd index 976c03480a..7ab70aa37b 100644 --- a/win/build-deps.cmd +++ b/win/build-deps.cmd @@ -31,13 +31,13 @@ setlocal EnableDelayedExpansion :: Make sure vcvarsall.bat is called and dev env set is up. IF "%VSINSTALLDIR%"=="" ( - utils\cecho {0C}Visual Studio environment variables not set - cannot proceed!{# #}{\n} + call utils\cecho.cmd 0 12 "Visual Studio environment variables not set - cannot proceed!" GOTO :Error ) set PROJECT_NAME=IfcOpenShell -utils\cecho {F0}This script fetches and builds all %PROJECT_NAME% dependencies{# #}{\n} +call utils\cecho.cmd 15 0 "This script fetches and builds all %PROJECT_NAME% dependencies" echo. :: Set up variables depending on the used Visual Studio version @@ -47,14 +47,14 @@ IF NOT %ERRORLEVEL%==0 GOTO :Error set BUILD_TYPE=%3 IF %GENERATOR%=="" ( - cecho {0C}GENERATOR not specified - cannot proceed!{# #}{\n} + call cecho.cmd 0 12 "GENERATOR not specified - cannot proceed!" GOTO :Error ) IF "%BUILD_TYPE%"=="" set BUILD_TYPE=Build IF NOT "!BUILD_TYPE!"=="Build" IF NOT "!BUILD_TYPE!"=="Rebuild" IF NOT "!BUILD_TYPE!"=="Clean" ( - utils\cecho {0C}Invalid build type passed: !BUILD_TYPE!. Cannot proceed, aborting!{# #}{\n} + call utils\cecho.cmd 0 12 "Invalid build type passed: !BUILD_TYPE!. Cannot proceed, aborting!" GOTO :Error ) @@ -68,63 +68,64 @@ IF %VS_VER%==2008 set PATH=C:\Windows\Microsoft.NET\Framework\v3.5;%PATH% :: User-configurable build options IF "%IFCOS_INSTALL_PYTHON%"=="" set IFCOS_INSTALL_PYTHON=TRUE IF "%IFCOS_USE_PYTHON2%"=="" set IFCOS_USE_PYTHON2=FALSE -IF "%IFCOS_NUM_BUILD_PROCESSES%"=="" set IFCOS_NUM_BUILD_PROCESSES=%NUMBER_OF_PROCESSORS% +IF "%IFCOS_NUM_BUILD_PROCS%"=="" set IFCOS_NUM_BUILD_PROCS=%NUMBER_OF_PROCESSORS% :: For subroutines -set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCESSES% /t:%BUILD_TYPE% +set MSBUILD_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% /t:%BUILD_TYPE% REM /clp:ErrorsOnly;WarningsOnly :: Note BUILD_TYPE not passed, Clean e.g. wouldn't delete the installed files. -set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCESSES% +set INSTALL_CMD=MSBuild.exe /nologo /m:%IFCOS_NUM_BUILD_PROCS% set BUILD_DIR=build-vs%VS_VER%-%TARGET_ARCH% REM echo. -REM cecho {F0}This script fetches and builds all %PROJECT_NAME% dependencies{# #}{\n} +REM call cecho.cmd 0 15 "This script fetches and builds all %PROJECT_NAME% dependencies" :: Print build configuration information echo. -cecho {0A}Script configuration:{# #}{\n} -cecho {0D} CMake Generator = %GENERATOR%{# #}{\n} -echo - Passed to CMake -G option. -cecho {0D} Target Architecture = %TARGET_ARCH%{# #}{\n} -echo - Whether were doing 32-bit (x86) or 64-bit (x64) build. -cecho {0D} Dependency Directory = %DEPS_DIR%{# #}{\n} -echo - The directory where %PROJECT_NAME% dependencies are fetched and built. -cecho {0D} Installation Directory = %INSTALL_DIR%{# #}{\n} -echo - The directory where %PROJECT_NAME% dependencies are installed. -cecho {0D} Build Config Type = %BUILD_CFG%{# #}{\n} -echo - The used build configuration type for the dependencies. + +call cecho.cmd 0 10 "Script configuration:" +call cecho.cmd 0 13 "* CMake Generator`t= '`"%GENERATOR_DEFAULT%`'`t +echo - Passed to CMake -G option. +call cecho.cmd 0 13 "* Target Architecture`t= %TARGET_ARCH%" +echo - Whether were doing 32-bit (x86) or 64-bit (x64) build. +call cecho.cmd 0 13 "* Dependency Directory`t= %DEPS_DIR%" +echo - The directory where %PROJECT_NAME% dependencies are fetched and built. +call cecho.cmd 0 13 "* Installation Directory = %INSTALL_DIR%" +echo - The directory where %PROJECT_NAME% dependencies are installed. +call cecho.cmd 0 13 "* Build Config Type`t= %BUILD_CFG%" +echo - The used build configuration type for the dependencies. echo Defaults to RelWithDebInfo if not specified. -IF %BUILD_CFG%==MinSizeRel cecho {0E} WARNING: MinSizeRel build can suffer from a significant performance loss.{# #}{\n} -cecho {0D} Build Type = %BUILD_TYPE%{# #}{\n} -echo - The used build type for the dependencies (Build, Rebuild, Clean). +IF %BUILD_CFG%==MinSizeRel call cecho.cmd 0 14 " WARNING: MinSizeRel build can suffer from a significant performance loss." +call cecho.cmd 0 13 "* Build Type`t`t= %BUILD_TYPE%" +echo - The used build type for the dependencies (Build, Rebuild, Clean). echo Defaults to Build if not specified. Rebuild/Clean also uninstalls Python (if it was installed by this script). -cecho {0D} IFCOS_INSTALL_PYTHON = %IFCOS_INSTALL_PYTHON%{# #}{\n} -echo - Download and install Python. +call cecho.cmd 0 13 "* IFCOS_INSTALL_PYTHON`t= %IFCOS_INSTALL_PYTHON%" +echo - Download and install Python. echo Set to something other than TRUE if you wish to use an already installed version of Python. -cecho {0D} IFCOS_USE_PYTHON2 = %IFCOS_USE_PYTHON2%{# #}{\n} -echo - Use Python 2 instead of 3. +call cecho.cmd 0 13 "* IFCOS_USE_PYTHON2`t= %IFCOS_USE_PYTHON2%" +echo - Use Python 2 instead of 3. echo Set to TRUE if you wish to use Python 2 instead of 3. Has no effect if IFCOS_INSTALL_PYTHON is not TRUE. -cecho {0D} IFCOS_NUM_BUILD_PROCESSES = %IFCOS_NUM_BUILD_PROCESSES%{# #}{\n} -echo - How many MSBuild.exe processes may be run in parallel. +call cecho.cmd 0 13 "* IFCOS_NUM_BUILD_PROCS`t= %IFCOS_NUM_BUILD_PROCS%" +echo - How many MSBuild.exe processes may be run in parallel. echo Defaults to NUMBER_OF_PROCESSORS. echo. :: Print script's usage information -cecho {0A}Requirements for a successful execution:{# #}{\n} -echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. -echo - https://support.microsoft.com/en-us/kb/968929 -echo 2. Install Git and make sure 'git' is accessible from PATH. -echo - http://code.google.com/p/tortoisegit/ -echo 3. Install CMake and make sure 'cmake' is accessible from PATH. -echo - http://www.cmake.org/ -echo 4. Visual Studio 2008 or newer (2013 or newer recommended). -echo - http://www.cmake.org/ -echo 5. Run this batch script with Visual Studio environment variables set. -echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx +call cecho.cmd 0 10 "Requirements for a successful execution:" +echo 1. Install PowerShell (preinstalled in Windows ^>= 7) and make sure 'powershell' is accessible from PATH. +echo - https://support.microsoft.com/en-us/kb/968929 +echo 2. Install Git and make sure 'git' is accessible from PATH. +echo - http://code.google.com/p/tortoisegit/ +echo 3. Install CMake and make sure 'cmake' is accessible from PATH. +echo - http://www.cmake.org/ +echo 4. Visual Studio 2008 or newer (2013 or newer recommended). +echo - https://www.visualstudio.com/ +echo 5. Run this batch script with Visual Studio environment variables set. +echo - https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx echo. REM TODO 3ds Max SDK? -cecho {0E}Warning: You will need roughly 8 GB of disk space to proceed (VS 2015 x64 RelWithDebInfo).{# #}{\n} +call cecho.cmd 0 14 "Warning: You will need roughly 8 GB of disk space to proceed `(VS 2015 x64 RelWithDebInfo`)." echo. echo If you are not ready with the above, press Ctrl-C to abort! @@ -150,6 +151,7 @@ set ZIP_EXT=7z set BOOST_ZIP=boost_%BOOST_VER%.%ZIP_EXT% call :DownloadFile http://downloads.sourceforge.net/project/boost/boost/%BOOST_VERSION%/%BOOST_ZIP% "%DEPS_DIR%" %BOOST_ZIP% + IF NOT %ERRORLEVEL%==0 GOTO :Error call :ExtractArchive %BOOST_ZIP% "%DEPS_DIR%" "%DEPS_DIR%\boost" IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -160,7 +162,7 @@ IF EXIST "%DEPS_DIR%\boost_%BOOST_VER%". ( ren boost_%BOOST_VER% boost IF NOT EXIST "%DEPS_DIR%\boost\boost.css" GOTO :Error cd "%DEPS_DIR%\boost" - cecho {0D}Building Boost build script.{# #}{\n} + call cecho.cmd 0 13 "Building Boost build script." call bootstrap vc%VC_VER% IF NOT %ERRORLEVEL%==0 GOTO :Error ) @@ -168,9 +170,9 @@ IF EXIST "%DEPS_DIR%\boost_%BOOST_VER%". ( set BOOST_LIBS=--with-system --with-regex --with-thread --with-program_options --with-date_time :: NOTE Boost is fast to build with limited set of libraries so build it always. cd "%DEPS_DIR%\boost" -cecho {0D}Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while.{# #}{\n} +call cecho.cmd 0 13 "Building %DEPENDENCY_NAME% %BOOST_LIBS% Please be patient, this will take a while." IF EXIST "%DEPS_DIR%\boost\bin.v2\project-cache.jam" del "%DEPS_DIR%\boost\bin.v2\project-cache.jam" -call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCESSES% ^ +call .\b2 toolset=msvc-%VC_VER%.0 runtime-link=static address-model=%ARCH_BITS% -j%IFCOS_NUM_BUILD_PROCS% ^ variant=%DEBUG_OR_RELEASE_LOWERCASE% %BOOST_LIBS% stage --stagedir=stage/vs%VS_VER%-%VS_PLATFORM% IF NOT %ERRORLEVEL%==0 GOTO :Error @@ -301,18 +303,18 @@ IF "%IFCOS_INSTALL_PYTHON%"=="TRUE" ( IF NOT %ERRORLEVEL%==0 GOTO :Error REM Uninstall if build Rebuild/Clean used IF NOT %BUILD_TYPE%==Build ( - cecho {0D}Uninstalling %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} + call cecho.cmd 0 13 "Uninstalling %DEPENDENCY_NAME%. Please be patient, this will take a while." msiexec /x %PYTHON_INSTALLER% /qn ) IF NOT EXIST "%PYTHONPATH%". ( - cecho {0D}Installing %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} + call cecho.cmd 0 13 "Installing %DEPENDENCY_NAME%. Please be patient, this will take a while." msiexec /qn /i %PYTHON_INSTALLER% TARGETDIR="%PYTHONPATH%" ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already installed. Skipping.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already installed. Skipping." ) ) ELSE ( - cecho {0D}IFCOS_INSTALL_PYTHON not true, skipping installation of Python.{# #}{\n} + call cecho.cmd 0 13 "IFCOS_INSTALL_PYTHON not true, skipping installation of Python." ) :SWIG @@ -334,12 +336,12 @@ IF EXIST "%DEPS_DIR%\swigwin\". robocopy "%DEPS_DIR%\swigwin" "%INSTALL_DIR%\swi :Successful echo. -%TOOLS%\utils\cecho {0A}%PROJECT_NAME% dependencies built.{# #}{\n} +call %TOOLS%\utils\cecho.cmd 0 10 "%PROJECT_NAME% dependencies built." goto :Finish :Error echo. -%TOOLS%\utils\cecho {0C}An error occurred! Aborting!{# #}{\n} +call %TOOLS%\utils\cecho.cmd 0 12 "An error occurred! Aborting!" goto :Finish :Finish @@ -355,11 +357,11 @@ goto :EOF :DownloadFile pushd %2 IF NOT EXIST "%3". ( - cecho {0D}Downloading %DEPENDENCY_NAME% into %2.{# #}{\n} + call cecho.cmd 0 13 "Downloading %DEPENDENCY_NAME% into %2." powershell -Command "$webClient = new-object System.Net.WebClient; $webClient.DownloadFile('%1', '%3')" REM Old wget version in case someone has problem with PowerShell: wget --no-check-certificate %1 ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already downloaded. Skipping.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already downloaded. Skipping." ) set RET=%ERRORLEVEL% popd @@ -369,10 +371,10 @@ exit /b %RET% :: Params: %1 filename, %2 destinationDir, %3 dirAfterExtraction :ExtractArchive IF NOT EXIST "%3". ( - cecho {0D}Extracting %DEPENDENCY_NAME% into %2.{# #}{\n} + call cecho.cmd 0 13 "Extracting %DEPENDENCY_NAME% into %2." 7za x %1 -y -o%2 ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already extracted into %3. Skipping.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already extracted into %3. Skipping." ) exit /b %ERRORLEVEL% @@ -381,11 +383,11 @@ exit /b %ERRORLEVEL% :: F.ex. call :GitCloneRepository https://github.com/KhronosGroup/OpenCOLLADA.git "%DEPS_DIR%\OpenCOLLADA\" :GitCloneOrPullRepository IF NOT EXIST %2. ( - cecho {0D}Cloning %DEPENDENCY_NAME% into %2.{# #}{\n} + call cecho.cmd 0 13 "Cloning %DEPENDENCY_NAME% into %2." pushd "%DEPS_DIR%" call git clone %1 %2 ) ELSE ( - cecho {0D}%DEPENDENCY_NAME% already cloned. Pulling latest changes.{# #}{\n} + call cecho.cmd 0 13 "%DEPENDENCY_NAME% already cloned. Pulling latest changes." pushd %2 call git pull ) @@ -397,7 +399,7 @@ exit /b %RET% :: Params: %* cmakeOptions :: NOTE cd to root CMakeLists.txt folder before calling this if the CMakeLists.txt is not in the repo root. :RunCMake -cecho {0D}Running CMake for %DEPENDENCY_NAME%.{# #}{\n} +call cecho.cmd 0 13 "Running CMake for %DEPENDENCY_NAME%." IF NOT EXIST %BUILD_DIR%. mkdir %BUILD_DIR% IF NOT %ERRORLEVEL%==0 GOTO :Error pushd %BUILD_DIR% @@ -412,7 +414,7 @@ exit /b %RET% :: BuildSolution - Builds/Rebuilds/Cleans a solution using MSBuild :: Params: %1 solutioName, %2 configuration :BuildSolution -cecho {0D}%BUILD_TYPE%ing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} +call cecho.cmd 0 13 "%BUILD_TYPE%ing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while." %MSBUILD_CMD% %1 /p:configuration=%2;platform=%VS_PLATFORM% exit /b %ERRORLEVEL% @@ -421,7 +423,7 @@ exit /b %ERRORLEVEL% :: NOTE the actual install dir is set during cmake run. :InstallCMakeProject pushd %1 -cecho {0D}Installing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while.{# #}{\n} +call cecho.cmd 0 13 "Installing %2 %DEPENDENCY_NAME%. Please be patient, this will take a while." %INSTALL_CMD% INSTALL.%VCPROJ_FILE_EXT% /p:configuration=%2;platform=%VS_PLATFORM% set RET=%ERRORLEVEL% popd diff --git a/win/run-cmake.bat b/win/run-cmake.bat index 8ee76982b2..80518dab05 100644 --- a/win/run-cmake.bat +++ b/win/run-cmake.bat @@ -56,11 +56,11 @@ set PATH=%PATH%;%SWIG_DIR%;%PYTHONPATH% :: TODO 3ds Max SDK? echo. -cecho {0A}Script configuration:{# #}{\n} +call cecho.cmd 0 10 "Script configuration:" echo CMake Generator = %GENERATOR% echo All arguments = %* echo. -cecho {0A}Dependency Environment Variables for %PROJECT_NAME%:{# #}{\n} +call cecho.cmd 0 10 "Dependency Environment Variables for %PROJECT_NAME%:" echo BOOST_ROOT = %BOOST_ROOT% REM echo BOOST_INCLUDEDIR = %BOOST_INCLUDEDIR% echo BOOST_LIBRARYDIR = %BOOST_LIBRARYDIR% @@ -81,7 +81,7 @@ echo. set CMAKELISTS_DIR=..\cmake REM IF NOT EXIST %PROJECT_NAME%.sln. ( IF EXIST CMakeCache.txt. del /Q CMakeCache.txt - cecho {0D}Running CMake for %PROJECT_NAME%.{# #}{\n} + call cecho.cmd 0 13 "Running CMake for %PROJECT_NAME%." IF "%2"=="" ( REM No extra arguments provided, trust that GENERATOR is set properly. cmake.exe %CMAKELISTS_DIR% -G %GENERATOR% -DCMAKE_INSTALL_PREFIX="%CMAKE_INSTALL_PREFIX%" @@ -94,8 +94,8 @@ REM IF NOT EXIST %PROJECT_NAME%.sln. ( ) IF NOT %ERRORLEVEL%==0 GOTO :Error REM ) ELSE ( - REM cecho {0A}%PROJECT_NAME%.sln exists. Skipping CMake call for %PROJECT_NAME%.{# #}{\n} - REM cecho {0A}Delete %CD%\%PROJECT_NAME%.sln to trigger a CMake rerun.{# #}{\n} + REM call cecho.cmd 0 10 "%PROJECT_NAME%.sln exists. Skipping CMake call for %PROJECT_NAME%." + REM call cecho.cmd 0 10 "Delete %BUILD_DIR%\%PROJECT_NAME%.sln to trigger a CMake rerun." REM ) echo. @@ -103,7 +103,7 @@ goto :Finish :Error echo. -cecho {0C}An error occurred! Aborting!{# #}{\n} +cecho {0C}An error occurred! Aborting!" goto :Finish :Finish diff --git a/win/utils/cecho test.bat b/win/utils/cecho test.bat deleted file mode 100644 index 0d872e2d30..0000000000 --- a/win/utils/cecho test.bat +++ /dev/null @@ -1,65 +0,0 @@ -@echo off - - -:: -:: cecho by thomas_polaert@yahoo.fr -:: -echo cecho by thomas_polaert@yahoo.fr - -cecho - -cecho {00}00 - black{\n} -cecho {01}01 - navy{\n} -cecho {02}02 - green{\n} -cecho {03}03 - teal{\n} -cecho {04}04 - maroon{\n} -cecho {05}05 - purple{\n} -cecho {06}06 - olive{\n} -cecho {07}07 - silver{\n} -cecho {08}08 - gray{\n} -cecho {09}09 - blue{\n} -cecho {0A}0A - lime{\n} -cecho {0B}0B - aqua{\n} -cecho {0C}0C - red{\n} -cecho {0D}0D - fuchisa{\n} -cecho {0E}0E - yellow{\n} -cecho {0F}0F - white{\n} - -echo. - -cecho {00}00 {10}10 {20}20 {30}30 {40}40 {50}50 {60}60 {70}70 {80}80 {90}90 {A0}A0 {B0}B0 {C0}80 {D0}90 {E0}A0 {F0}B0{\n} -cecho {01}01 {11}11 {21}21 {31}31 {41}41 {51}51 {61}61 {71}71 {81}81 {91}91 {A1}A1 {B1}B1 {C1}81 {D1}91 {E1}A1 {F1}B1{\n} -cecho {02}02 {12}12 {22}22 {32}32 {42}42 {52}52 {62}62 {72}72 {82}82 {92}92 {A2}A2 {B2}B2 {C2}82 {D2}92 {E2}A2 {F2}B2{\n} -cecho {03}03 {13}13 {23}23 {33}33 {43}43 {53}53 {63}63 {73}73 {83}83 {93}93 {A3}A3 {B3}B3 {C3}83 {D3}93 {E3}A3 {F3}B3{\n} -cecho {04}04 {14}14 {24}24 {34}34 {44}44 {54}54 {64}64 {74}74 {84}84 {94}94 {A4}A4 {B4}B4 {C4}84 {D4}94 {E4}A4 {F4}B4{\n} -cecho {05}05 {15}15 {25}25 {35}35 {45}45 {55}55 {65}65 {75}75 {85}85 {95}95 {A5}A5 {B5}B5 {C5}85 {D5}95 {E5}A5 {F5}B5{\n} -cecho {06}06 {16}16 {26}26 {36}36 {46}46 {56}56 {66}66 {76}76 {86}86 {96}96 {A6}A6 {B6}B6 {C6}86 {D6}96 {E6}A6 {F6}B6{\n} -cecho {07}07 {17}17 {27}27 {37}37 {47}47 {57}57 {67}67 {77}77 {87}87 {97}97 {A7}A7 {B7}B7 {C7}87 {D7}97 {E7}A7 {F7}B7{\n} -cecho {08}08 {18}18 {28}28 {38}38 {48}48 {58}58 {68}68 {78}78 {88}88 {98}98 {A8}A8 {B8}B8 {C8}88 {D8}98 {E8}A8 {F8}B8{\n} -cecho {09}09 {19}19 {29}29 {39}39 {49}49 {59}59 {69}69 {79}79 {89}89 {99}99 {A9}A9 {B9}B9 {C9}89 {D9}99 {E9}A9 {F9}B9{\n} -cecho {0A}0A {1A}1A {2A}2A {3A}3A {4A}4A {5A}5A {6A}6A {7A}7A {8A}8A {9A}9A {AA}AA {BA}BA {CA}8A {DA}9A {EA}AA {FA}BA{\n} -cecho {0B}0B {1B}1B {2B}2B {3B}3B {4B}4B {5B}5B {6B}6B {7B}7B {8B}8B {9B}9B {AB}AB {BB}BB {CB}8B {DB}9B {EB}AB {FB}BB{\n} -cecho {0C}0C {1C}1C {2C}2C {3C}3C {4C}4C {5C}5C {6C}6C {7C}7C {8C}8C {9C}9C {AC}AC {BC}BC {CC}8C {DC}9C {EC}AC {FC}BC{\n} -cecho {0D}0D {1D}1D {2D}2D {3D}3D {4D}4D {5D}5D {6D}6D {7D}7D {8D}8D {9D}9D {AD}AD {BD}BD {CD}8D {DD}9D {ED}AD {FD}BD{\n} -cecho {0E}0E {1E}1E {2E}2E {3E}3E {4E}4E {5E}5E {6E}6E {7E}7E {8E}8E {9E}9E {AE}AE {BE}BE {CE}8E {DE}9E {EE}AE {FE}BE{\n} -cecho {0F}0F {1F}1F {2F}2F {3F}3F {4F}4F {5F}5F {6F}6F {7F}7F {8F}8F {9F}9F {AF}AF {BF}BF {CF}8F {DF}9F {EF}AF {FF}BF{\n} - -echo. - -cecho {silver} -cecho {\uDA} -cecho Escape charater {{ -echo. -cecho {\u07 \u07}beep x2 -echo. -cecho {\t}line #1{\n\t}line #2{\n\t}line #3 -echo. -cecho {green}print green {default} and back to initial color -echo. -cecho {a red foreground on a white background}a red foreground on a white background {# #} and back to initial colors -echo. -cecho {blue gray}blue gray -echo. -cecho {purple yellow}purple yellow{\n silver} - -pause \ No newline at end of file diff --git a/win/utils/cecho.cmd b/win/utils/cecho.cmd new file mode 100644 index 0000000000..2923fcb986 --- /dev/null +++ b/win/utils/cecho.cmd @@ -0,0 +1,4 @@ +:: Usage: call cecho.cmd background foreground "message here" +:: NOTES/TODOS 1) This is super slow 2) leading spaces are omitted 3) printing string with quotes doesn't work (quotes must be escaped awkwardly) +@powershell -command write-host -background %~1 -foreground "%~2" "%3" +@exit /b diff --git a/win/utils/cecho.exe b/win/utils/cecho.exe deleted file mode 100644 index 9f310e5dc8717d557e3a311d9fc3fdbb849faef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26112 zcmeFYcT`hN6fc@iNFf0NgdQLirARMQ3>|3(=~7j|&=C?qMF<3>geW4|uz;u^c97l) zAVpD%s30vW3L2^+9rF0TckjAyy|vz3>;Cord3&wdd-mSH*|X1_WY(N>W}J@Y0l)wN z0J2wjJOH3>PyS1!|M>qqo85B@$TkQ7s`%f^)d3yf%DGWO;|MXa(WhdMM-omRkBW+> z5>5mYVrfx?&?th{5m!QFbWpGc8jT?SkI=@iH2hQUlhFUOV28Nq6MHË$;Klux- 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
  • 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 diff --git a/win/utils/cecho.txt b/win/utils/cecho.txt deleted file mode 100644 index cdc61b2ffe..0000000000 --- a/win/utils/cecho.txt +++ /dev/null @@ -1 +0,0 @@ -cecho is from http://www.codeproject.com/Articles/17033/Add-Colors-to-Batch-Files \ No newline at end of file diff --git a/win/vs-cfg.cmd b/win/vs-cfg.cmd index dbf2f405bd..88b025eed0 100644 --- a/win/vs-cfg.cmd +++ b/win/vs-cfg.cmd @@ -52,7 +52,7 @@ set GENERATOR_DEFAULT=%GENERATOR_VS2015_64% IF "!GENERATOR!"=="" ( set GENERATOR=%GENERATOR_DEFAULT% - utils\cecho {0E}vs-cfg.cmd: Warning: Generator not passed - using the default %GENERATOR_DEFAULT%.{# #}{\n} + call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: Generator not passed - using the default '`"%GENERATOR_DEFAULT%`'`t ) IF NOT !GENERATOR!==%GENERATOR_VS2008_32% IF NOT !GENERATOR!==%GENERATOR_VS2008_64% ( @@ -60,8 +60,8 @@ IF NOT !GENERATOR!==%GENERATOR_VS2010_32% IF NOT !GENERATOR!==%GENERATOR_VS2010_ IF NOT !GENERATOR!==%GENERATOR_VS2012_32% IF NOT !GENERATOR!==%GENERATOR_VS2012_64% ( IF NOT !GENERATOR!==%GENERATOR_VS2013_32% IF NOT !GENERATOR!==%GENERATOR_VS2013_64% ( IF NOT !GENERATOR!==%GENERATOR_VS2015_32% IF NOT !GENERATOR!==%GENERATOR_VS2015_64% ( - utils\cecho {0C}vs-cfg.cmd: Invalid or unsupported CMake generator string passed: !GENERATOR!. Cannot proceed, aborting!{# #}{\n} - GOTO :EOF + call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake generator string passed: '`"!GENERATOR!`'". Cannot proceed, aborting!" + exit /b 1 ))))) :: Figure out the build configuration from the CMake generator string. @@ -120,11 +120,11 @@ set BUILD_CFG_DEFAULT=%BUILD_CFG_RELWITHDEBINFO% IF "!BUILD_CFG!"=="" ( set BUILD_CFG=%BUILD_CFG_DEFAULT% - utils\cecho {0E}vs-cfg.cmd: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%{# #}{\n} + call utils\cecho.cmd 0 14 "vs-cfg.cmd: Warning: BUILD_CFG not specified - using the default %BUILD_CFG_DEFAULT%" ) IF NOT !BUILD_CFG!==%BUILD_CFG_MINSIZEREL% IF NOT !BUILD_CFG!==%BUILD_CFG_RELEASE% ( IF NOT !BUILD_CFG!==%BUILD_CFG_RELWITHDEBINFO% IF NOT !BUILD_CFG!==%BUILD_CFG_DEBUG% ( - utils\cecho {0C}vs-cfg.cmd: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!{# #}{\n} + call utils\cecho.cmd 0 12 "vs-cfg.cmd: Invalid or unsupported CMake build configuration type passed: !BUILD_CFG!. Cannot proceed, aborting!" exit /b 1 )) @@ -148,7 +148,7 @@ IF %BUILD_CFG%==Debug ( :: Populate path variables cd ..\ set ORIGINAL_PATH=%PATH% -set PATH=%PATH%;"%CD%\win\utils" +set PATH=%PATH%;%CD%\win\utils :: Fetch and build the dependencies to a dedicated directory depending on the used VS version and target architecture. :: NOTE For IfcOpenShell we can build all of our deps both x86 and x64 using different VS versions in the same directories