aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml55
-rw-r--r--cmake/mingw-dlls.cmake40
-rw-r--r--cmake/win-ci/lib-sdk.cmd41
-rw-r--r--cmake/win-ci/vlc-plugin.cmd52
-rw-r--r--cmake/win-ci/winmm-drivers.cmd195
-rw-r--r--utils/winmm_drv/config/regconfig.c5
6 files changed, 364 insertions, 24 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 9eff4ba..cdaa0f5 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,10 +1,12 @@
-version: 1.3.{build}
+version: 1.4.{build}
environment:
global:
PLATFORMTOOLSET: "v140"
CMAKEPREFIXPATH: "."
VLC_PLUGIN: OFF
+ WINMM_DRIVER: OFF
+ PACKAGE_TYPE: SDK
BUILD_SHARED: ON
BUILD_STATIC: ON
BUILD_MIDIPLAY: ON
@@ -14,6 +16,12 @@ environment:
WGET_BIN: "C:\\msys64\\usr\\bin\\wget.exe"
VLC_DIR: "vlc-3.0.4"
matrix:
+ - BUILD_TYPE: MinSizeRel
+ COMPILER: MinGW
+ PACKAGE_TYPE: WINMMDRIVERS
+ COMPILER_FAMILY: MinGW
+ GENERATOR: "Ninja"
+ PLATFORM: WinAll
- BUILD_TYPE: Release
COMPILER: MinGW-w32
COMPILER_FAMILY: MinGW
@@ -22,6 +30,7 @@ environment:
CMAKEPREFIXPATH: "C:/mingw-w64/i686-6.3.0-posix-dwarf-rt_v5-rev1/mingw32"
TOOLCHAIN_BIN: "C:\\mingw-w64\\i686-6.3.0-posix-dwarf-rt_v5-rev1\\mingw32\\bin"
VLC_PLUGIN: ON
+ PACKAGE_TYPE: VLCPLUGIN
BUILD_SHARED: OFF
BUILD_MIDIPLAY: OFF
VLC_TARBALL: ${VLC_TARBALL_x32}
@@ -33,6 +42,7 @@ environment:
CMAKEPREFIXPATH: "C:/mingw-w64/x86_64-6.3.0-posix-seh-rt_v5-rev1/mingw64"
TOOLCHAIN_BIN: "C:\\mingw-w64\\x86_64-6.3.0-posix-seh-rt_v5-rev1\\mingw64\\bin"
VLC_PLUGIN: ON
+ PACKAGE_TYPE: VLCPLUGIN
BUILD_SHARED: OFF
BUILD_MIDIPLAY: OFF
VLC_TARBALL: ${VLC_TARBALL_x64}
@@ -136,27 +146,30 @@ environment:
PLATFORMTOOLSET: "v141_xp"
build_script:
- - if [%VLC_PLUGIN%]==[ON] md C:\vlc-temp
- - if [%VLC_PLUGIN%]==[ON] "%WGET_BIN%" --quiet %VLC_TARBALL% -O C:\vlc-temp\vlcsdk.7z
- - if [%VLC_PLUGIN%]==[ON] "%SEVENZIP%" x C:\vlc-temp\vlcsdk.7z -oC:\vlc-temp
- - if [%VLC_PLUGIN%]==[ON] xcopy /S /E /Y "C:\vlc-temp\%VLC_DIR%\sdk\*" "%TOOLCHAIN_BIN%\.."
- - md build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
- - cd build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
- - if NOT [%TOOLCHAIN_BIN%]==[] set PATH=%TOOLCHAIN_BIN%;%PATH:C:\Program Files\Git\usr\bin;=%
- - cmake -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH% -DCMAKE_INSTALL_PREFIX=libADLMIDI -DWITH_OLD_UTILS=ON -DWITH_GENADLDATA=OFF -DlibADLMIDI_STATIC=%BUILD_STATIC% -DlibADLMIDI_SHARED=%BUILD_SHARED% -DWITH_MIDIPLAY=%BUILD_MIDIPLAY% -DWITH_VLC_PLUGIN=%VLC_PLUGIN% -DVLC_PLUGIN_NOINSTALL=ON ..
- - if [%COMPILER_FAMILY%]==[MinGW] cmake --build . --config %BUILD_TYPE% -- -j 2
- - if [%COMPILER_FAMILY%]==[MinGW] mingw32-make install
- - if [%COMPILER_FAMILY%]==[MSVC] cmake --build . --config %BUILD_TYPE% --target install
- - if [%VLC_PLUGIN%]==[OFF] 7z a -t7z -mx9 "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z" "libADLMIDI"
- - if [%VLC_PLUGIN%]==[OFF] appveyor PushArtifact "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z"
-# - if [%VLC_PLUGIN%]==[OFF] move "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z" ..
- - if [%VLC_PLUGIN%]==[ON] 7z a -t7z -mx9 "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z" "libadlmidi_plugin.dll"
- - if [%VLC_PLUGIN%]==[ON] appveyor PushArtifact "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z"
-# - if [%VLC_PLUGIN%]==[ON] move "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z" ..
+ - if [%PACKAGE_TYPE%]==[VLCPLUGIN] cmake\win-ci\vlc-plugin.cmd
+ - if [%PACKAGE_TYPE%]==[SDK] cmake\win-ci\lib-sdk.cmd
+ - if [%PACKAGE_TYPE%]==[WINMMDRIVERS] cmake\win-ci\winmm-drivers.cmd
+# - if [%VLC_PLUGIN%]==[ON] md C:\vlc-temp
+# - if [%VLC_PLUGIN%]==[ON] "%WGET_BIN%" --quiet %VLC_TARBALL% -O C:\vlc-temp\vlcsdk.7z
+# - if [%VLC_PLUGIN%]==[ON] "%SEVENZIP%" x C:\vlc-temp\vlcsdk.7z -oC:\vlc-temp
+# - if [%VLC_PLUGIN%]==[ON] xcopy /S /E /Y "C:\vlc-temp\%VLC_DIR%\sdk\*" "%TOOLCHAIN_BIN%\.."
+# - md build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
+# - cd build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
+# - if NOT [%TOOLCHAIN_BIN%]==[] set PATH=%TOOLCHAIN_BIN%;%PATH:C:\Program Files\Git\usr\bin;=%
+# - cmake -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH% -DCMAKE_INSTALL_PREFIX=libADLMIDI -DWITH_OLD_UTILS=ON -DWITH_GENADLDATA=OFF -DlibADLMIDI_STATIC=%BUILD_STATIC% -DlibADLMIDI_SHARED=%BUILD_SHARED% -DWITH_MIDIPLAY=%BUILD_MIDIPLAY% -DWITH_VLC_PLUGIN=%VLC_PLUGIN% -DVLC_PLUGIN_NOINSTALL=ON ..
+# - if [%COMPILER_FAMILY%]==[MinGW] cmake --build . --config %BUILD_TYPE% -- -j 2
+# - if [%COMPILER_FAMILY%]==[MinGW] mingw32-make install
+# - if [%COMPILER_FAMILY%]==[MSVC] cmake --build . --config %BUILD_TYPE% --target install
+# - if [%VLC_PLUGIN%]==[OFF] 7z a -t7z -mx9 "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z" "libADLMIDI"
+# - if [%VLC_PLUGIN%]==[OFF] appveyor PushArtifact "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z"
+## - if [%VLC_PLUGIN%]==[OFF] move "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z" ..
+# - if [%VLC_PLUGIN%]==[ON] 7z a -t7z -mx9 "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z" "libadlmidi_plugin.dll"
+# - if [%VLC_PLUGIN%]==[ON] appveyor PushArtifact "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z"
+## - if [%VLC_PLUGIN%]==[ON] move "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z" ..
-#artifacts:
-# - path: 'libADLMIDI-$(COMPILER)-$(BUILD_TYPE)-$(PLATFORM).7z'
-# - path: 'libADLMIDI-$(VLC_DIR)-codec-$(PLATFORM).7z'
+##artifacts:
+## - path: 'libADLMIDI-$(COMPILER)-$(BUILD_TYPE)-$(PLATFORM).7z'
+## - path: 'libADLMIDI-$(VLC_DIR)-codec-$(PLATFORM).7z'
deploy:
- provider: Environment
diff --git a/cmake/mingw-dlls.cmake b/cmake/mingw-dlls.cmake
new file mode 100644
index 0000000..a720b33
--- /dev/null
+++ b/cmake/mingw-dlls.cmake
@@ -0,0 +1,40 @@
+function(find_mingw_dll _FieldName _FileName _DestList _SearchPaths)
+ find_file(MINGWDLL_${_FieldName} ${_FileName} PATHS "${_SearchPaths}")
+ if(MINGWDLL_${_FieldName})
+ list(APPEND ${_DestList} "${MINGWDLL_${_FieldName}}")
+ set(${_DestList} ${${_DestList}} PARENT_SCOPE)
+ endif()
+endfunction()
+
+set(MINGW_BIN_PATH $ENV{MinGW})
+
+if(NOT MINGW_BIN_PATH)
+ set(MINGW_BIN_PATH "${QT_BINLIB_DIR}")
+else()
+ string(REPLACE "\\" "/" MINGW_BIN_PATH $ENV{MinGW})
+endif()
+
+set(MINGW_DLLS)
+find_mingw_dll(LIBGCCDW "libgcc_s_dw2-1.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+find_mingw_dll(LIBGCCSJLJ "libgcc_s_sjlj-1.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+find_mingw_dll(LIBGCCSEC "libgcc_s_seh-1.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+find_mingw_dll(MINGWEX "libmingwex-0.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+find_mingw_dll(WINPTHREAD "libwinpthread-1.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+find_mingw_dll(WINPTHREADGC3 "pthreadGC-3.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+find_mingw_dll(STDCPP "libstdc++-6.dll" MINGW_DLLS "${MINGW_BIN_PATH}")
+
+message("MinGW DLLs: [${MINGW_DLLS}]")
+
+install(FILES
+ ${MINGW_DLLS}
+ DESTINATION "${PGE_INSTALL_DIRECTORY}/"
+)
+
+add_custom_target(copy_mingw_dlls DEPENDS pge_windeploy)
+foreach(MingwRuntimeDll ${MINGW_DLLS})
+ add_custom_command(TARGET copy_mingw_dlls POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E
+ copy ${MingwRuntimeDll} "${CMAKE_INSTALL_PREFIX_ORIG}/${PGE_INSTALL_DIRECTORY}"
+ )
+endforeach()
+
diff --git a/cmake/win-ci/lib-sdk.cmd b/cmake/win-ci/lib-sdk.cmd
new file mode 100644
index 0000000..50e4da9
--- /dev/null
+++ b/cmake/win-ci/lib-sdk.cmd
@@ -0,0 +1,41 @@
+rem =============== BUILDING THE LIBRARY SDK AND THE DEMO ===============
+
+md build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
+cd build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
+
+if NOT [%TOOLCHAIN_BIN%]==[] set PATH=%TOOLCHAIN_BIN%;%PATH:C:\Program Files\Git\usr\bin;=%
+
+cmake -G "%GENERATOR%"^
+ -DCMAKE_BUILD_TYPE=%BUILD_TYPE%^
+ -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH%^
+ -DCMAKE_INSTALL_PREFIX=libADLMIDI^
+ -DWITH_OLD_UTILS=ON ^
+ -DWITH_GENADLDATA=OFF ^
+ -DlibADLMIDI_STATIC=%BUILD_STATIC% ^
+ -DlibADLMIDI_SHARED=%BUILD_SHARED% ^
+ -DWITH_MIDIPLAY=%BUILD_MIDIPLAY% ^
+ -DWITH_VLC_PLUGIN=%VLC_PLUGIN% ^
+ -DVLC_PLUGIN_NOINSTALL=ON ..
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+if [%COMPILER_FAMILY%]==[MinGW] (
+ cmake --build . --config %BUILD_TYPE% -- -j 2
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+if [%COMPILER_FAMILY%]==[MinGW] (
+ mingw32-make install
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+if [%COMPILER_FAMILY%]==[MSVC] (
+ cmake --build . --config %BUILD_TYPE% --target install
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+7z a -t7z -mx9 "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z" "libADLMIDI"
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+appveyor PushArtifact "libADLMIDI-%COMPILER%-%BUILD_TYPE%-%PLATFORM%.7z"
+if %errorlevel% neq 0 exit /b %errorlevel%
+
diff --git a/cmake/win-ci/vlc-plugin.cmd b/cmake/win-ci/vlc-plugin.cmd
new file mode 100644
index 0000000..7117980
--- /dev/null
+++ b/cmake/win-ci/vlc-plugin.cmd
@@ -0,0 +1,52 @@
+rem =============== BUILDING A VLC PLUGIN ===============
+
+md C:\vlc-temp
+
+"%WGET_BIN%" --quiet %VLC_TARBALL% -O C:\vlc-temp\vlcsdk.7z
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+"%SEVENZIP%" x C:\vlc-temp\vlcsdk.7z -oC:\vlc-temp
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+xcopy /S /E /Y "C:\vlc-temp\%VLC_DIR%\sdk\*" "%TOOLCHAIN_BIN%\.."
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+md build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
+cd build-%COMPILER%-%BUILD_TYPE%-%PLATFORM%
+
+if NOT [%TOOLCHAIN_BIN%]==[] set PATH=%TOOLCHAIN_BIN%;%PATH:C:\Program Files\Git\usr\bin;=%
+
+cmake -G "%GENERATOR%"^
+ -DCMAKE_BUILD_TYPE=%BUILD_TYPE%^
+ -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH%^
+ -DCMAKE_INSTALL_PREFIX=libADLMIDI^
+ -DWITH_OLD_UTILS=ON ^
+ -DWITH_GENADLDATA=OFF ^
+ -DlibADLMIDI_STATIC=%BUILD_STATIC% ^
+ -DlibADLMIDI_SHARED=%BUILD_SHARED% ^
+ -DWITH_MIDIPLAY=%BUILD_MIDIPLAY% ^
+ -DWITH_VLC_PLUGIN=%VLC_PLUGIN% ^
+ -DVLC_PLUGIN_NOINSTALL=ON ..
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+if [%COMPILER_FAMILY%]==[MinGW] (
+ cmake --build . --config %BUILD_TYPE% -- -j 2
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+if [%COMPILER_FAMILY%]==[MinGW] (
+ mingw32-make install
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+if [%COMPILER_FAMILY%]==[MSVC] (
+ cmake --build . --config %BUILD_TYPE% --target install
+ if %errorlevel% neq 0 exit /b %errorlevel%
+)
+
+7z a -t7z -mx9 "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z" "libadlmidi_plugin.dll"
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+appveyor PushArtifact "libADLMIDI-%VLC_DIR%-codec-%PLATFORM%.7z"
+if %errorlevel% neq 0 exit /b %errorlevel%
+
diff --git a/cmake/win-ci/winmm-drivers.cmd b/cmake/win-ci/winmm-drivers.cmd
new file mode 100644
index 0000000..5cf1ffe
--- /dev/null
+++ b/cmake/win-ci/winmm-drivers.cmd
@@ -0,0 +1,195 @@
+rem =============== BUILDING THE WINMM DRIVERS, USING DIFFERENT MINGW TOOLCHAINS ===============
+
+set MINGW_VANILLA_URL=http://wohlsoft.ru/docs/Software/MinGW/MinGW-6-3-x86-dw2.zip
+set MINGW_W64_32_URL=http://wohlsoft.ru/docs/Software/MinGW/i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z
+set MINGW_W64_64_URL=http://wohlsoft.ru/docs/Software/MinGW/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
+set NINJA_URL=http://wohlsoft.ru/docs/Software/Ninja-Build/ninja-win.zip
+
+md C:\mingw-temp
+md C:\mingw-temp\bin
+
+echo Downloading %NINJA_URL%...
+"%WGET_BIN%" --quiet %NINJA_URL% -O C:\mingw-temp\ninja.zip
+if %errorlevel% neq 0 exit /b %errorlevel%
+"%SEVENZIP%" x C:\mingw-temp\ninja.zip -oC:\mingw-temp\bin
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+md C:\mingw-temp\MinGW32
+md C:\mingw-temp\MinGW-w64
+
+echo Downloading %MINGW_VANILLA_URL%...
+"%WGET_BIN%" --quiet %MINGW_VANILLA_URL% -O C:\mingw-temp\mingw-vanilla.zip
+if %errorlevel% neq 0 exit /b %errorlevel%
+"%SEVENZIP%" x C:\mingw-temp\mingw-vanilla.zip -oC:\mingw-temp\MinGW32
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+echo Downloading %MINGW_W64_32_URL%...
+"%WGET_BIN%" --quiet %MINGW_W64_32_URL% -O C:\mingw-temp\mingw-w64-32.7z
+if %errorlevel% neq 0 exit /b %errorlevel%
+"%SEVENZIP%" x C:\mingw-temp\mingw-w64-32.7z -oC:\mingw-temp\MinGW-w64
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+echo Downloading %MINGW_W64_64_URL%...
+"%WGET_BIN%" --quiet %MINGW_W64_64_URL% -O C:\mingw-temp\mingw-w64-64.7z
+if %errorlevel% neq 0 exit /b %errorlevel%
+"%SEVENZIP%" x C:\mingw-temp\mingw-w64-64.7z -oC:\mingw-temp\MinGW-w64
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+set PUREPATH=C:\mingw-temp\bin;%PATH:C:\Program Files\Git\usr\bin;=%
+
+set FILES_LIST=adlmidiconfigtool.exe adlmididrv.dll libadlconfig.cpl drvsetup.exe drvtest.exe install.bat uninstall.bat
+
+rem ============= BUILD pre-WinXP 32-bit driver =============
+
+md build-drv-prexp
+cd build-drv-prexp
+
+set CMAKEPREFIXPATH=C:/mingw-temp/MinGW32
+set TOOLCHAIN_BIN=C:\mingw-temp\MinGW32\bin
+set PATH=%TOOLCHAIN_BIN%;%PUREPATH%
+
+cmake -G "%GENERATOR%"^
+ -DCMAKE_BUILD_TYPE=%BUILD_TYPE%^
+ -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH%^
+ -DCMAKE_INSTALL_PREFIX=libADLMIDI^
+ -DWITH_OLD_UTILS=OFF ^
+ -DWITH_GENADLDATA=OFF ^
+ -DlibADLMIDI_STATIC=ON ^
+ -DlibADLMIDI_SHARED=OFF ^
+ -DWITH_MIDIPLAY=OFF ^
+ -DWITH_VLC_PLUGIN=OFF ^
+ -DWITH_WINMMDRV=ON ^
+ -DWITH_WINMMDRV_PTHREADS=ON ^
+ -DWITH_WINMMDRV_MINGWEX=ON ^
+ ..
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cmake --build . --config %BUILD_TYPE% -- -j 2
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cd ..
+
+
+rem ============= BUILD WinXP+ 32-bit driver =============
+
+md build-drv-32
+cd build-drv-32
+
+set CMAKEPREFIXPATH=C:/mingw-temp/MinGW-w64/mingw32
+set TOOLCHAIN_BIN=C:\mingw-temp\MinGW-w64\mingw32\bin
+set PATH=%TOOLCHAIN_BIN%;%PUREPATH%
+
+cmake -G "%GENERATOR%"^
+ -DCMAKE_BUILD_TYPE=%BUILD_TYPE%^
+ -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH%^
+ -DCMAKE_INSTALL_PREFIX=libADLMIDI^
+ -DWITH_OLD_UTILS=OFF ^
+ -DWITH_GENADLDATA=OFF ^
+ -DlibADLMIDI_STATIC=ON ^
+ -DlibADLMIDI_SHARED=OFF ^
+ -DWITH_MIDIPLAY=OFF ^
+ -DWITH_VLC_PLUGIN=OFF ^
+ -DWITH_WINMMDRV=ON ^
+ -DWITH_WINMMDRV_PTHREADS=ON ^
+ -DWITH_WINMMDRV_MINGWEX=OFF ^
+ ..
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cmake --build . --config %BUILD_TYPE% -- -j 2
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cd ..
+
+
+rem ============= BUILD WinXP+ 64-bit driver =============
+
+md build-drv-64
+cd build-drv-64
+
+set CMAKEPREFIXPATH=C:/mingw-temp/MinGW-w64/mingw64
+set TOOLCHAIN_BIN=C:\mingw-temp\MinGW-w64\mingw64\bin
+set PATH=%TOOLCHAIN_BIN%;%PUREPATH%
+
+cmake -G "%GENERATOR%"^
+ -DCMAKE_BUILD_TYPE=%BUILD_TYPE%^
+ -DCMAKE_PREFIX_PATH=%CMAKEPREFIXPATH%^
+ -DCMAKE_INSTALL_PREFIX=libADLMIDI^
+ -DWITH_OLD_UTILS=OFF ^
+ -DWITH_GENADLDATA=OFF ^
+ -DlibADLMIDI_STATIC=ON ^
+ -DlibADLMIDI_SHARED=OFF ^
+ -DWITH_MIDIPLAY=OFF ^
+ -DWITH_VLC_PLUGIN=OFF ^
+ -DWITH_WINMMDRV=ON ^
+ -DWITH_WINMMDRV_PTHREADS=ON ^
+ -DWITH_WINMMDRV_MINGWEX=OFF ^
+ ..
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cmake --build . --config %BUILD_TYPE% -- -j 2
+if %errorlevel% neq 0 exit /b %errorlevel%
+
+cd ..
+
+
+rem ============= Deploy archives =============
+
+cd build-drv-prexp
+7z a -t7z -mx9 "libADLMIDI-winmm-driver-prexp.7z" %FILES_LIST%
+if %errorlevel% neq 0 exit /b %errorlevel%
+appveyor PushArtifact "libADLMIDI-winmm-driver-prexp.7z"
+if %errorlevel% neq 0 exit /b %errorlevel%
+cd ..
+
+md x86
+md x64
+
+cd build-drv-32
+7z a -t7z -mx9 "libADLMIDI-winmm-driver-x86.7z" %FILES_LIST%
+if %errorlevel% neq 0 exit /b %errorlevel%
+appveyor PushArtifact "libADLMIDI-winmm-driver-x86.7z"
+if %errorlevel% neq 0 exit /b %errorlevel%
+for %%f in (%FILES_LIST%) DO copy %%f ..\x86
+cd ..
+
+cd build-drv-64
+7z a -t7z -mx9 "libADLMIDI-winmm-driver-x64.7z" %FILES_LIST%
+if %errorlevel% neq 0 exit /b %errorlevel%
+appveyor PushArtifact "libADLMIDI-winmm-driver-x64.7z"
+if %errorlevel% neq 0 exit /b %errorlevel%
+for %%f in (%FILES_LIST%) DO copy %%f ..\x64
+cd ..
+
+echo @echo off > install-x64.bat
+echo cd x86 >> install-x64.bat
+echo drvsetup install >> install-x64.bat
+echo cd ..\x64 >> install-x64.bat
+echo drvsetup install >> install-x64.bat
+echo cd .. >> install-x64.bat
+echo. >> install-x64.bat
+
+echo @echo off > install-x86.bat
+echo cd x86 >> install-x86.bat
+echo drvsetup install >> install-x86.bat
+echo cd .. >> install-x86.bat
+echo. >> install-x86.bat
+
+echo @echo off > uninstall-x64.bat
+echo cd x86 >> uninstall-x64.bat
+echo drvsetup uninstall >> uninstall-x64.bat
+echo cd ..\x64 >> uninstall-x64.bat
+echo drvsetup uninstall >> uninstall-x64.bat
+echo cd .. >> uninstall-x64.bat
+echo. >> install-x64.bat
+
+echo @echo off > uninstall-x86.bat
+echo cd x86 >> uninstall-x86.bat
+echo drvsetup uninstall >> uninstall-x86.bat
+echo cd .. >> uninstall-x86.bat
+echo. >> uninstall-x86.bat
+
+7z a -t7z -mx9 "libADLMIDI-winmm-driver-all.7z" *install*.bat x86 x64
+if %errorlevel% neq 0 exit /b %errorlevel%
+appveyor PushArtifact "libADLMIDI-winmm-driver-all.7z"
+if %errorlevel% neq 0 exit /b %errorlevel%
+
diff --git a/utils/winmm_drv/config/regconfig.c b/utils/winmm_drv/config/regconfig.c
index 70874ab..353cea2 100644
--- a/utils/winmm_drv/config/regconfig.c
+++ b/utils/winmm_drv/config/regconfig.c
@@ -1,9 +1,8 @@
#include <stdlib.h>
#include <stdio.h>
-#include <windef.h>
-#include <winbase.h>
-#include <winuser.h>
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
#include "regconfig.h"