Building mi-UGens on windows

Hello everyone,

I’m coming to you because since few days now I’m trying to build these wonderfull ugens on windows.

First, I precise that I’m really new to build stuff on windows, anyway I’ve installed cmake, git and visual studio.

First I cloned with submodules supercollider and the mi-UGens, then I executed this command into git bash:

bash linux-build.sh C:\Users\guill\Documents\supercollider

At the end, build folders are created in each folders as expected, a lot of files are created too but no DLL.
I see errors in the process, but I don’t know how to fix them. Here is the console :

Building libsamplerate
– Building for: Visual Studio 16 2019
– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Check if the system is big endian
– Searching 16 bit integer
– Looking for sys/types.h
– Looking for sys/types.h - found
– Looking for stdint.h
– Looking for stdint.h - found
– Looking for stddef.h
– Looking for stddef.h - found
– Check size of unsigned short
– Check size of unsigned short - done
– Searching 16 bit integer - Using unsigned short
– Check if the system is big endian - little endian
– Checking processor clipping capabilities…
– Performing Test CPU_CLIPS_POSITIVE
– Performing Test CPU_CLIPS_POSITIVE - Failed
– Performing Test CPU_CLIPS_NEGATIVE
– Performing Test CPU_CLIPS_NEGATIVE - Failed
– Checking processor clipping capabilities… none
– Looking for alarm
– Looking for alarm - not found
– Looking for signal
– Looking for signal - found
– Looking for include file sys/times.h
– Looking for include file sys/times.h - not found
– Looking for SIGALRM
– Looking for SIGALRM - not found
– Could NOT find ALSA (missing: ALSA_LIBRARY ALSA_INCLUDE_DIR)
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
The package name passed to find_package_handle_standard_args (SNDFILE)
does not match the name of the calling package (Sndfile). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindSndfile.cmake:16 (find_package_handle_standard_args)
CMakeLists.txt:80 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

– Could NOT find SNDFILE (missing: SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR)
– Could NOT find FFTW (missing: FFTW_LIBRARY FFTW_INCLUDE_DIR)
– Configuring done
– Generating done
CMake Warning:
Manually-specified variables were not used by the project:

CMAKE_BUILD_TYPE

– Build files have been written to: C:/Users/guill/Documents/mi-UGens/MiBraids/libsamplerate/build
make: *** No targets specified and no makefile found. Stop.
Building MiBraids
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiBraids/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiBraids/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiClouds
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiClouds/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiClouds/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiElements
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiElements/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiElements/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiMu
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiMu/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiMu/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiOmi
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiOmi/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiOmi/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiPlaits
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiPlaits/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiPlaits/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiRings
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiRings/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiRings/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiRipples
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiRipples/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiRipples/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiTides
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiTides/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiTides/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiVerb
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiVerb/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiVerb/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.
Building MiWarps
loading initial cache file MAKE_BUILD_TYPE=RELEASE
CMake Error: Error processing file: C:/Users/guill/Documents/mi-UGens/MiWarps/build/MAKE_BUILD_TYPE=RELEASE
– Building for: Visual Studio 16 2019
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.

– Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19042.
– The C compiler identification is MSVC 19.28.29335.0
– The CXX compiler identification is MSVC 19.28.29335.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Configuring incomplete, errors occurred!
See also “C:/Users/guill/Documents/mi-UGens/MiWarps/build/CMakeFiles/CMakeOutput.log”.
make: *** No targets specified and no makefile found. Stop.

I hope someone can help me, I really want to use these UGens, and I’m sure I’m not so far to achieve the building.

Thank you everyone and have a nice day :slight_smile:

Thanks for sharing this, Guillaume_Azer! I also just stumbled upon them and struggling to build’em in Windows. I wonder, if anyone’s managed to do it already…

I just opened a PR to support building mi-UGens on Windows. Everything works fine on my machine starting from a clean checkout, but if someone else could test it that would be very lovely.

You can check it out locally with the following commands:

git fetch https://github.com/brianlheim/mi-UGens windows
git checkout FETCH_HEAD

Wow. I don’t know how these mi-Ugens hadn’t come to my attention yet. These are incredible. Great work Brian.

Sam

They sound great! Not my work though, I just added Windows support. Credit is due to volker böhm ^^

Btw, when I posted before, MiBraids had yet to be ported because of an issue with compiling libsamplerate on Windows. This has now been resolved, and using my branch you can compile all the plugins in the repo with MSVC.

1 Like

That’s really great! Thanks, @VIRTUALDOG!
However, I’m still not getting it to work. When I run that win.build.sh in Git Bash I get the following error:

$ bash ./win-build.sh "C:/Program Files (x86)/SuperCollider-3.11.0" Building libsamplerate -- The C compiler identification is MSVC 19.28.29913.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/bin/Hostx64/x64/cl.exe - broken

Sorry if this is very obvious… I’m very new to all this CMake stuff and can’t really solve the problem. I guess there must be something wrong with my MSVC setup, right?

Did you install the actual compiler? Visual Studio doesn’t necessarily come with the C++ compiler toolchain, it’s just a general purpose IDE. If it’s not that, I don’t have the bandwidth to troubleshoot farther, sorry. You might consider asking on CMake’s forum if you don’t get help from someone else here: https://discourse.cmake.org/.

Thanks for your help still! I didn’t know about the CMake forum.

fwiw, based on a guide by @madskjeldgaard and some help from @ndr_brt I managed to get github actions going for automatic compilation of the plugins (linux, macos and windows). Still need to tidy things up a little, but you might like to try your luck with one of these:
https://github.com/v7b1/mi-UGens/releases

2 Likes

wonderful work !

(and some more characters here)