|
|
|
@ -849,6 +849,34 @@ version. |
|
|
|
|
|
|
|
|
|
*New in 0.54.0* the `system` method. |
|
|
|
|
|
|
|
|
|
## DIA SDK |
|
|
|
|
|
|
|
|
|
*(added 1.6.0)* |
|
|
|
|
|
|
|
|
|
Microsoft's Debug Interface Access SDK (DIA SDK) is available only on Windows, |
|
|
|
|
when using msvc, clang-cl or clang compiler from Microsoft Visual Studio. |
|
|
|
|
|
|
|
|
|
The DIA SDK runtime is not statically linked to target. The default usage |
|
|
|
|
method requires the runtime DLL (msdiaXXX.dll) to be manually registered in the |
|
|
|
|
OS with `regsrv32.exe` command, so it can be loaded using `CoCreateInstance` |
|
|
|
|
Windows function. |
|
|
|
|
|
|
|
|
|
Alternatively, you can use meson to copy the DIA runtime DLL to your build |
|
|
|
|
directory, and load it dynamically using `NoRegCoCreate` function provided by |
|
|
|
|
the DIA SDK. To facilitate this, you can read DLL path from dependency's |
|
|
|
|
variable 'dll' and use fs module to copy it. Example: |
|
|
|
|
|
|
|
|
|
```meson |
|
|
|
|
dia = dependency('diasdk', required: true) |
|
|
|
|
fs = import('fs') |
|
|
|
|
fs.copyfile(dia.get_variable('dll')) |
|
|
|
|
|
|
|
|
|
conf = configuration_data() |
|
|
|
|
conf.set('msdia_dll_name', fs.name(dia_dll_name)) |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Only the major version is available (eg. version is `14` for msdia140.dll). |
|
|
|
|
|
|
|
|
|
<hr> |
|
|
|
|
<a name="footnote1">1</a>: They may appear to be case-insensitive, if the |
|
|
|
|
underlying file system happens to be case-insensitive. |
|
|
|
|