1 <?xml version="1.0" encoding="utf-8"?>
2 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ImportGroup Label="PropertySheets">
4 <Import Project="signalwire-client-c-version.props" Condition=" '$(signalwire-client-cVersionImported)' == ''"/>
8 <signalwire-client-cPropsImported>true</signalwire-client-cPropsImported>
11 <PropertyGroup Label="UserMacros">
12 <signalwire-client-cDir>$(BaseDir)libs\signalwire-client-c-$(signalwire-client-cVersion)</signalwire-client-cDir>
18 By design, targets are executed only once per project.
24 expectfileordirectory: Skips the download and extraction if exists
26 outputfolder: Folder to store a downloaded file.
27 By default "$(BaseDir)libs", if empty
29 outputfilename: If not empty, overrides filename from URI.
30 .exe files don't get extracted
32 extractto: Folder to extract an archive to
35 <Target Name="signalwire-client-cBinariesDownloadTarget" BeforeTargets="CustomBuild" DependsOnTargets="7za">
37 package="http://files.freeswitch.org/windows/packages/signalwire-client-c/$(signalwire-client-cVersion)_$(signalwire-client-cBuildNumber)/signalwire-client-c-$(signalwire-client-cVersion)_$(signalwire-client-cBuildNumber)-binaries-$(Platform.ToLower())-$(Configuration.ToLower()).zip"
38 expectfileordirectory="$(signalwire-client-cDir)\binaries\$(Platform)\$(Configuration)\signalwire_client2.dll"
41 extractto="$(BaseDir)libs\"
44 <Target Name="signalwire-client-cHeadersDownloadTarget" BeforeTargets="CustomBuild" DependsOnTargets="7za">
46 package="http://files.freeswitch.org/windows/packages/signalwire-client-c/$(signalwire-client-cVersion)_$(signalwire-client-cBuildNumber)/signalwire-client-c-$(signalwire-client-cVersion)_$(signalwire-client-cBuildNumber)-headers.zip"
47 expectfileordirectory="$(signalwire-client-cDir)\include\signalwire-client-c\client.h"
50 extractto="$(BaseDir)libs\"
54 <Target Name="signalwire-client-ccopyTarget" BeforeTargets="CustomBuild" DependsOnTargets="signalwire-client-cBinariesDownloadTarget">
55 <Message Text="Copying signalwire-client-c libraries to the freeswitch output folder." Importance="High" />
57 <signalwire-client-cFiles Include="$(signalwire-client-cDir)\binaries\$(Platform)\$(Configuration)\*.dll"/>
59 <Copy Condition="!exists('$(BaseDir)\$(Platform)\$(Configuration)\signalwire_client2.dll')"
60 SourceFiles="@(signalwire-client-cFiles)"
61 DestinationFiles="@(signalwire-client-cFiles->'$(BaseDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension)')"
68 <AdditionalIncludeDirectories>$(signalwire-client-cDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
69 <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
72 <AdditionalLibraryDirectories>$(signalwire-client-cDir)\binaries\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
73 <AdditionalDependencies>signalwire_client2.lib;%(AdditionalDependencies)</AdditionalDependencies>
75 </ItemDefinitionGroup>