Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release vorbis as vs2017 NuGet package #30

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,6 @@ doc/Doxyfile
doc/doxygen-build.stamp
lib/test_sharedbook
test/test
CMakeFiles/
build-*/

99 changes: 99 additions & 0 deletions Contrib/NuGet/vorbis-msvc-x64-build.nuget.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
REM @echo off

Echo LIB Windows Build NuGet

REM # XEON x64 Build Vars #
set _SCRIPT_DRIVE=%~d0
set _SCRIPT_FOLDER=%~dp0
set INITDIR=%CD%
set SRC=%INITDIR%\..\..\
set BUILDTREE=%SRC%\build-win\
SET tbs_arch=x64
SET vcvar_arg=x86_amd64
SET cmake_platform="Visual Studio 15 2017 Win64"

REM # VC Vars #
SET VCVAR="%programfiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"
if exist %VCVAR% call %VCVAR% %vcvar_arg%
SET VCVAR="%programfiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat"
if exist %VCVAR% call %VCVAR% %vcvar_arg%

REM # Clean Build Tree #
rd /s /q %BUILDTREE%
mkdir %BUILDTREE%
mkdir %BUILDTREE%\deps
cd %BUILDTREE%

:nuget_Dep
REM # packages from nuget #
cd %BUILDTREE%\deps
SET OGGVER=1.3.2.8787
nuget install ogg-msvc-%tbs_arch% -Version %OGGVER%

:copy_files
set BINDIR=%SRC%\build-nuget\
rd /s /q %BINDIR%
mkdir %BINDIR%

:static_LIB
REM # LIB STATIC #
ECHO %cmake_platform% STATIC

rd /s /q %BUILDTREE%\vorbis
mkdir %BUILDTREE%\vorbis
cd %BUILDTREE%\vorbis
cmake -G %cmake_platform% ^
-DBUILD_SHARED_LIBS:BOOL=OFF ^
-DCMAKE_CXX_FLAGS_RELEASE="/MD" ^
-DCMAKE_CXX_FLAGS_DEBUG="/MDd" ^
-DCMAKE_C_FLAGS_RELEASE="/MD" ^
-DCMAKE_C_FLAGS_DEBUG="/MDd" ^
-DOGG_LIBRARIES=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\lib_release\ogg.lib ^
-DOGG_INCLUDE_DIRS=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\include ^
-DCMAKE_INSTALL_PREFIX=%BINDIR% ^
-DCMAKE_BUILD_TYPE="Release" %SRC%
cmake --build . --config Release --target install

move %BINDIR%lib %BINDIR%lib_release
move %BINDIR%bin %BINDIR%bin_release

REM # Clean Build Tree #
rd /s /q %BUILDTREE%\vorbis

REM # DEBUG #
rd /s /q %BUILDTREE%\vorbis
mkdir %BUILDTREE%\vorbis
cd %BUILDTREE%\vorbis
cmake -G %cmake_platform% ^
-DBUILD_SHARED_LIBS:BOOL=OFF ^
-DCMAKE_CXX_FLAGS_RELEASE="/MD" ^
-DCMAKE_CXX_FLAGS_DEBUG="/MDd" ^
-DCMAKE_C_FLAGS_RELEASE="/MD" ^
-DCMAKE_C_FLAGS_DEBUG="/MDd" ^
-DOGG_LIBRARIES=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\lib_debug\ogg.lib ^
-DOGG_INCLUDE_DIRS=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\include ^
-DCMAKE_INSTALL_PREFIX=%BINDIR% ^
-DCMAKE_BUILD_TYPE="DEBUG" %SRC%
cmake --build . --config DEBUG --target install

move %BINDIR%lib %BINDIR%lib_debug
move %BINDIR%bin %BINDIR%bin_debug

REM # TODO: ENABLE SHARED Build
GOTO:nuget_req
mkdir %BINDIR%\static\
move /Y %BINDIR%\lib %BINDIR%\static\

:shared_LIB
REM # LIB SHARED #
ECHO %cmake_platform% SHARED


:nuget_req
REM # make nuget packages from binaries #
copy %INITDIR%\vorbis-msvc-%tbs_arch%.targets %BINDIR%\vorbis-msvc-%tbs_arch%.targets
cd %BUILDTREE%
nuget pack %INITDIR%\vorbis-msvc-%tbs_arch%.nuspec
cd %INITDIR%
REM --- exit ----
GOTO:eof
15 changes: 15 additions & 0 deletions Contrib/NuGet/vorbis-msvc-x64.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>vorbis-msvc-x64</id>
<version>1.3.5.8787</version>
<authors>administrator</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Visual Studio 2017 Release vorbis as NuGet package.</description>
</metadata>
<files>
<file src="..\..\COPYING" target="COPYING" />
<file src="..\..\README.md" target="README.md" />
<file src="..\..\build-nuget\**\*.*" target="build\native" />
</files>
</package>
29 changes: 29 additions & 0 deletions Contrib/NuGet/vorbis-msvc-x64.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup Label="Release and x64" Condition="( $(Configuration.ToLower().IndexOf('debug')) == -1 ) And '$(Platform.ToLower())' == 'x64'">
<ClCompile>
<PreprocessorDefinitions>HAS_vorbis;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisenc.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Label="Debug and x64" Condition="( $(Configuration.ToLower().IndexOf('debug')) &gt; -1 ) And '$(Platform.ToLower())' == 'x64'">
<ClCompile>
<PreprocessorDefinitions>HAS_vorbis;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisenc.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Target Name="vorbis-msvc">
</Target>
</Project>
99 changes: 99 additions & 0 deletions Contrib/NuGet/vorbis-msvc-x86-build.nuget.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
REM @echo off

Echo LIB Windows Build NuGet

REM # XEON win32 Build Vars #
set _SCRIPT_DRIVE=%~d0
set _SCRIPT_FOLDER=%~dp0
set INITDIR=%CD%
set SRC=%INITDIR%\..\..\
set BUILDTREE=%SRC%\build-win\
SET tbs_arch=x86
SET vcvar_arg=x86
SET cmake_platform="Visual Studio 15 2017"

REM # VC Vars #
SET VCVAR="%programfiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat"
if exist %VCVAR% call %VCVAR% %vcvar_arg%
SET VCVAR="%programfiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat"
if exist %VCVAR% call %VCVAR% %vcvar_arg%

REM # Clean Build Tree #
rd /s /q %BUILDTREE%
mkdir %BUILDTREE%
mkdir %BUILDTREE%\deps
cd %BUILDTREE%

:nuget_Dep
REM # packages from nuget #
cd %BUILDTREE%\deps
SET OGGVER=1.3.2.8787
nuget install ogg-msvc-%tbs_arch% -Version %OGGVER%

:copy_files
set BINDIR=%SRC%\build-nuget\
rd /s /q %BINDIR%
mkdir %BINDIR%

:static_LIB
REM # LIB STATIC #
ECHO %cmake_platform% STATIC

rd /s /q %BUILDTREE%\vorbis
mkdir %BUILDTREE%\vorbis
cd %BUILDTREE%\vorbis
cmake -G %cmake_platform% ^
-DBUILD_SHARED_LIBS:BOOL=OFF ^
-DCMAKE_CXX_FLAGS_RELEASE="/MD" ^
-DCMAKE_CXX_FLAGS_DEBUG="/MDd" ^
-DCMAKE_C_FLAGS_RELEASE="/MD" ^
-DCMAKE_C_FLAGS_DEBUG="/MDd" ^
-DOGG_LIBRARIES=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\lib_release\ogg.lib ^
-DOGG_INCLUDE_DIRS=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\include ^
-DCMAKE_INSTALL_PREFIX=%BINDIR% ^
-DCMAKE_BUILD_TYPE="Release" %SRC%
cmake --build . --config Release --target install

move %BINDIR%lib %BINDIR%lib_release
move %BINDIR%bin %BINDIR%bin_release

REM # Clean Build Tree #
rd /s /q %BUILDTREE%\vorbis

REM # DEBUG #
rd /s /q %BUILDTREE%\vorbis
mkdir %BUILDTREE%\vorbis
cd %BUILDTREE%\vorbis
cmake -G %cmake_platform% ^
-DBUILD_SHARED_LIBS:BOOL=OFF ^
-DCMAKE_CXX_FLAGS_RELEASE="/MD" ^
-DCMAKE_CXX_FLAGS_DEBUG="/MDd" ^
-DCMAKE_C_FLAGS_RELEASE="/MD" ^
-DCMAKE_C_FLAGS_DEBUG="/MDd" ^
-DOGG_LIBRARIES=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\lib_debug\ogg.lib ^
-DOGG_INCLUDE_DIRS=%BUILDTREE%\deps\ogg-msvc-%tbs_arch%.%OGGVER%\build\native\include ^
-DCMAKE_INSTALL_PREFIX=%BINDIR% ^
-DCMAKE_BUILD_TYPE="DEBUG" %SRC%
cmake --build . --config DEBUG --target install

move %BINDIR%lib %BINDIR%lib_debug
move %BINDIR%bin %BINDIR%bin_debug

REM # TODO: ENABLE SHARED Build
GOTO:nuget_req
mkdir %BINDIR%\static\
move /Y %BINDIR%\lib %BINDIR%\static\

:shared_LIB
REM # LIB SHARED #
ECHO %cmake_platform% SHARED


:nuget_req
REM # make nuget packages from binaries #
copy %INITDIR%\vorbis-msvc-%tbs_arch%.targets %BINDIR%\vorbis-msvc-%tbs_arch%.targets
cd %BUILDTREE%
nuget pack %INITDIR%\vorbis-msvc-%tbs_arch%.nuspec
cd %INITDIR%
REM --- exit ----
GOTO:eof
15 changes: 15 additions & 0 deletions Contrib/NuGet/vorbis-msvc-x86.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>vorbis-msvc-x86</id>
<version>1.3.5.8787</version>
<authors>administrator</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Visual Studio 2017 Release vorbis as NuGet package.</description>
</metadata>
<files>
<file src="..\..\COPYING" target="COPYING" />
<file src="..\..\README.md" target="README.md" />
<file src="..\..\build-nuget\**\*.*" target="build\native" />
</files>
</package>
29 changes: 29 additions & 0 deletions Contrib/NuGet/vorbis-msvc-x86.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup Label="Release and win32" Condition="( $(Configuration.ToLower().IndexOf('debug')) == -1 ) And '$(Platform.ToLower())' == 'win32'">
<ClCompile>
<PreprocessorDefinitions>HAS_vorbis;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisenc.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Label="Debug and win32" Condition="( $(Configuration.ToLower().IndexOf('debug')) &gt; -1 ) And '$(Platform.ToLower())' == 'win32'">
<ClCompile>
<PreprocessorDefinitions>HAS_vorbis;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisenc.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Target Name="vorbis-msvc">
</Target>
</Project>