diff --git a/.gitignore b/.gitignore index 0c201cb46..a000b8a32 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,6 @@ doc/Doxyfile doc/doxygen-build.stamp lib/test_sharedbook test/test +CMakeFiles/ +build-*/ + diff --git a/Contrib/NuGet/vorbis-msvc-x64-build.nuget.bat b/Contrib/NuGet/vorbis-msvc-x64-build.nuget.bat new file mode 100644 index 000000000..f421c8ff8 --- /dev/null +++ b/Contrib/NuGet/vorbis-msvc-x64-build.nuget.bat @@ -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 diff --git a/Contrib/NuGet/vorbis-msvc-x64.nuspec b/Contrib/NuGet/vorbis-msvc-x64.nuspec new file mode 100644 index 000000000..18b652d46 --- /dev/null +++ b/Contrib/NuGet/vorbis-msvc-x64.nuspec @@ -0,0 +1,15 @@ + + + + vorbis-msvc-x64 + 1.3.5.8787 + administrator + false + Visual Studio 2017 Release vorbis as NuGet package. + + + + + + + \ No newline at end of file diff --git a/Contrib/NuGet/vorbis-msvc-x64.targets b/Contrib/NuGet/vorbis-msvc-x64.targets new file mode 100644 index 000000000..4d2287bc4 --- /dev/null +++ b/Contrib/NuGet/vorbis-msvc-x64.targets @@ -0,0 +1,29 @@ + + + + + HAS_vorbis;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisenc.lib;%(AdditionalDependencies) + + + + + HAS_vorbis;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisenc.lib;%(AdditionalDependencies) + + + + + diff --git a/Contrib/NuGet/vorbis-msvc-x86-build.nuget.bat b/Contrib/NuGet/vorbis-msvc-x86-build.nuget.bat new file mode 100644 index 000000000..d0d1093a3 --- /dev/null +++ b/Contrib/NuGet/vorbis-msvc-x86-build.nuget.bat @@ -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 diff --git a/Contrib/NuGet/vorbis-msvc-x86.nuspec b/Contrib/NuGet/vorbis-msvc-x86.nuspec new file mode 100644 index 000000000..168c38a5b --- /dev/null +++ b/Contrib/NuGet/vorbis-msvc-x86.nuspec @@ -0,0 +1,15 @@ + + + + vorbis-msvc-x86 + 1.3.5.8787 + administrator + false + Visual Studio 2017 Release vorbis as NuGet package. + + + + + + + \ No newline at end of file diff --git a/Contrib/NuGet/vorbis-msvc-x86.targets b/Contrib/NuGet/vorbis-msvc-x86.targets new file mode 100644 index 000000000..9c7e6fa28 --- /dev/null +++ b/Contrib/NuGet/vorbis-msvc-x86.targets @@ -0,0 +1,29 @@ + + + + + HAS_vorbis;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_release/vorbisenc.lib;%(AdditionalDependencies) + + + + + HAS_vorbis;%(PreprocessorDefinitions) + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/include;%(AdditionalIncludeDirectories) + + + $(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbis.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisfile.lib;$(MSBuildThisFileDirectory)../..//build/native/lib_debug/vorbisenc.lib;%(AdditionalDependencies) + + + + +