-
Notifications
You must be signed in to change notification settings - Fork 2
AudYoFlo: Building on MS Windows Visual Studio
On MS Windows to build AudYoFlo with Visual Studio the following pre-installations should be available:
- QT Version 5 (e.g. 5.17)
- Git bash (which you probably have installed since you work with Github)
- Visual Studio 2022
QT Version 5 typicall requires to download and build QT from source. We focus on version 5 since version 6 did not yet have the status required to provide all required functions that QT Version 5 does.
Optionally, Matlab and Python components can be involved:
- Matlab Version 2017 or higher
- Python Version 3.10 or higher
To start working with jvxgit, at first, we open the git bash as a (simple) Linux command interpreter. There, we create a folder where we locate the repository afterwards, e.g., jvxgit, and finally, we obtain the main AudYoFlo repository by running the corresponding git command:
mkdir jvxgit
cd jvxgit
git clone https://github.com/jvxgit/AudYoFlo.git
Next, we create a folder right next to the repository folder AudYoFlo:
Then, we copy the file <AudYoFlo>/build-scripts/windows/debug/rt--sdk/compiled.bat
to the newly created build folder,
The folder <AudYoFlo>
in that context represents the main folder of the checked out repository.
In the build script, the local installations must be cross-referenced. Also, compile options can be set:
We need to specify the location of the checked-out AudYoFlo repository in the variable JVX_SRC_PATH
. Then, some other directories must be provdied.
Then, we open a Visual Studio command shell, change to the build folder.
Note that wunning the build command for the first time will trigger a download of the following repositories:
- VST - Virtual Studio Technology SDK from Steinberg - folder
<AudYoFlo>/sources/sub-projects/vst3sdk
- Library jsmn - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/jsmn
- Library civetweb - folder
E:\jvxgit\AudYoFlo\sources\jvxLibraries\third_party\git\civetweb
- Library libmysofa - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/mysofa
- Library ebur128 - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/ebur128
- Library hash-lib - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/hash-lib
- Library qwt - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/qwt
- Library qcustomplot - folder
<AudYoFlo>/sources/jvxLibraries/third_party/web/qcustomplot
- Library speex-dsp - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/speex-dsp
- Library eaqual - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/eaqual
- Library cminpack - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/cminpack
- Library portaudio - folder
<AudYoFlo>/sources/jvxLibraries/third_party/git/portaudio
- Library fftw - folder
<AudYoFlo>/sources/jvxLibraries/third_party/web/fftw
At first we need to build the code generation tools. we do so by running the command
compiled.bat rt-bt
Building the code generation tools is only necessary if something changed in the fundamentals of the code generation tools. If nothing has changed, the build tools typically will hbe built only once and stay as they are for a longer time.
Next, we need to clear the cmake cache and run the main cmake step. We do so by running
compiled.bat cc && compiled.bat rt
During this step, the downloads of the involved third-party repositories will be done. These steps are required only at the very first time and therefore will not be required anytime later than the very first build.
Once finished successfully, the output in the build console looks as follows:
In the last step, we can open the create Visual studio solution which is located in the build folder:
Once open in Visual studio, we select the INSTALL
target and trigger the build:
The build takes some time and should be all done with the following output after a while:
The output from the build are finally located in the folder <build>/release/runtime
where <build>
is the build folder as mentioned before.
Once the runtime has been built we may build the SDK in the next step. For this purpose, we turn back to the Visual Studio build terminal and run the command sequence
compiled.bat cc && compiled.bat sdk-bt && compiled.bat cc && compiled.bat sdk
This builds the code generation tools for the SDK as well as all required SDK components. Note that the SDK build involves Ninja rather than Visual Studio:
Once the build has been completed, we find the content of a functional SDK as the three subfolders
sdk
runtime
tools
jvx_install_version.txt
in the release
folder: