@@ -5,6 +5,9 @@ cmake_policy(SET CMP0057 NEW)
55include (CSharpUtilities)
66set (CMAKE_CSharp_FLAGS ${CMAKE_CSharp_FLAGS} "/langversion:6" )
77
8+ find_package (Git REQUIRED)
9+ include (ExternalProject)
10+
811cmake_minimum_required (VERSION 3.11)
912set_property (GLOBAL PROPERTY USE_FOLDERS ON )
1013
@@ -19,7 +22,7 @@ set(BUILD_WAVESABRE_CONVERT_TESTS ON CACHE BOOL "Do not build the WaveSabreConve
1922set (BUILD_CONVERT_THE_FUCK ON CACHE BOOL "Do not build ConvertTheFuck." )
2023set (BUILD_PROJECT_MANAGER ON CACHE BOOL "Do not build the project manager." )
2124set (VSTSDK3_DIR "${PROJECT_SOURCE_DIR} /Vst3.x/" CACHE PATH "VSTSDK location." )
22- set (MONAD_FL_PARSER_DIR "${PROJECT_SOURCE_DIR} /WaveSabreConvert/ FLParser/ " CACHE PATH "Monad FL parser location." )
25+ set (MONAD_FL_PARSER_DIR "${CMAKE_CURRENT_BINARY_DIR} /Monad. FLParser.Source " CACHE PATH "Monad FL parser location." )
2326
2427# Download and unpack VST3 SDK
2528set (DOWNLOAD_VST3SDK OFF CACHE BOOL "Download and unpack VST3 SDK automatically." )
@@ -36,14 +39,22 @@ endif()
3639
3740# Download and unpack the Monad FL Parser
3841set (DOWNLOAD_MONAD_FL_PARSER OFF CACHE BOOL "Download the Monad FL parser binary automatically." )
42+ set (MONAD_FL_PARSER_BINARY ${CMAKE_CURRENT_BINARY_DIR} /Monad.FLParser/Release/Monad.FLParser.dll)
3943if (${BUILD_WAVESABRE_CONVERT} AND ${DOWNLOAD_MONAD_FL_PARSER} )
40- find_file (MONAD_FL_PARSER_TEST name Monad.FLParser.dll HINTS ${MONAD_FL_PARSER_DIR} )
44+ find_file (MONAD_FL_PARSER_TEST NAME Project.cs HINTS ${MONAD_FL_PARSER_DIR} )
4145 if (${MONAD_FL_PARSER_TEST} MATCHES MONAD_FL_PARSER_TEST-NOTFOUND )
4246 message (STATUS "Monad FL parser not found. Will download." )
43- file (DOWNLOAD https://github.com/LeStahL/FLParser/releases/download/compatibility-20.9/Monad.FLParser.dll Monad.FLParser.dll SHOW_PROGRESS )
44- file (COPY "${CMAKE_CURRENT_BINARY_DIR} /Monad.FLParser.dll" DESTINATION "${MONAD_FL_PARSER_DIR} " )
47+ ExternalProject_Add(FLParser
48+ SOURCE_DIR ${MONAD_FL_PARSER_DIR}
49+ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /Monad.FLParser
50+ GIT_REPOSITORY https://github.com/Kwarf/FLParser.git
51+ 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}
52+ BUILD_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR} /Monad.FLParser --config Release -- -m
53+ INSTALL_COMMAND ""
54+ )
4555 endif ()
4656endif ()
57+ # add_subdirectory(${MONAD_FL_PARSER_DIR})
4758
4859# shared code
4960add_subdirectory (MSVCRT)
0 commit comments