Open the external folder in VS using "Open a local folder" and edit cmake settings or CMakeSettings.json
. External build and install have to be outside Radium-Engine source directory. For instance
Build the project, this will install the external dependencies.
Open the Radium folder (via "File > Open > Folder..." or devenv.exe <foldername>
). VS will run cmake, generate the target builds (Debug and Release by default). Other build types can be added by editing CMakeSettings.json
.
Configure cmake option (see official doc here) You have to provide path to Qt installation, glfw installation (for headless support) and external dependencies configuration. In order to execute Radium demos from the buildtree (installing them takes time due to qt deployement procedure), you also need to define environment variables that point to the various dlls used by Radium components that will be used on the per-target launch.vs.json
configuration file. Note that it is recommended to compile or install glfw as a static library, the example below assume that.
For instance, with directory structure for externals as defined above the configuration is
/
separators in your path, instead of \\
. See https://stackoverflow.com/questions/13737370/cmake-error-invalid-escape-sequence-uRight click on CMakeList.txt > build > all
.
To execute a demo application from the buildtree, i.e. without installing Radium, select in the Startup Item
list the target you want to execute. For instance, DrawPrimitives.exe (examples/...)
. Then, select in the menu <Debug>/Debug and Launch Settings for DrawPrimmitives
and modify the launch.vs.json
file that is opened so that it contains the following.
For any target you want to execute, the same should be done, i.e. adding the following to the target configuration
If you plan to execute the 'unittest.exe' target, you should also add the following configuration for the working directory
To install, you need to run any installation target, e.g. Engine.dll (install)
or to select the menu <Build>/<Install radiumproject>