diff --git a/.github/workflows/CI-windows.yml b/.github/workflows/CI-windows.yml index b749913..347f98f 100644 --- a/.github/workflows/CI-windows.yml +++ b/.github/workflows/CI-windows.yml @@ -29,6 +29,9 @@ jobs: submodules: recursive # nasm is required for building Release|Win32 - uses: ilammy/setup-nasm@v1 + - name: Apply patch + # yamllint disable-line rule:line-length + run: git apply --directory=ThirdParty/flac ThirdParty/submodule_flac_CUETools.patch --verbose - name: Build Release|Any CPU run: | "%DEVENV_PATH%" "%SLN_PATH%" /Build "Release|Any CPU" diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index d2dde2c..a268694 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -30,6 +30,9 @@ jobs: submodules: recursive # nasm is required for building Release|Win32 - uses: ilammy/setup-nasm@v1 + - name: Apply patch + # yamllint disable-line rule:line-length + run: git apply --directory=ThirdParty/flac ThirdParty/submodule_flac_CUETools.patch --verbose - name: Build Release|Any CPU run: | "%DEVENV_PATH%" "%SLN_PATH%" /Build "Release|Any CPU" diff --git a/.gitmodules b/.gitmodules index e754138..6f0ea43 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,7 @@ url = https://github.com/gchudov/taglib-sharp.git [submodule "ThirdParty/flac"] path = ThirdParty/flac - url = https://github.com/gchudov/flac.git + url = https://github.com/xiph/flac.git [submodule "ThirdParty/MAC_SDK"] path = ThirdParty/MAC_SDK url = https://github.com/gchudov/MAC_SDK.git diff --git a/README.md b/README.md index f884243..56b4c58 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ Prebuilt binaries can be downloaded from [CUETools Download](http://cue.tools/wi `git clone https://github.com/gchudov/cuetools.net.git` * Get the required submodules using: `git submodule update --init --recursive` +* Apply patch to submodule flac: +`git apply --directory=ThirdParty/flac ThirdParty/submodule_flac_CUETools.patch` * The solution can be built using Microsoft Visual Studio 2017 or newer (Community Edition will work) * Install the required .NET development tools (currently .NET Framework 4.7 and .NET Core 2.0) * Install an appropriate Windows SDK version (currently 10.0.16299.0) diff --git a/ThirdParty/flac b/ThirdParty/flac index 900bf23..27c6157 160000 --- a/ThirdParty/flac +++ b/ThirdParty/flac @@ -1 +1 @@ -Subproject commit 900bf231417431c9d7487cb4ad2cc4c09e7446f9 +Subproject commit 27c615706cedd252a206dd77e3910dfa395dcc49 diff --git a/ThirdParty/submodule_flac_CUETools.patch b/ThirdParty/submodule_flac_CUETools.patch new file mode 100644 index 0000000..e339fda --- /dev/null +++ b/ThirdParty/submodule_flac_CUETools.patch @@ -0,0 +1,174 @@ +diff --git a/src/libFLAC/libFLAC_dynamic.vcxproj b/src/libFLAC/libFLAC_dynamic.vcxproj +index 3c0c10e3..1639ada0 100644 +--- a/src/libFLAC/libFLAC_dynamic.vcxproj ++++ b/src/libFLAC/libFLAC_dynamic.vcxproj +@@ -1,5 +1,5 @@ +  +- ++ + + + Debug +@@ -22,21 +22,26 @@ + {4cefbc83-c215-11db-8314-0800200c9a66} + libFLAC_dynamic + Win32Proj ++ 10.0.16299.0 + + + + DynamicLibrary + true ++ v141 + + + DynamicLibrary + true ++ v141 + + + DynamicLibrary ++ v141 + + + DynamicLibrary ++ v141 + + + +@@ -58,23 +63,23 @@ + <_ProjectFileVersion>12.0.30501.0 + + +- $(SolutionDir)objs\$(Configuration)\lib\ +- $(Configuration)_dynamic\ ++ $(SolutionDir)..\ThirdParty$(Configuration)\$(Platform)\ ++ $(Platform)\$(Configuration)_dynamic\ + true + + + true +- $(SolutionDir)objs\$(Platform)\$(Configuration)\lib\ ++ $(SolutionDir)..\ThirdParty$(Configuration)\$(Platform)\ + $(Platform)\$(Configuration)_dynamic\ + + +- $(SolutionDir)objs\$(Configuration)\lib\ +- $(Configuration)_dynamic\ ++ $(SolutionDir)..\ThirdParty\$(Platform)\ ++ $(Platform)\$(Configuration)_dynamic\ + false + + + false +- $(SolutionDir)objs\$(Platform)\$(Configuration)\lib\ ++ $(SolutionDir)..\ThirdParty\$(Platform)\ + $(Platform)\$(Configuration)_dynamic\ + + +@@ -82,7 +87,7 @@ + /D "_USE_MATH_DEFINES" %(AdditionalOptions) + Disabled + .\include;..\..\include;%(AdditionalIncludeDirectories) +- WIN32;_DEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";DEBUG;FLAC__OVERFLOW_DETECT;%(PreprocessorDefinitions) ++ WIN32;_DEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG=0;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";DEBUG;FLAC__OVERFLOW_DETECT;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug +@@ -92,7 +97,6 @@ + 4267;4996;%(DisableSpecificWarnings) + + +- $(SolutionDir)objs\$(Configuration)\lib\libogg_static.lib;%(AdditionalDependencies) + uuid.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows +@@ -104,7 +108,7 @@ + /D "_USE_MATH_DEFINES" %(AdditionalOptions) + Disabled + .\include;..\..\include;%(AdditionalIncludeDirectories) +- WIN32;_DEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG;ENABLE_64_BIT_WORDS;FLAC__CPU_X86_64;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";DEBUG;FLAC__OVERFLOW_DETECT;%(PreprocessorDefinitions) ++ WIN32;_DEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG=0;ENABLE_64_BIT_WORDS;FLAC__CPU_X86_64;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";DEBUG;FLAC__OVERFLOW_DETECT;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebug + Level3 +@@ -113,7 +117,6 @@ + 4267;4996;%(DisableSpecificWarnings) + + +- $(SolutionDir)objs\$(Platform)\$(Configuration)\lib\libogg_static.lib;%(AdditionalDependencies) + uuid.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows +@@ -127,8 +130,8 @@ + true + true + .\include;..\..\include;%(AdditionalIncludeDirectories) +- WIN32;NDEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";FLaC__INLINE=_inline;%(PreprocessorDefinitions) +- MultiThreaded ++ WIN32;NDEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG=0;FLAC__CPU_IA32;FLAC__HAS_NASM;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";FLaC__INLINE=_inline;%(PreprocessorDefinitions) ++ MultiThreadedDLL + false + Level3 + ProgramDatabase +@@ -137,7 +140,6 @@ + Fast + + +- $(SolutionDir)objs\$(Configuration)\lib\libogg_static.lib;%(AdditionalDependencies) + uuid.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows +@@ -155,8 +157,8 @@ + true + true + .\include;..\..\include;%(AdditionalIncludeDirectories) +- WIN32;NDEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG;ENABLE_64_BIT_WORDS;FLAC__CPU_X86_64;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";FLaC__INLINE=_inline;%(PreprocessorDefinitions) +- MultiThreaded ++ WIN32;NDEBUG;_WINDOWS;_USRDLL;FLAC_API_EXPORTS;FLAC__HAS_OGG=0;ENABLE_64_BIT_WORDS;FLAC__CPU_X86_64;FLAC__HAS_X86INTRIN;FLAC__ALIGN_MALLOC_DATA;PACKAGE_VERSION="1.3.3";FLaC__INLINE=_inline;%(PreprocessorDefinitions) ++ MultiThreadedDLL + false + Level3 + ProgramDatabase +@@ -165,7 +167,6 @@ + Fast + + +- $(SolutionDir)objs\$(Platform)\$(Configuration)\lib\libogg_static.lib;%(AdditionalDependencies) + uuid.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows +@@ -241,10 +242,6 @@ + + + +- +- +- +- + + + +diff --git a/src/libFLAC/libFLAC_dynamic.vcxproj.filters b/src/libFLAC/libFLAC_dynamic.vcxproj.filters +index 875c0216..a92f2a74 100644 +--- a/src/libFLAC/libFLAC_dynamic.vcxproj.filters ++++ b/src/libFLAC/libFLAC_dynamic.vcxproj.filters +@@ -193,18 +193,6 @@ + + Source Files + +- +- Source Files +- +- +- Source Files +- +- +- Source Files +- +- +- Source Files +- + + Source Files +