1<?xml version="1.0" encoding="utf-8"?> 2<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 <Import Project="pyproject.props" Condition="$(__PyProject_Props_Imported) != 'true'" /> 4 <PropertyGroup> 5 <TclVersion Condition="$(TclVersion) == ''">8.6.12.1</TclVersion> 6 <TkVersion Condition="$(TkVersion) == ''">$(TclVersion)</TkVersion> 7 <TixVersion Condition="$(TixVersion) == ''">8.4.3.6</TixVersion> 8 <TclMajorVersion>$([System.Version]::Parse($(TclVersion)).Major)</TclMajorVersion> 9 <TclMinorVersion>$([System.Version]::Parse($(TclVersion)).Minor)</TclMinorVersion> 10 <TclPatchLevel>$([System.Version]::Parse($(TclVersion)).Build)</TclPatchLevel> 11 <TclRevision>$([System.Version]::Parse($(TclVersion)).Revision)</TclRevision> 12 <TkMajorVersion>$([System.Version]::Parse($(TkVersion)).Major)</TkMajorVersion> 13 <TkMinorVersion>$([System.Version]::Parse($(TkVersion)).Minor)</TkMinorVersion> 14 <TkPatchLevel>$([System.Version]::Parse($(TkVersion)).Build)</TkPatchLevel> 15 <TkRevision>$([System.Version]::Parse($(TkVersion)).Revision)</TkRevision> 16 <TixMajorVersion>$([System.Version]::Parse($(TixVersion)).Major)</TixMajorVersion> 17 <TixMinorVersion>$([System.Version]::Parse($(TixVersion)).Minor)</TixMinorVersion> 18 <TixPatchLevel>$([System.Version]::Parse($(TixVersion)).Build)</TixPatchLevel> 19 <TixRevision>$([System.Version]::Parse($(TixVersion)).Revision)</TixRevision> 20 <tclDir Condition="$(tclDir) == ''">$(ExternalsDir)tcl-core-$(TclVersion)\</tclDir> 21 <tkDir Condition="$(tkDir) == ''">$(ExternalsDir)tk-$(TkVersion)\</tkDir> 22 <tixDir Condition="$(tixDir) == ''">$(ExternalsDir)tix-$(TixVersion)\</tixDir> 23 <tcltkDir Condition="$(tcltkDir) == ''">$(ExternalsDir)tcltk-$(TclVersion)\$(ArchName)\</tcltkDir> 24 <tclWin32Exe Condition="$(Platform) == 'Win32'">$(tcltkDir)\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe</tclWin32Exe> 25 <tclWin32Exe Condition="$(Platform) != 'Win32'">$(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)t.exe</tclWin32Exe> 26 27 <!--<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>--> 28 <tclDLLName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).dll</tclDLLName> 29 <tclLibName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).lib</tclLibName> 30 <tclShExeName>tclsh$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).exe</tclShExeName> 31 <tkDLLName>tk$(TkMajorVersion)$(TkMinorVersion)t$(TclDebugExt).dll</tkDLLName> 32 <tkLibName>tk$(TkMajorVersion)$(TkMinorVersion)t$(TclDebugExt).lib</tkLibName> 33 <tixDLLName>tix$(TixMajorVersion)$(TixMinorVersion)$(TclDebugExt).dll</tixDLLName> 34 <tixDLLPath>$(tcltkDir)lib\tix$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel)\$(tixDLLName)</tixDLLPath> 35 <tcltkLib>$(tcltkDir)lib\tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).lib;$(tcltkDir)lib\tk$(TkMajorVersion)$(TkMinorVersion)t$(TclDebugExt).lib</tcltkLib> 36 <TclMachine>IX86</TclMachine> 37 <TclMachine Condition="'$(Platform)' == 'x64'">AMD64</TclMachine> 38 <TclMachine Condition="'$(Platform)' == 'ARM64'">ARM64</TclMachine> 39 <TclVersions>TCL_MAJOR_VERSION=$(TclMajorVersion) TCL_MINOR_VERSION=$(TclMinorVersion) TCL_PATCH_LEVEL=$(TclPatchLevel)</TclVersions> 40 <TclShortVersions>TCL_MAJOR=$(TclMajorVersion) TCL_MINOR=$(TclMinorVersion) TCL_PATCH=$(TclPatchLevel)</TclShortVersions> 41 <TkVersions>TK_MAJOR_VERSION=$(TkMajorVersion) TK_MINOR_VERSION=$(TkMinorVersion) TK_PATCH_LEVEL=$(TkPatchLevel)</TkVersions> 42 43 <BuildDirTop>Release</BuildDirTop> 44 <BuildDirTop Condition="$(Configuration) == 'Debug'">Debug</BuildDirTop> 45 <BuildDirTop Condition="$(TclMachine) != 'IX86'">$(BuildDirTop)_$(TclMachine)</BuildDirTop> 46 <BuildDirTop Condition="$(PlatformToolset.StartsWith('v14'))">$(BuildDirTop)_VC13</BuildDirTop> 47 <BuildDirTop Condition="$(PlatformToolset) == 'v120'">$(BuildDirTop)_VC12</BuildDirTop> 48 <BuildDirTop Condition="$(PlatformToolset) == 'v110'">$(BuildDirTop)_VC11</BuildDirTop> 49 <BuildDirTop Condition="$(PlatformToolset) == 'v100'">$(BuildDirTop)_VC10</BuildDirTop> 50 </PropertyGroup> 51 52 <!-- 53 Helper target for copying the lib to a specific directory. 54 55 Using "msbuild tcltk.props /t:CopyTclTkLib /p:OutDir=..." is generally 56 easier than trying to extract the value of $(tcltkdir). 57 --> 58 <Target Name="CopyTclTkLib"> 59 <ItemGroup> 60 <_TclTkLib Include="$(tcltkdir)\lib\**\*" /> 61 </ItemGroup> 62 <Copy SourceFiles="@(_TclTkLib)" 63 DestinationFiles="$(OutDir)\%(RecursiveDir)\%(Filename)%(Extension)" 64 UseHardlinksIfPossible="true" /> 65 </Target> 66</Project> 67