| <?xml version="1.0" encoding="utf-8"?> | |
| <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
| <Import Project="pyproject.props" Condition="$(__PyProject_Props_Imported) != 'true'" /> | |
| <PropertyGroup> | |
| <TclVersion Condition="$(TclVersion) == ''">9.0.3.0</TclVersion> | |
| <TkVersion Condition="$(TkVersion) == ''">$(TclVersion)</TkVersion> | |
| <TclMajorVersion>$([System.Version]::Parse($(TclVersion)).Major)</TclMajorVersion> | |
| <TclMinorVersion>$([System.Version]::Parse($(TclVersion)).Minor)</TclMinorVersion> | |
| <TclPatchLevel>$([System.Version]::Parse($(TclVersion)).Build)</TclPatchLevel> | |
| <TclRevision>$([System.Version]::Parse($(TclVersion)).Revision)</TclRevision> | |
| <TkMajorVersion>$([System.Version]::Parse($(TkVersion)).Major)</TkMajorVersion> | |
| <TkMinorVersion>$([System.Version]::Parse($(TkVersion)).Minor)</TkMinorVersion> | |
| <TkPatchLevel>$([System.Version]::Parse($(TkVersion)).Build)</TkPatchLevel> | |
| <TkRevision>$([System.Version]::Parse($(TkVersion)).Revision)</TkRevision> | |
| <!-- Back compat hack. If you're here wondering about -core vs not, do us both a favor and just override the whole tclDir variable --> | |
| <tclDir Condition="$(tclDir) == '' and $(TclMajorVersion) == '8'">$(ExternalsDir)tcl-core-$(TclVersion)\</tclDir> | |
| <tclDir Condition="$(tclDir) == ''">$(ExternalsDir)tcl-$(TclVersion)\</tclDir> | |
| <tkDir Condition="$(tkDir) == ''">$(ExternalsDir)tk-$(TkVersion)\</tkDir> | |
| <tcltkDir Condition="$(tcltkDir) == ''">$(ExternalsDir)tcltk-$(TclVersion)\$(ArchName)\</tcltkDir> | |
| <tcltkSuffix Condition="'$(TclMajorVersion)' == '8'">t</tcltkSuffix> | |
| <tkPrefix Condition="'$(TclMajorVersion)' == '9'">tcl9</tkPrefix> | |
| <TclshNativeFlag Condition="$(Platform) != 'Win32'">TCLSH_NATIVE="$(tcltkDir)\..\win32\bin\tclsh$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix).exe"</TclshNativeFlag> | |
| <tclExternalTommath Condition="$(TclMajorVersion) == '9'">TCL_WITH_EXTERNAL_TOMMATH;</tclExternalTommath> | |
| <!--<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>--> | |
| <tclDLLName >tcl$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix)$(TclDebugExt).dll</tclDLLName> | |
| <tclLibName>tcl$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix)$(TclDebugExt).lib</tclLibName> | |
| <tclShExeName>tclsh$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix)$(TclDebugExt).exe</tclShExeName> | |
| <tkDLLName>$(tkPrefix)tk$(TkMajorVersion)$(TkMinorVersion)$(tcltkSuffix)$(TclDebugExt).dll</tkDLLName> | |
| <tkLibName>$(tkPrefix)tk$(TclMajorVersion)$(TclMinorVersion)$(tcltkSuffix)$(TclDebugExt).lib</tkLibName> | |
| <tclZlibDLLName>zlib1.dll</tclZlibDLLName> | |
| <tommathDLLName Condition="'$(TclMajorVersion)' == '9'">libtommath.dll</tommathDLLName> | |
| <tommathLibName Condition="'$(TclMajorVersion)' == '9'">tommath.lib</tommathLibName> | |
| <tcltkLib>$(tcltkDir)lib\$(TclLibName);$(tcltkDir)lib\$(TkLibName);</tcltkLib> | |
| <tcltkLib Condition="'$(tommathLibName)' != ''">$(tcltkLib);$(tcltkDir)lib\$(tommathLibName)</tcltkLib> | |
| <TclMachine>IX86</TclMachine> | |
| <TclMachine Condition="'$(Platform)' == 'x64'">AMD64</TclMachine> | |
| <TclMachine Condition="'$(Platform)' == 'ARM64'">ARM64</TclMachine> | |
| <TclVersions>TCL_MAJOR_VERSION=$(TclMajorVersion) TCL_MINOR_VERSION=$(TclMinorVersion) TCL_PATCH_LEVEL=$(TclPatchLevel)</TclVersions> | |
| <TclShortVersions>TCL_MAJOR=$(TclMajorVersion) TCL_MINOR=$(TclMinorVersion) TCL_PATCH=$(TclPatchLevel)</TclShortVersions> | |
| <TkVersions>TK_MAJOR_VERSION=$(TkMajorVersion) TK_MINOR_VERSION=$(TkMinorVersion) TK_PATCH_LEVEL=$(TkPatchLevel)</TkVersions> | |
| <BuildDirTop>Release</BuildDirTop> | |
| <BuildDirTop Condition="$(Configuration) == 'Debug'">Debug</BuildDirTop> | |
| <BuildDirTop Condition="$(TclMachine) != 'IX86'">$(BuildDirTop)_$(TclMachine)</BuildDirTop> | |
| <BuildDirTop Condition="$(PlatformToolset.StartsWith('v14'))">$(BuildDirTop)_VC13</BuildDirTop> | |
| </PropertyGroup> | |
| <!-- | |
| Helper target for copying the lib to a specific directory. | |
| Using "msbuild tcltk.props /t:CopyTclTkLib /p:OutDir=..." is generally | |
| easier than trying to extract the value of $(tcltkdir). | |
| --> | |
| <Target Name="CopyTclTkLib"> | |
| <ItemGroup> | |
| <_TclTkLib Include="$(tcltkdir)\lib\**\*" /> | |
| </ItemGroup> | |
| <Copy SourceFiles="@(_TclTkLib)" | |
| DestinationFiles="$(OutDir)\%(RecursiveDir)\%(Filename)%(Extension)" | |
| UseHardlinksIfPossible="true" /> | |
| </Target> | |
| </Project> |