-
-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
windows: create GPL package and LGPL package
- Loading branch information
Showing
4 changed files
with
202 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?xml version="1.0"?> | ||
<package > | ||
<metadata> | ||
<id>VideoLAN.LibVLC.Windows.GPL</id> | ||
<title>VideoLAN.LibVLC.Windows.GPL</title> | ||
<version>3.0.11</version> | ||
<authors>VideoLAN</authors> | ||
<owners>VideoLAN</owners> | ||
<requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
<summary>LibVLC is a modular multimedia framework</summary> | ||
<description>LibVLC is a modular multimedia framework that can render video and output audio as well as encode and stream. | ||
As it is native code, you will need to use a wrapper library such as LibVLCSharp to use it from .NET. | ||
This package contains GPL plugin DLLs from official releases. Make sure you comply with the GPL license.</description> | ||
<tags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</tags> | ||
<projectUrl>https://code.videolan.org/videolan/libvlc-nuget</projectUrl> | ||
<license type="expression">GPL-2.0-or-later</license> | ||
<icon>icon.png</icon> | ||
<releaseNotes>https://code.videolan.org/videolan/vlc/blob/master/NEWS</releaseNotes> | ||
</metadata> | ||
<files> | ||
<file src="build\VideoLAN.LibVLC.Windows.GPL.targets" target="build\VideoLAN.LibVLC.Windows.GPL.targets"/> | ||
<file src="build\win7-x64\native\**" target="build\x64"/> | ||
<file src="build\win7-x86\native\**" target="build\x86"/> | ||
<file src="icon.png" target="" /> | ||
</files> | ||
</package> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<VlcWindowsX64TargetDir Condition=" '$(VlcWindowsX64TargetDir)' == '' ">libvlc\win-x64</VlcWindowsX64TargetDir> | ||
<VlcWindowsX86TargetDir Condition=" '$(VlcWindowsX86TargetDir)' == '' ">libvlc\win-x86</VlcWindowsX86TargetDir> | ||
<VlcWindowsX64Enabled Condition="'$(VlcWindowsX64Enabled)' == '' AND ('$(Platform)' == 'x64' OR '$(Platform)' == 'AnyCPU')">true</VlcWindowsX64Enabled> | ||
<VlcWindowsX86Enabled Condition="'$(VlcWindowsX86Enabled)' == '' AND ('$(Platform)' == 'x86' OR '$(Platform)' == 'AnyCPU')">true</VlcWindowsX86Enabled> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<!-- If no VlcWindows[...]IncludeFiles was declared previously, include all plugins by default by specifying ** (escaped, so %2A%2A) --> | ||
<VlcWindowsX64IncludeFiles Condition="'@(VlcWindowsX64IncludeFiles)'==''" Include="libvlc.%2A;libvlccore.%2A;hrtfs\%2A%2A;lua\%2A%2A;plugins\%2A%2A" /> | ||
<VlcWindowsX86IncludeFiles Condition="'@(VlcWindowsX86IncludeFiles)'==''" Include="libvlc.%2A;libvlccore.%2A;hrtfs\%2A%2A;lua\%2A%2A;plugins\%2A%2A" /> | ||
</ItemGroup> | ||
|
||
<Target Name="CollectVlcFilesToCopyWindows" BeforeTargets="BeforeBuild"> | ||
<!-- We need a target in order to make batching work --> | ||
<!-- Some useful links to understand how it works: | ||
http://sedotech.com/Resources#Batching (4 parts of excellent explanation of Batching. Link 2 is dead, but can be found in parts 3 and above) | ||
http://sedodream.com/2010/10/21/MSBuildFilterListTake2.aspx | ||
--> | ||
|
||
<!-- First, transform the escaped, relative, platform-independant file path into real path, relative to 32/64 folders --> | ||
|
||
<!-- x64 --> | ||
<ItemGroup Condition="'$(VlcWindowsX64Enabled)' == 'true'"> | ||
<!-- Expand selectors and compute absolute paths for include, exclude and MainLibraries --> | ||
<VlcWindowsX64IncludeFilesFullPath Include="$([MSBuild]::Unescape($(MSBuildThisFileDirectory)..\build\x64\%(VlcWindowsX64IncludeFiles.Identity)))" /> | ||
<VlcWindowsX64ExcludeFilesFullPath Include="$([MSBuild]::Unescape($(MSBuildThisFileDirectory)..\build\x64\%(VlcWindowsX64ExcludeFiles.Identity)))" Condition="'%(VlcWindowsX64ExcludeFiles.Identity)'!=''" /> | ||
|
||
<!-- We have gathered all the full path of what should be copied and what should be skipped, let's include that as Content that gets copied --> | ||
<Content Include="@(VlcWindowsX64IncludeFilesFullPath)" Exclude="@(VlcWindowsX64ExcludeFilesFullPath)"> | ||
<Link>$(VlcWindowsX64TargetDir)\$([MSBuild]::MakeRelative($(MSBuildThisFileDirectory)..\build\x64\, %(FullPath)))</Link> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</Content> | ||
</ItemGroup> | ||
|
||
<!-- x86 --> | ||
<ItemGroup Condition="'$(VlcWindowsX86Enabled)' == 'true'"> | ||
<!-- Expand selectors and compute absolute paths for include, exclude and MainLibraries --> | ||
<VlcWindowsX86IncludeFilesFullPath Include="$([MSBuild]::Unescape($(MSBuildThisFileDirectory)..\build\x86\%(VlcWindowsX86IncludeFiles.Identity)))" /> | ||
<VlcWindowsX86ExcludeFilesFullPath Include="$([MSBuild]::Unescape($(MSBuildThisFileDirectory)..\build\x86\%(VlcWindowsX86ExcludeFiles.Identity)))" Condition="'%(VlcWindowsX86ExcludeFiles.Identity)'!=''" /> | ||
|
||
<!-- We have gathered all the full path of what should be copied and what should be skipped, let's include that as Content that gets copied --> | ||
<Content Include="@(VlcWindowsX86IncludeFilesFullPath)" Exclude="@(VlcWindowsX86ExcludeFilesFullPath)"> | ||
<Link>$(VlcWindowsX86TargetDir)\$([MSBuild]::MakeRelative($(MSBuildThisFileDirectory)..\build\x86\, %(FullPath)))</Link> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</Content> | ||
</ItemGroup> | ||
</Target> | ||
|
||
<ItemDefinitionGroup> | ||
<ClCompile Condition="'$(Language)' == 'C++' and ('$(Platform)' == 'x64' or '$(Platform)' == 'x86') and '$(OS)'=='Windows_NT'"> | ||
<AdditionalIncludeDirectories> | ||
$(MSBuildThisFileDirectory)\$(Platform)\include\;%(AdditionalIncludeDirectories) | ||
</AdditionalIncludeDirectories> | ||
</ClCompile> | ||
</ItemDefinitionGroup> | ||
|
||
<ItemDefinitionGroup> | ||
<Link Condition="'$(Language)' == 'C++' and ('$(Platform)' == 'x64' or '$(Platform)' == 'x86') and '$(OS)'=='Windows_NT'"> | ||
<AdditionalDependencies>libvlc.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
</Link> | ||
</ItemDefinitionGroup> | ||
|
||
<ItemGroup> | ||
<Content Include="$(MSBuildThisFileDirectory)\$(Platform)\*.dll" | ||
Condition="'$(Language)' == 'C++' and ('$(Platform)' == 'x64' or '$(Platform)' == 'x86') and '$(OS)'=='Windows_NT'"> | ||
<Link>%(RecursiveDir)%(FileName)%(Extension)</Link> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</Content> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<Content Include="$(MSBuildThisFileDirectory)\$(Platform)\plugins\**" | ||
Condition="'$(Language)' == 'C++' and '$(OS)'=='Windows_NT' and ('$(Platform)' == 'x86' or '$(Platform)' == 'x64')"> | ||
<Link>plugins\%(RecursiveDir)%(FileName)%(Extension)</Link> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</Content> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<Content Include="$(MSBuildThisFileDirectory)\$(Platform)\hrtfs\**" | ||
Condition="'$(Language)' == 'C++' and '$(OS)'=='Windows_NT' and ('$(Platform)' == 'x86' or '$(Platform)' == 'x64')"> | ||
<Link>hrtfs\%(RecursiveDir)%(FileName)%(Extension)</Link> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</Content> | ||
</ItemGroup> | ||
|
||
<ItemGroup> | ||
<Content Include="$(MSBuildThisFileDirectory)\$(Platform)\lua\**" | ||
Condition="'$(Language)' == 'C++' and '$(OS)'=='Windows_NT' and ('$(Platform)' == 'x86' or '$(Platform)' == 'x64')"> | ||
<Link>lua\%(RecursiveDir)%(FileName)%(Extension)</Link> | ||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> | ||
</Content> | ||
</ItemGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters