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="mariadb-connector-c-version.props" Condition=" '$(mariadb-connector-cVersionImported)' == '' "/>
5 <Import Project="downloadpackage.task" Condition=" '$(downloadpackagetask_Imported)' == '' " />
9 <mariadb-connector-cPropsImported>true</mariadb-connector-cPropsImported>
12 <PropertyGroup Label="UserMacros">
13 <mariadb-connector-clibDir>$(BaseDir)libs\mariadb-connector-c-$(mariadb-connector-cVersion)</mariadb-connector-clibDir>
19 By design, targets are executed only once per project.
25 expectfileordirectory: Skips the download and extraction if exists
27 outputfolder: Folder to store a downloaded file.
28 By default "$(BaseDir)libs", if empty
30 outputfilename: If not empty, overrides filename from URI.
31 .exe files don't get extracted
33 extractto: Folder to extract an archive to
36 <Target Name="mariadb-connector-cBinariesDownloadTarget" BeforeTargets="CustomBuild" DependsOnTargets="7za">
38 package="http://files.freeswitch.org/windows/packages/mariadb-connector-c/$(mariadb-connector-cVersion)/mariadb-connector-c-$(mariadb-connector-cVersion)-binaries-$(Platform.ToLower())-$(Configuration.ToLower()).zip"
39 expectfileordirectory="$(mariadb-connector-clibDir)\binaries\$(Platform)\$(Configuration)\libmariadb.dll"
42 extractto="$(BaseDir)libs\"
45 <Target Name="mariadb-connector-cHeadersDownloadTarget" BeforeTargets="CustomBuild" DependsOnTargets="7za">
47 package="http://files.freeswitch.org/windows/packages/mariadb-connector-c/$(mariadb-connector-cVersion)/mariadb-connector-c-$(mariadb-connector-cVersion)-headers.zip"
48 expectfileordirectory="$(mariadb-connector-clibDir)\include\mysql.h"
51 extractto="$(BaseDir)libs\"
55 <Target Name="mariadb-connector-ccopyTarget" AfterTargets="Build" DependsOnTargets="Build">
57 <mariadb-connector-cFiles Include="$(mariadb-connector-clibDir)\binaries\$(Platform)\$(Configuration)\*.dll"/>
58 <libmariadb-plugins Include="$(mariadb-connector-clibDir)\binaries\$(Platform)\$(Configuration)\plugin\*.*" />
60 <Copy Condition="!exists('$(BaseDir)\$(Platform)\$(Configuration)\libmariadb.dll')"
61 SourceFiles="@(mariadb-connector-cFiles)"
62 DestinationFiles="@(mariadb-connector-cFiles->'$(BaseDir)\$(Platform)\$(Configuration)\%(Filename)%(Extension)')"
64 <Copy Condition="!exists('$(BaseDir)\$(Platform)\$(Configuration)\plugin\caching_sha2_password.dll')"
65 SourceFiles="@(libmariadb-plugins)"
66 DestinationFolder="$(BaseDir)\$(Platform)\$(Configuration)\libmariadb_plugin\"
73 <AdditionalIncludeDirectories>$(mariadb-connector-clibDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
76 <AdditionalLibraryDirectories>$(mariadb-connector-clibDir)\binaries\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
77 <AdditionalDependencies>libmariadb.lib;Secur32.lib;%(AdditionalDependencies)</AdditionalDependencies>
79 </ItemDefinitionGroup>