From f9946e76d4cabd069cc9fd5f009e1159a16bf681 Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Wed, 26 Jan 2022 14:18:15 +0100 Subject: [PATCH 1/8] Removed the Monad FL Parser binary from the repository. Added opt-in auto-download and default path override options for the FL parser to CMakeLists.txt. Changed referenced Monad FL parser version to be able to parse FL 20.9 project files. --- .gitignore | 1 + CMakeLists.txt | 14 +++++++++++++- Docs/Home.md | 3 +++ WaveSabreConvert/CMakeLists.txt | 2 +- WaveSabreConvert/FLParser/LICENSE | 7 ------- WaveSabreConvert/FLParser/Monad.FLParser.dll | Bin 35328 -> 0 bytes WaveSabreConvert/FLParser/README | 5 +++++ 7 files changed, 23 insertions(+), 9 deletions(-) delete mode 100644 WaveSabreConvert/FLParser/LICENSE delete mode 100644 WaveSabreConvert/FLParser/Monad.FLParser.dll create mode 100644 WaveSabreConvert/FLParser/README diff --git a/.gitignore b/.gitignore index 7defc56f..cca8bddf 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ Vst3.x/* !Vst3.x/README Data/data.aps Vsts/*/*.def +WaveSabreConvert/FLParser/Monad.FLParser.dll # Ignore VS 2017 IDE fluff .vs/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ff58de4..c2fc679d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,8 @@ set(BUILD_WAVESABRE_CONVERT ON CACHE BOOL "Do not build WaveSabreConvert.") set(BUILD_WAVESABRE_CONVERT_TESTS ON CACHE BOOL "Do not build the WaveSabreConvert tests.") set(BUILD_CONVERT_THE_FUCK ON CACHE BOOL "Do not build ConvertTheFuck.") set(BUILD_PROJECT_MANAGER ON CACHE BOOL "Do not build the project manager.") -set(VSTSDK3_DIR "${PROJECT_SOURCE_DIR}/Vst3.x/" CACHE PATH "VSTSDK location") +set(VSTSDK3_DIR "${PROJECT_SOURCE_DIR}/Vst3.x/" CACHE PATH "VSTSDK location.") +set(MONAD_FL_PARSER_DIR "${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser/" CACHE PATH "Monad FL parser location.") # Download and unpack VST3 SDK set(DOWNLOAD_VST3SDK OFF CACHE BOOL "Download and unpack VST3 SDK automatically.") @@ -33,6 +34,17 @@ if(${BUILD_VST_PLUGINS} AND ${DOWNLOAD_VST3SDK}) endif() endif() +# Download and unpack the Monad FL Parser +set(DOWNLOAD_MONAD_FL_PARSER OFF CACHE BOOL "Download the Monad FL parser binary automatically.") +if(${BUILD_WAVESABRE_CONVERT} AND ${DOWNLOAD_MONAD_FL_PARSER}) + find_file(MONAD_FL_PARSER_TEST name Monad.FLParser.dll HINTS ${MONAD_FL_PARSER_DIR}) + if(${MONAD_FL_PARSER_TEST} MATCHES MONAD_FL_PARSER_TEST-NOTFOUND) + message(STATUS "Monad FL parser not found. Will download.") + file(DOWNLOAD https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll Monad.FLParser.dll SHOW_PROGRESS) + file(COPY "${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser.dll" DESTINATION "${MONAD_FL_PARSER_DIR}") + endif() +endif() + # shared code add_subdirectory(MSVCRT) add_subdirectory(WaveSabreCore) diff --git a/Docs/Home.md b/Docs/Home.md index 94c9980a..6313422f 100644 --- a/Docs/Home.md +++ b/Docs/Home.md @@ -4,6 +4,7 @@ - WaveSabre builds have only been tested with Visual Studio 2013/2015/2017/2019 and version 3.6.6 of the VST3 SDK. - Due to licensing requirements, WaveSabre requires you to either [download](https://web.archive.org/web/20200502121517/https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip) and copy the VST3 SDK into the build yourself. Download, extract, and copy into the *"Vst3.x"* folder. See [this readme](https://github.com/logicomacorp/WaveSabre/blob/master/Vst3.x/README) or download the VST3 SDK automatically using CMake (see below). +- For the same reasons, you should [download](https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll) and copy the Monad FL parser into the build yourself. Download and copy the dll into the folder at `WaveSabreConvert/FLParser/`. See [this readme](https://github.com/logicomacorp/WaveSabre/blob/master/WaveSabreConvert/FLParser/README). You can also let CMake download the Monad FL parser automatically for you; see below for the command line options to use for this. ### CMake @@ -15,6 +16,8 @@ WaveSabre has a new [CMake](https://cmake.org/) based build-system that can gene - Run `cmake -B build` to generate the Visual Studio project files and solution - Optionally, you can also specify `-DVSTDIR=` to copy the VST plugins into your DAW's VST plugin directory upon build. - Optionally, you can specify `-DDOWNLOAD_VST3SDK=ON` to let CMake download and unpack the VST3 SDK for you. + - Optionally, you can specify `-DDOWNLOAD_MONAD_FL_PARSER=ON` to let CMake download and unpack the Monad FL parser for you. + - It is possible to specify a custom directory for the Monad FL parser using `-DMONAD_FL_PARSER_DIR=`. - You can specify `-DBUILD_VST_PLUGINS=OFF` to avoid building the plugins (useful for projects that only need the synthesizer and not the plugins). - You can also specify `-DVSTSDK3_DIR=` to use a VSTSDK from outside of the source-tree. - You can limit the tools you want to build by using `-DBUILD_WAVESABRE_CONVERT=OFF`, `-DBUILD_WAVESABRE_CONVERT_TESTS=OFF`, `-DBUILD_CONVERT_THE_FUCK=OFF` or `-DBUILD_PROJECT_MANAGER=OFF`. diff --git a/WaveSabreConvert/CMakeLists.txt b/WaveSabreConvert/CMakeLists.txt index 4daecae0..f6c284a6 100644 --- a/WaveSabreConvert/CMakeLists.txt +++ b/WaveSabreConvert/CMakeLists.txt @@ -34,7 +34,7 @@ add_library(WaveSabreConvert SHARED ${WAVESABRE_CONVERT_SOURCES}) csharp_set_designer_cs_properties(${WAVESABRE_CONVERT_SOURCES}) csharp_set_windows_forms_properties(${WAVESABRE_CONVERT_SOURCES}) -set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_REFERENCE_Monad.FLParser "${CMAKE_CURRENT_SOURCE_DIR}/FLParser/Monad.FLParser.dll") +set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_REFERENCE_Monad.FLParser "${MONAD_FL_PARSER_DIR}/Monad.FLParser.dll") set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.6.1") set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_REFERENCES "System" diff --git a/WaveSabreConvert/FLParser/LICENSE b/WaveSabreConvert/FLParser/LICENSE deleted file mode 100644 index cce5f68d..00000000 --- a/WaveSabreConvert/FLParser/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2017 MONAD Demogroup - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/WaveSabreConvert/FLParser/Monad.FLParser.dll b/WaveSabreConvert/FLParser/Monad.FLParser.dll deleted file mode 100644 index f00a6f849cfa8a360b3b593aab0b859adae18be8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35328 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 K-xZv|1OEp?GmMe| diff --git a/WaveSabreConvert/FLParser/README b/WaveSabreConvert/FLParser/README new file mode 100644 index 00000000..10f685c7 --- /dev/null +++ b/WaveSabreConvert/FLParser/README @@ -0,0 +1,5 @@ +You can download the last version of the Monad FL parser [here][1]. + +Copy the dll downloaded from there into this folder. + +[1]: https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll From e72352caba6d2e7fe8bba8333196347a5192970d Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Wed, 26 Jan 2022 14:46:34 +0100 Subject: [PATCH 2/8] Updated AppVeyor config to set up the build environment correctly. --- .appveyor.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4fc03c7c..ac0631af 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -17,12 +17,15 @@ install: Invoke-WebRequest "https://web.archive.org/web/20200502121517/https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip" -OutFile "vstsdk.zip" Expand-Archive "vstsdk.zip" "C:\tmp" } + if (-Not (Test-Path "C:\tmp\Monad.FLParser.dll")) { + Invoke-WebRequest "https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll" -OutFile "C:\tmp\Monad.FLParser.dll" + } build_script: # build native code/tests - mkdir build - cd build - - cmake -DCMAKE_GENERATOR_PLATFORM=%PLATFORM% -DVSTSDK3_DIR="C:/tmp/VST3 SDK" .. + - cmake -DCMAKE_GENERATOR_PLATFORM=%PLATFORM% -DVSTSDK3_DIR="C:/tmp/VST3 SDK" -DMONAD_FL_PARSER_DIR="C:/tmp/" .. - msbuild /v:minimal /nologo WaveSabre.sln - msbuild /v:minimal /nologo /property:Configuration="MinSizeRel" WaveSabre.sln - cd .. From a7566c2c0b84606ef3ff0c2cd693a4e814d3d6e9 Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Sat, 5 Feb 2022 15:05:27 +0100 Subject: [PATCH 3/8] Changed the FL parser mechanism from download-binary to download-source --- .appveyor.yml | 5 +--- .gitignore | 1 - CMakeLists.txt | 22 +++++++++++--- Docs/Home.md | 2 +- WaveSabreConvert/CMakeLists.txt | 7 ++++- WaveSabreConvert/FLParser/CMakeLists.txt | 38 ++++++++++++++++++++++++ WaveSabreConvert/FLParser/README | 5 ---- 7 files changed, 64 insertions(+), 16 deletions(-) create mode 100644 WaveSabreConvert/FLParser/CMakeLists.txt delete mode 100644 WaveSabreConvert/FLParser/README diff --git a/.appveyor.yml b/.appveyor.yml index ac0631af..c07f7360 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -17,15 +17,12 @@ install: Invoke-WebRequest "https://web.archive.org/web/20200502121517/https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip" -OutFile "vstsdk.zip" Expand-Archive "vstsdk.zip" "C:\tmp" } - if (-Not (Test-Path "C:\tmp\Monad.FLParser.dll")) { - Invoke-WebRequest "https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll" -OutFile "C:\tmp\Monad.FLParser.dll" - } build_script: # build native code/tests - mkdir build - cd build - - cmake -DCMAKE_GENERATOR_PLATFORM=%PLATFORM% -DVSTSDK3_DIR="C:/tmp/VST3 SDK" -DMONAD_FL_PARSER_DIR="C:/tmp/" .. + - cmake -DCMAKE_GENERATOR_PLATFORM=%PLATFORM% -DVSTSDK3_DIR="C:/tmp/VST3 SDK" -DDOWNLOAD_MONAD_FL_PARSER=ON -DMONAD_FL_PARSER_DIR="C:/tmp/Monad.FLParser" .. - msbuild /v:minimal /nologo WaveSabre.sln - msbuild /v:minimal /nologo /property:Configuration="MinSizeRel" WaveSabre.sln - cd .. diff --git a/.gitignore b/.gitignore index cca8bddf..7defc56f 100644 --- a/.gitignore +++ b/.gitignore @@ -35,7 +35,6 @@ Vst3.x/* !Vst3.x/README Data/data.aps Vsts/*/*.def -WaveSabreConvert/FLParser/Monad.FLParser.dll # Ignore VS 2017 IDE fluff .vs/ diff --git a/CMakeLists.txt b/CMakeLists.txt index c2fc679d..ab66b982 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,9 @@ cmake_policy(SET CMP0057 NEW) include(CSharpUtilities) set(CMAKE_CSharp_FLAGS ${CMAKE_CSharp_FLAGS} "/langversion:6") +find_package(Git REQUIRED) +include(ExternalProject) + cmake_minimum_required(VERSION 3.11) set_property(GLOBAL PROPERTY USE_FOLDERS ON) @@ -19,7 +22,7 @@ set(BUILD_WAVESABRE_CONVERT_TESTS ON CACHE BOOL "Do not build the WaveSabreConve set(BUILD_CONVERT_THE_FUCK ON CACHE BOOL "Do not build ConvertTheFuck.") set(BUILD_PROJECT_MANAGER ON CACHE BOOL "Do not build the project manager.") set(VSTSDK3_DIR "${PROJECT_SOURCE_DIR}/Vst3.x/" CACHE PATH "VSTSDK location.") -set(MONAD_FL_PARSER_DIR "${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser/" CACHE PATH "Monad FL parser location.") +set(MONAD_FL_PARSER_DIR "${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser.Source" CACHE PATH "Monad FL parser location.") # Download and unpack VST3 SDK set(DOWNLOAD_VST3SDK OFF CACHE BOOL "Download and unpack VST3 SDK automatically.") @@ -37,12 +40,23 @@ endif() # Download and unpack the Monad FL Parser set(DOWNLOAD_MONAD_FL_PARSER OFF CACHE BOOL "Download the Monad FL parser binary automatically.") if(${BUILD_WAVESABRE_CONVERT} AND ${DOWNLOAD_MONAD_FL_PARSER}) - find_file(MONAD_FL_PARSER_TEST name Monad.FLParser.dll HINTS ${MONAD_FL_PARSER_DIR}) + set(MONAD_FL_PARSER_BINARY ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser/Release/Monad.FLParser.dll) + find_file(MONAD_FL_PARSER_TEST NAME Project.cs HINTS ${MONAD_FL_PARSER_DIR}) if(${MONAD_FL_PARSER_TEST} MATCHES MONAD_FL_PARSER_TEST-NOTFOUND) message(STATUS "Monad FL parser not found. Will download.") - file(DOWNLOAD https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll Monad.FLParser.dll SHOW_PROGRESS) - file(COPY "${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser.dll" DESTINATION "${MONAD_FL_PARSER_DIR}") + ExternalProject_Add(FLParser + SOURCE_DIR ${MONAD_FL_PARSER_DIR} + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser + GIT_REPOSITORY https://github.com/Kwarf/FLParser.git + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser/CMakeLists.txt ${MONAD_FL_PARSER_DIR}/CMakeLists.txt && ${CMAKE_COMMAND} ${MONAD_FL_PARSER_DIR} -DMONAD_FL_PARSER_DIR=${MONAD_FL_PARSER_DIR} + BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser --config Release -- -m + INSTALL_COMMAND "" + ) endif() +elseif(${BUILD_WAVESABRE_CONVERT}) + message(STATUS "Using existent FL parser repo.") + add_subdirectory(WaveSabreConvert/FLParser) + set(MONAD_FL_PARSER_BINARY ${CMAKE_CURRENT_BINARY_DIR}/WaveSabreConvert/FLParser/Release/Monad.FLParser.dll) endif() # shared code diff --git a/Docs/Home.md b/Docs/Home.md index 6313422f..38d920a5 100644 --- a/Docs/Home.md +++ b/Docs/Home.md @@ -4,7 +4,7 @@ - WaveSabre builds have only been tested with Visual Studio 2013/2015/2017/2019 and version 3.6.6 of the VST3 SDK. - Due to licensing requirements, WaveSabre requires you to either [download](https://web.archive.org/web/20200502121517/https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip) and copy the VST3 SDK into the build yourself. Download, extract, and copy into the *"Vst3.x"* folder. See [this readme](https://github.com/logicomacorp/WaveSabre/blob/master/Vst3.x/README) or download the VST3 SDK automatically using CMake (see below). -- For the same reasons, you should [download](https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll) and copy the Monad FL parser into the build yourself. Download and copy the dll into the folder at `WaveSabreConvert/FLParser/`. See [this readme](https://github.com/logicomacorp/WaveSabre/blob/master/WaveSabreConvert/FLParser/README). You can also let CMake download the Monad FL parser automatically for you; see below for the command line options to use for this. +- For the same reasons, you should [download](https://github.com/Kwarf/FLParser) the Monad FL parser source yourself. You can also let CMake download the Monad FL parser automatically for you; see below for the command line options to use for this. ### CMake diff --git a/WaveSabreConvert/CMakeLists.txt b/WaveSabreConvert/CMakeLists.txt index f6c284a6..e6ec1666 100644 --- a/WaveSabreConvert/CMakeLists.txt +++ b/WaveSabreConvert/CMakeLists.txt @@ -31,10 +31,15 @@ set(WAVESABRE_CONVERT_SOURCES ) add_library(WaveSabreConvert SHARED ${WAVESABRE_CONVERT_SOURCES}) +set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_REFERENCE_Monad.FLParser "${MONAD_FL_PARSER_BINARY}") +if(${DOWNLOAD_MONAD_FL_PARSER}) + add_dependencies(WaveSabreConvert FLParser) +else() + add_dependencies(WaveSabreConvert Monad.FLParser) +endif() csharp_set_designer_cs_properties(${WAVESABRE_CONVERT_SOURCES}) csharp_set_windows_forms_properties(${WAVESABRE_CONVERT_SOURCES}) -set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_REFERENCE_Monad.FLParser "${MONAD_FL_PARSER_DIR}/Monad.FLParser.dll") set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.6.1") set_property(TARGET WaveSabreConvert PROPERTY VS_DOTNET_REFERENCES "System" diff --git a/WaveSabreConvert/FLParser/CMakeLists.txt b/WaveSabreConvert/FLParser/CMakeLists.txt new file mode 100644 index 00000000..fd268c4c --- /dev/null +++ b/WaveSabreConvert/FLParser/CMakeLists.txt @@ -0,0 +1,38 @@ +cmake_minimum_required(VERSION 3.11) + +project(Monad.FLParser LANGUAGES CSharp) + +cmake_policy(SET CMP0057 NEW) +include(CSharpUtilities) +set(CMAKE_CSharp_FLAGS ${CMAKE_CSharp_FLAGS} "/langversion:6") + +set(MONAD_FL_PARSER_SOURCES + ${MONAD_FL_PARSER_DIR}/Properties/AssemblyInfo.cs + + ${MONAD_FL_PARSER_DIR}/AutomationData.cs + ${MONAD_FL_PARSER_DIR}/AutomationKeyframe.cs + ${MONAD_FL_PARSER_DIR}/Channel.cs + ${MONAD_FL_PARSER_DIR}/ChannelPlaylistItem.cs + ${MONAD_FL_PARSER_DIR}/Enums.cs + ${MONAD_FL_PARSER_DIR}/FlParseException.cs + ${MONAD_FL_PARSER_DIR}/GeneratorData.cs + ${MONAD_FL_PARSER_DIR}/IChannelData.cs + ${MONAD_FL_PARSER_DIR}/Insert.cs + ${MONAD_FL_PARSER_DIR}/InsertSlot.cs + ${MONAD_FL_PARSER_DIR}/IPlaylistItem.cs + ${MONAD_FL_PARSER_DIR}/Note.cs + ${MONAD_FL_PARSER_DIR}/Pattern.cs + ${MONAD_FL_PARSER_DIR}/PatternPlaylistItem.cs + ${MONAD_FL_PARSER_DIR}/Plugin.cs + ${MONAD_FL_PARSER_DIR}/PluginIoInfo.cs + ${MONAD_FL_PARSER_DIR}/Project.cs + ${MONAD_FL_PARSER_DIR}/ProjectParser.cs + ${MONAD_FL_PARSER_DIR}/Track.cs +) + +add_library(Monad.FLParser SHARED ${MONAD_FL_PARSER_SOURCES}) +set_property(TARGET Monad.FLParser PROPERTY VS_DOTNET_TARGET_FRAMEWORK_VERSION "v4.6.1") +set_property(TARGET Monad.FLParser PROPERTY VS_DOTNET_REFERENCES + "System" + "System.Core" +) diff --git a/WaveSabreConvert/FLParser/README b/WaveSabreConvert/FLParser/README deleted file mode 100644 index 10f685c7..00000000 --- a/WaveSabreConvert/FLParser/README +++ /dev/null @@ -1,5 +0,0 @@ -You can download the last version of the Monad FL parser [here][1]. - -Copy the dll downloaded from there into this folder. - -[1]: https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll From bf60a1ad5cf217e8415e9a1d1f5b73f766b2b3f8 Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Sat, 5 Feb 2022 16:47:07 +0100 Subject: [PATCH 4/8] Fixed global CSharp flags. --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab66b982..ce1b54a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,9 @@ project("WaveSabre" LANGUAGES C CXX CSharp) # Enable C# Utilities also for the VS2013 AppVeyor stage. cmake_policy(SET CMP0057 NEW) include(CSharpUtilities) -set(CMAKE_CSharp_FLAGS ${CMAKE_CSharp_FLAGS} "/langversion:6") + +# Note: The space suffix is required for the flag to work correctly. +set(CMAKE_CSharp_FLAGS "/langversion:latest ") find_package(Git REQUIRED) include(ExternalProject) From e158a4fc0abddaa227192e9ba82368c9cfd79ffd Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Sat, 5 Feb 2022 16:55:07 +0100 Subject: [PATCH 5/8] Replaced Visual Studio 2013 with 2022 to avoid insufficient C# language version. --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index c07f7360..f2de0870 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,8 +1,8 @@ version: '{build}' image: - - Visual Studio 2013 - Visual Studio 2017 - Visual Studio 2019 + - Visual Studio 2022 platform: - Win32 From 7a9ddc5bdd3a1346f583ccf196f8b50a22ac024d Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Sat, 5 Feb 2022 17:02:49 +0100 Subject: [PATCH 6/8] Fixed FL parser language version argument; passed CMake generator variable down. --- CMakeLists.txt | 2 +- WaveSabreConvert/FLParser/CMakeLists.txt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ce1b54a8..1565681d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,7 @@ if(${BUILD_WAVESABRE_CONVERT} AND ${DOWNLOAD_MONAD_FL_PARSER}) SOURCE_DIR ${MONAD_FL_PARSER_DIR} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser GIT_REPOSITORY https://github.com/Kwarf/FLParser.git - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser/CMakeLists.txt ${MONAD_FL_PARSER_DIR}/CMakeLists.txt && ${CMAKE_COMMAND} ${MONAD_FL_PARSER_DIR} -DMONAD_FL_PARSER_DIR=${MONAD_FL_PARSER_DIR} + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser/CMakeLists.txt ${MONAD_FL_PARSER_DIR}/CMakeLists.txt && ${CMAKE_COMMAND} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} ${MONAD_FL_PARSER_DIR} -DMONAD_FL_PARSER_DIR=${MONAD_FL_PARSER_DIR} BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser --config Release -- -m INSTALL_COMMAND "" ) diff --git a/WaveSabreConvert/FLParser/CMakeLists.txt b/WaveSabreConvert/FLParser/CMakeLists.txt index fd268c4c..1ac199b4 100644 --- a/WaveSabreConvert/FLParser/CMakeLists.txt +++ b/WaveSabreConvert/FLParser/CMakeLists.txt @@ -4,7 +4,9 @@ project(Monad.FLParser LANGUAGES CSharp) cmake_policy(SET CMP0057 NEW) include(CSharpUtilities) -set(CMAKE_CSharp_FLAGS ${CMAKE_CSharp_FLAGS} "/langversion:6") + +# Note: The space suffix is required for the flag to work correctly. +set(CMAKE_CSharp_FLAGS "/langversion:latest ") set(MONAD_FL_PARSER_SOURCES ${MONAD_FL_PARSER_DIR}/Properties/AssemblyInfo.cs From a14a2c5c93058b8651ddc8c7ce3aae8a99bc4b4b Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Sat, 5 Feb 2022 17:55:43 +0100 Subject: [PATCH 7/8] Updated Wayback command line download link. --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index f2de0870..f240feb4 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -14,7 +14,7 @@ cache: install: - ps: | if (-Not (Test-Path "C:\tmp\VST3 SDK")) { - Invoke-WebRequest "https://web.archive.org/web/20200502121517/https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip" -OutFile "vstsdk.zip" + Invoke-WebRequest "https://web.archive.org/web/20200502121517if_/https://www.steinberg.net/sdk_downloads/vstsdk366_27_06_2016_build_61.zip" -OutFile "vstsdk.zip" Expand-Archive "vstsdk.zip" "C:\tmp" } From 251f76589993d7e612276610bb970f1e0fe230e2 Mon Sep 17 00:00:00 2001 From: Alexander Kraus Date: Sat, 5 Feb 2022 18:45:34 +0100 Subject: [PATCH 8/8] Added explicit git tag and removed unneccessary copy command. --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1565681d..db4e82ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,8 @@ if(${BUILD_WAVESABRE_CONVERT} AND ${DOWNLOAD_MONAD_FL_PARSER}) SOURCE_DIR ${MONAD_FL_PARSER_DIR} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser GIT_REPOSITORY https://github.com/Kwarf/FLParser.git - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser/CMakeLists.txt ${MONAD_FL_PARSER_DIR}/CMakeLists.txt && ${CMAKE_COMMAND} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} ${MONAD_FL_PARSER_DIR} -DMONAD_FL_PARSER_DIR=${MONAD_FL_PARSER_DIR} + GIT_TAG c9b0bc5 + CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} ${PROJECT_SOURCE_DIR}/WaveSabreConvert/FLParser -DMONAD_FL_PARSER_DIR=${MONAD_FL_PARSER_DIR} BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/Monad.FLParser --config Release -- -m INSTALL_COMMAND "" )