From c450e6de29a250d432a66412b49560c169c59bef Mon Sep 17 00:00:00 2001 From: abv Date: Thu, 31 Oct 2013 14:06:41 +0400 Subject: [PATCH] 0024301: Provide support for generating projects for VS 2013 Templates and options to generate VS 2013 project files added Handling of VS 2012 and above added in WOK GUI --- src/WOKTclLib/OS.tcl | 7 +- src/WOKTclLib/osutils.tcl | 36 ++- src/WOKTclLib/templates/msvc.bat | 6 +- src/WOKTclLib/templates/template.vc12 | 253 +++++++++++++++++++++ src/WOKTclLib/templates/template.vc12x | 245 ++++++++++++++++++++ src/WOKTclLib/templates/vcxproj.user.vc12x | 19 ++ src/WOKsite/wok_depsgui.tcl | 12 +- src/WOKsite/wok_tclshrc.tcl | 10 +- 8 files changed, 569 insertions(+), 19 deletions(-) create mode 100644 src/WOKTclLib/templates/template.vc12 create mode 100644 src/WOKTclLib/templates/template.vc12x create mode 100644 src/WOKTclLib/templates/vcxproj.user.vc12x diff --git a/src/WOKTclLib/OS.tcl b/src/WOKTclLib/OS.tcl index 5ea733c..aea000a 100755 --- a/src/WOKTclLib/OS.tcl +++ b/src/WOKTclLib/OS.tcl @@ -3301,7 +3301,7 @@ set THE_GUIDS_LIST($aTKNullKey) "{00000000-0000-0000-0000-000000000000}" # Entry function to generate project files and solutions for IDE proc OS:MKPRC { {theOutDir {}} {theProjectType {}} {theIDE ""} } { - set aSupportedIDE { "vc7" "vc8" "vc9" "vc10" "vc11" "cbp" "cmake" "amk" "xcd"} + set aSupportedIDE { "vc7" "vc8" "vc9" "vc10" "vc11" "vc12" "cbp" "cmake" "amk" "xcd"} if { [lsearch $aSupportedIDE $theIDE] < 0 } { puts stderr "WOK does not support generation of project files for the selected IDE: $theIDE\nSupported IDEs: [join ${aSupportedIDE} " "]" @@ -3342,7 +3342,7 @@ proc OS:MKPRC { {theOutDir {}} {theProjectType {}} {theIDE ""} } { # Create output directory set aWokStation "$::env(WOKSTATION)" - if { [lsearch -exact {vc7 vc8 vc9 vc10 vc11} $theIDE] != -1 } { + if { [lsearch -exact {vc7 vc8 vc9 vc10 vc11 vc12} $theIDE] != -1 } { set aWokStation "msvc" } @@ -3364,7 +3364,8 @@ proc OS:MKPRC { {theOutDir {}} {theProjectType {}} {theIDE ""} } { "vc8" - "vc9" - "vc10" - - "vc11" { OS:MKVC $anOutDir $aModules $anAllSolution $theIDE } + "vc11" - + "vc12" { OS:MKVC $anOutDir $aModules $anAllSolution $theIDE } "cbp" { OS:MKCBP $anOutDir $aModules $anAllSolution } "cmake" { OS:MKCMK "${anOutRoot}/.." $aModules $anAllSolution } "amk" { OS:MKAMK $anOutDir $aModules "adm/${aWokStation}/${theIDE}"} diff --git a/src/WOKTclLib/osutils.tcl b/src/WOKTclLib/osutils.tcl index 5451143..2a63734 100755 --- a/src/WOKTclLib/osutils.tcl +++ b/src/WOKTclLib/osutils.tcl @@ -140,6 +140,10 @@ proc osutils:vcsolution:header { vcversion } { append var \ "Microsoft Visual Studio Solution File, Format Version 12.00\n" \ "# Visual Studio 2012\n" + } elseif { "$vcversion" == "vc12" } { + append var \ + "Microsoft Visual Studio Solution File, Format Version 13.00\n" \ + "# Visual Studio 2013\n" } else { puts stderr "Error: Visual Studio version $vcversion is not supported by this function!" } @@ -156,7 +160,9 @@ proc osutils:vcsolution:config:begin { vcversion } { "\t\tRelease = Release\n" \ "\tEndGlobalSection\n" \ "\tGlobalSection(ProjectConfiguration) = postSolution\n" - } elseif { "$vcversion" == "vc8" || "$vcversion" == "vc9" || "$vcversion" == "vc10" || "$vcversion" == "vc11" } { + } elseif { "$vcversion" == "vc8" || "$vcversion" == "vc9" || + "$vcversion" == "vc10" || "$vcversion" == "vc11" || + "$vcversion" == "vc12" } { append var \ "Global\n" \ "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n" \ @@ -180,7 +186,9 @@ proc osutils:vcsolution:config:project { vcversion guid } { "\t\t$guid.Debug.Build.0 = Debug|Win32\n" \ "\t\t$guid.Release.ActiveCfg = Release|Win32\n" \ "\t\t$guid.Release.Build.0 = Release|Win32\n" - } elseif { "$vcversion" == "vc8" || "$vcversion" == "vc9" || "$vcversion" == "vc10" || "$vcversion" == "vc11" } { + } elseif { "$vcversion" == "vc8" || "$vcversion" == "vc9" || + "$vcversion" == "vc10" || "$vcversion" == "vc11" || + "$vcversion" == "vc12" } { append var \ "\t\t$guid.Debug|Win32.ActiveCfg = Debug|Win32\n" \ "\t\t$guid.Debug|Win32.Build.0 = Debug|Win32\n" \ @@ -205,7 +213,9 @@ proc osutils:vcsolution:config:end { vcversion } { "\tEndGlobalSection\n" \ "\tGlobalSection(ExtensibilityAddIns) = postSolution\n" \ "\tEndGlobalSection\n" - } elseif { "$vcversion" == "vc8" || "$vcversion" == "vc9" || "$vcversion" == "vc10" || "$vcversion" == "vc11" } { + } elseif { "$vcversion" == "vc8" || "$vcversion" == "vc9" || + "$vcversion" == "vc10" || "$vcversion" == "vc11" || + "$vcversion" == "vc12" } { append var \ "\tEndGlobalSection\n" \ "\tGlobalSection(SolutionProperties) = preSolution\n" \ @@ -783,7 +793,7 @@ proc osutils:vcxproj:file { vcversion file params } { proc osutils:vcproj:ext { vcversion } { if { "$vcversion" == "vc7" || "$vcversion" == "vc8" || "$vcversion" == "vc9" } { return "vcproj" - } elseif { "$vcversion" == "vc10" || "$vcversion" == "vc11" } { + } elseif { "$vcversion" == "vc10" || "$vcversion" == "vc11" || "$vcversion" == "vc12" } { return "vcxproj" } else { puts stderr "Error: Visual Studio version $vc is not supported by this function!" @@ -906,7 +916,9 @@ proc osutils:vcproj { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} # and put this list to project file #puts "$theToolKit requires $aUsedToolKits" - if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" } { set aUsedToolKits [join $aUsedToolKits {;}] } + if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" || "$theVcVer" == "vc12" } { + set aUsedToolKits [join $aUsedToolKits {;}] + } regsub -all -- {__TKDEP__} $theProjTmpl $aUsedToolKits theProjTmpl set anIncPaths "..\\..\\..\\inc" @@ -939,7 +951,7 @@ proc osutils:vcproj { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} } # Format of projects in vc10 and vc11 is different from vc7-9 - if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" } { + if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" || "$theVcVer" == "vc12" } { foreach aSrcFile [lsort $aSrcFiles] { if { ![info exists written([file tail $aSrcFile])] } { set written([file tail $aSrcFile]) 1 @@ -985,7 +997,7 @@ proc osutils:vcproj { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} # write filters file for vc10 and vc11 if { "$theVcVer" == "vc10" } { lappend aVcFiles [osutils:vcxproj:filters $theOutDir $theToolKit aVcFilesX] - } elseif { "$theVcVer" == "vc11" } { + } elseif { "$theVcVer" == "vc11" || "$theVcVer" == "vc12" } { lappend aVcFiles [osutils:vcx1proj:filters $theOutDir $theToolKit aVcFilesX] } @@ -1034,7 +1046,9 @@ proc osutils:vcprojx { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} regsub -all -- {vc[0-9]+} $aUsedToolKits $theVcVer aUsedToolKits puts "$aProjName requires $aUsedToolKits" - if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" } { set aUsedToolKits [join $aUsedToolKits {;}] } + if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" || "$theVcVer" == "vc12" } { + set aUsedToolKits [join $aUsedToolKits {;}] + } regsub -all -- {__TKDEP__} $aProjTmpl $aUsedToolKits aProjTmpl set aFilesSection "" @@ -1043,7 +1057,7 @@ proc osutils:vcprojx { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} if { ![info exists written([file tail $f])] } { set written([file tail $f]) 1 - if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" } { + if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" || "$theVcVer" == "vc12" } { append aFilesSection [osutils:vcxproj:file $theVcVer $f ""] if { ! [info exists aVcFilesX($theToolKit)] } { lappend aVcFilesX(units) $theToolKit } lappend aVcFilesX($theToolKit) $f @@ -1079,7 +1093,7 @@ proc osutils:vcprojx { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} lappend aVcFiles $aVcFilePath # write filters file for vc10 - if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" } { + if { "$theVcVer" == "vc10" || "$theVcVer" == "vc11" || "$theVcVer" == "vc12" } { lappend aVcFiles [osutils:vcxproj:filters $theOutDir $aProjName aVcFilesX] } @@ -1090,6 +1104,8 @@ proc osutils:vcprojx { theVcVer theOutDir theToolKit theGuidsMap {theProjTmpl {} set aCommonSettingsFileTmpl "$::env(WOK_LIBRARY)/templates/vcxproj.user.vc10x" } elseif { "$theVcVer" == "vc11" } { set aCommonSettingsFileTmpl "$::env(WOK_LIBRARY)/templates/vcxproj.user.vc11x" + } elseif { "$theVcVer" == "vc12" } { + set aCommonSettingsFileTmpl "$::env(WOK_LIBRARY)/templates/vcxproj.user.vc12x" } if { "$aCommonSettingsFileTmpl" != "" } { file copy -force -- "$aCommonSettingsFileTmpl" "$aCommonSettingsFile" diff --git a/src/WOKTclLib/templates/msvc.bat b/src/WOKTclLib/templates/msvc.bat index 7ba7e35..a6f04cc 100644 --- a/src/WOKTclLib/templates/msvc.bat +++ b/src/WOKTclLib/templates/msvc.bat @@ -20,7 +20,11 @@ if "%VCVER%" == "vc8" ( set "DevEnvDir=%VS100COMNTOOLS%..\IDE" ) else if "%VCVER%" == "vc11" ( set "DevEnvDir=%VS110COMNTOOLS%..\IDE" - rem Visual Studio 2012 Express for Windows Desktop have a new name for executable - WDExpress + rem Visual Studio Express starting from VS 2012 is called "for Windows Desktop" + rem and has a new name for executable - WDExpress + set "VisualStudioExpressName=WDExpress" +) else if "%VCVER%" == "vc12" ( + set "DevEnvDir=%VS120COMNTOOLS%..\IDE" set "VisualStudioExpressName=WDExpress" ) else ( echo Error: wrong VS identifier diff --git a/src/WOKTclLib/templates/template.vc12 b/src/WOKTclLib/templates/template.vc12 new file mode 100644 index 0000000..7160279 --- /dev/null +++ b/src/WOKTclLib/templates/template.vc12 @@ -0,0 +1,253 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + __PROJECT_GUID__ + + + + DynamicLibrary + v120 + + + DynamicLibrary + v120 + + + DynamicLibrary + v120 + + + DynamicLibrary + v120 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\..\..\..\win32\vc12\bin\ + .\..\..\..\win32\vc12\obj\__TKNAM__\ + false + .\..\..\..\win32\vc12\bind\ + .\..\..\..\win32\vc12\objd\__TKNAM__\ + false + .\..\..\..\win64\vc12\bin\ + .\..\..\..\win64\vc12\obj\__TKNAM__\ + false + .\..\..\..\win64\vc12\bind\ + .\..\..\..\win64\vc12\objd\__TKNAM__\ + false + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\..\..\..\win32\vc12\bin\__TKNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + MaxSpeed + OnlyExplicitInline + NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + true + Async + MultiThreadedDLL + true + .\..\..\..\win32\vc12\obj\__TKNAM__/ + .\..\..\..\win32\vc12\obj\__TKNAM__/ + .\..\..\..\win32\vc12\obj\__TKNAM__/ + Level4 + true + 4996;%(DisableSpecificWarnings) + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + + + __TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies) + .\..\..\..\win32\vc12\bin\__TKNAM__.dll + true + ..\..\..\win32\vc12\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories) + .\..\..\..\win32\vc12\bin\__TKNAM__.pdb + Console + ..\..\..\win32\vc12\lib\__TKNAM__.lib + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\..\..\..\win32\vc12\bind\__TKNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + Disabled + OnlyExplicitInline + DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + Async + MultiThreadedDebugDLL + .\..\..\..\win32\vc12\objd\__TKNAM__/ + .\..\..\..\win32\vc12\objd\__TKNAM__/ + .\..\..\..\win32\vc12\objd\__TKNAM__/ + Level4 + true + ProgramDatabase + Default + 4996;%(DisableSpecificWarnings) + EnableFastChecks + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + + + __TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies) + .\..\..\..\win32\vc12\bind\__TKNAM__.dll + true + ..\..\..\win32\vc12\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories) + true + ..\..\..\win32\vc12\bind\__TKNAM__.pdb + Console + ..\..\..\win32\vc12\libd\__TKNAM__.lib + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + x64 + .\..\..\..\win64\vc12\bin\__TKNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + MaxSpeed + OnlyExplicitInline + NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + true + Async + MultiThreadedDLL + true + .\..\..\..\win64\vc12\obj\__TKNAM__/ + .\..\..\..\win64\vc12\obj\__TKNAM__/ + .\..\..\..\win64\vc12\obj\__TKNAM__/ + Level4 + true + 4996;%(DisableSpecificWarnings) + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + + + __TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies) + .\..\..\..\win64\vc12\bin\__TKNAM__.dll + true + ..\..\..\win64\vc12\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories) + .\..\..\..\win64\vc12\bin\__TKNAM__.pdb + Console + ..\..\..\win64\vc12\lib\__TKNAM__.lib + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + x64 + .\..\..\..\win64\vc12\bind\__TKNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + Disabled + OnlyExplicitInline + DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + Async + MultiThreadedDebugDLL + .\..\..\..\win64\vc12\objd\__TKNAM__/ + .\..\..\..\win64\vc12\objd\__TKNAM__/ + .\..\..\..\win64\vc12\objd\__TKNAM__/ + Level4 + true + ProgramDatabase + Default + 4996;%(DisableSpecificWarnings) + EnableFastChecks + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + + + __TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies) + .\..\..\..\win64\vc12\bind\__TKNAM__.dll + true + ..\..\..\win64\vc12\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories) + true + ..\..\..\win64\vc12\bind\__TKNAM__.pdb + Console + ..\..\..\win64\vc12\libd\__TKNAM__.lib + + + +__FILES__ + + + + + + + + diff --git a/src/WOKTclLib/templates/template.vc12x b/src/WOKTclLib/templates/template.vc12x new file mode 100644 index 0000000..c4a1f2d --- /dev/null +++ b/src/WOKTclLib/templates/template.vc12x @@ -0,0 +1,245 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + __PROJECT_GUID__ + + + + Application + v120 + + + Application + v120 + + + Application + v120 + + + Application + v120 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\..\..\..\win32\vc12\bin\ + .\..\..\..\win32\vc12\obj\__XQTNAM__\ + false + .\..\..\..\win32\vc12\bind\ + .\..\..\..\win32\vc12\objd\__XQTNAM__\ + false + .\..\..\..\win64\vc12\bin\ + .\..\..\..\win64\vc12\obj\__XQTNAM__\ + false + .\..\..\..\win64\vc12\bind\ + .\..\..\..\win64\vc12\objd\__XQTNAM__\ + false + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\..\..\..\win32\vc12\bin\__XQTNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + MaxSpeed + OnlyExplicitInline + NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + true + Async + MultiThreadedDLL + true + .\..\..\..\win32\vc12\obj\__XQTNAM__/ + .\..\..\..\win32\vc12\obj\__XQTNAM__/ + .\..\..\..\win32\vc12\obj\__XQTNAM__/ + Level4 + true + 4996;%(DisableSpecificWarnings) + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + + + __TKDEP__;%(AdditionalDependencies) + true + ..\..\..\win32\vc12\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories) + .\..\..\..\win32\vc12\bin\__XQTNAM__.pdb + Console + ..\..\..\win32\vc12\lib\__XQTNAM__.lib + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\..\..\..\win32\vc12\bind\__XQTNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + Disabled + OnlyExplicitInline + DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + Async + MultiThreadedDebugDLL + .\..\..\..\win32\vc12\objd\__XQTNAM__/ + .\..\..\..\win32\vc12\objd\__XQTNAM__/ + .\..\..\..\win32\vc12\objd\__XQTNAM__/ + Level4 + true + ProgramDatabase + Default + 4996;%(DisableSpecificWarnings) + EnableFastChecks + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions) + + + __TKDEP__;%(AdditionalDependencies) + true + ..\..\..\win32\vc12\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories) + true + ..\..\..\win32\vc12\bind\__XQTNAM__.pdb + Console + ..\..\..\win32\vc12\libd\__XQTNAM__.lib + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + x64 + .\..\..\..\win64\vc12\bin\__XQTNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + MaxSpeed + OnlyExplicitInline + NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + true + Async + MultiThreadedDLL + true + .\..\..\..\win64\vc12\obj\__XQTNAM__/ + .\..\..\..\win64\vc12\obj\__XQTNAM__/ + .\..\..\..\win64\vc12\obj\__XQTNAM__/ + Level4 + true + 4996;%(DisableSpecificWarnings) + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + + + __TKDEP__;%(AdditionalDependencies) + true + ..\..\..\win64\vc12\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories) + .\..\..\..\win64\vc12\bin\__XQTNAM__.pdb + Console + ..\..\..\win64\vc12\lib\__XQTNAM__.lib + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + x64 + .\..\..\..\win64\vc12\bind\__XQTNAM__.tlb + + + + + %(AdditionalOptions) + __TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + true + Disabled + OnlyExplicitInline + DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + Async + MultiThreadedDebugDLL + .\..\..\..\win64\vc12\objd\__XQTNAM__/ + .\..\..\..\win64\vc12\objd\__XQTNAM__/ + .\..\..\..\win64\vc12\objd\__XQTNAM__/ + Level4 + true + ProgramDatabase + Default + 4996;%(DisableSpecificWarnings) + EnableFastChecks + + + ..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories) + DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;_OCC64;%(PreprocessorDefinitions) + + + __TKDEP__;%(AdditionalDependencies) + true + ..\..\..\win64\vc12\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories) + true + ..\..\..\win64\vc12\bind\__XQTNAM__.pdb + Console + ..\..\..\win64\vc12\libd\__XQTNAM__.lib + + + +__FILES__ + + + + diff --git a/src/WOKTclLib/templates/vcxproj.user.vc12x b/src/WOKTclLib/templates/vcxproj.user.vc12x new file mode 100644 index 0000000..3d99cae --- /dev/null +++ b/src/WOKTclLib/templates/vcxproj.user.vc12x @@ -0,0 +1,19 @@ + + + + PATH=..\..\..\win32\vc12\bind;$(CSF_OPT_BIN32D);$(PATH) + WindowsLocalDebugger + + + PATH=..\..\..\win32\vc12\bin;$(CSF_OPT_BIN32);$(PATH) + WindowsLocalDebugger + + + PATH=..\..\..\win64\vc12\bin;$(CSF_OPT_BIN64);$(PATH) + WindowsLocalDebugger + + + PATH=..\..\..\win64\vc12\bind;$(CSF_OPT_BIN64D);$(PATH) + WindowsLocalDebugger + + \ No newline at end of file diff --git a/src/WOKsite/wok_depsgui.tcl b/src/WOKsite/wok_depsgui.tcl index fd8a67b..d0502e0 100644 --- a/src/WOKsite/wok_depsgui.tcl +++ b/src/WOKsite/wok_depsgui.tcl @@ -17,8 +17,18 @@ set SYS_VC_LIST {} set SYS_VCVARS_LIST {} # detect installed Visual Studio instances from global environment +if { [info exists ::env(VS130COMNTOOLS)] } { + lappend ::SYS_VS_LIST "Visual Studio 201x (vc13)" + lappend ::SYS_VC_LIST "vc13" + lappend ::SYS_VCVARS_LIST "%VS130COMNTOOLS%..\\..\\VC\\vcvarsall.bat" +} +if { [info exists ::env(VS120COMNTOOLS)] } { + lappend ::SYS_VS_LIST "Visual Studio 2013 (vc12)" + lappend ::SYS_VC_LIST "vc12" + lappend ::SYS_VCVARS_LIST "%VS120COMNTOOLS%..\\..\\VC\\vcvarsall.bat" +} if { [info exists ::env(VS110COMNTOOLS)] } { - lappend ::SYS_VS_LIST "Visual Studio 201x (vc11)" + lappend ::SYS_VS_LIST "Visual Studio 2012 (vc11)" lappend ::SYS_VC_LIST "vc11" lappend ::SYS_VCVARS_LIST "%VS110COMNTOOLS%..\\..\\VC\\vcvarsall.bat" } diff --git a/src/WOKsite/wok_tclshrc.tcl b/src/WOKsite/wok_tclshrc.tcl index 6b479aa..e4e7a6c 100644 --- a/src/WOKsite/wok_tclshrc.tcl +++ b/src/WOKsite/wok_tclshrc.tcl @@ -251,7 +251,8 @@ proc wgenprojbat {thePath theIDE} { "vc8" - "vc9" - "vc10" - - "vc11" { set aTargetPlatform wnt } + "vc11" - + "vc12" { set aTargetPlatform wnt } "amk" { set aTargetPlatform lin } } @@ -313,7 +314,7 @@ proc removeAllOccurrencesOf { theObject theList } { # Wrapper-function to generate VS project files proc wgenproj { args } { - set aSupportedTargets { "vc7" "vc8" "vc9" "vc10" "vc11" "cbp" "cmake" "amk" "xcd" } + set aSupportedTargets { "vc7" "vc8" "vc9" "vc10" "vc11" "vc12" "cbp" "cmake" "amk" "xcd" } set anArgs $args # Setting default IDE. @@ -375,6 +376,7 @@ proc wgenproj { args } { vc9 - Visual Studio 2008 vc10 - Visual Studio 2010 vc11 - Visual Studio 2012 + vc12 - Visual Studio 2013 cbp - CodeBlocks cmake - CMake amk - AutoMake @@ -389,8 +391,8 @@ proc wgenproj { args } { # change station if it is necessary set anOldStation "$::env(WOKSTATION)" - if { [lsearch -exact {vc7 vc8 vc9 vc10 vc11} $anTarget] != -1 && "$anOldStation" != "wnt"} { - changeStationAndDependentEnvironment wnt + if { [lsearch -exact {vc7 vc8 vc9 vc10 vc11 vc12} $anTarget] != -1 && "$anOldStation" != "wnt"} { + changeStationAndDependentEnvironment wnt } elseif { "$anTarget" == "amk" && "$anOldStation" != "lin"} { changeStationAndDependentEnvironment lin } -- 2.39.5