File: meson.build

package info (click to toggle)
directx-headers 1.614.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,932 kB
  • sloc: ansic: 45,008; cpp: 10,581; makefile: 5
file content (64 lines) | stat: -rw-r--r-- 2,544 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

project('DirectX-Headers', 'cpp', version : '1.614.1',
        default_options : ['cpp_std=c++14'])

cpp = meson.get_compiler('cpp')
compiler_id = cpp.get_id()
#d3d12_lib is not available in linux
d3d12_lib = cpp.find_library('d3d12', required : host_machine.system() == 'windows')
#dxcore is not available in Mingw-w64
dxcore_lib = cpp.find_library('dxcore', required: compiler_id == 'msvc')
test_compile_opts = []
if host_machine.system() == 'windows'
    test_compile_opts = ['-DUNICODE', '-D_WIN32_WINNT=0x0A00']
endif
if (compiler_id == 'gcc') or (compiler_id == 'clang')
    test_compile_opts += ['-Wno-unused-variable']
endif

inc_dirs = [include_directories('include', is_system : true)]
install_inc_subdirs = ['']
compile_options = []

if host_machine.system() != 'windows'
    inc_dirs += include_directories('include/wsl/stubs', is_system : true)
    install_inc_subdirs += ['', 'wsl/stubs', 'directx']
elif meson.get_compiler('cpp').get_id() != 'msvc' and meson.get_compiler('cpp').get_id() != 'clang-cl'
    # MinGW has RPC headers which define old versions, and complain if D3D
    # headers are included before the RPC headers, since D3D headers were
    # generated with new MIDL and "require" new RPC headers.
    compile_options = ['-D__REQUIRED_RPCNDR_H_VERSION__=475']
endif

format_properties_lib = static_library(
    'd3dx12-format-properties',
    'src/d3dx12_property_format_table.cpp',
     include_directories : [inc_dirs, 'include/directx'],
     cpp_args : compile_options,
     install : true)
guids_lib = static_library('DirectX-Guids', 'src/dxguids.cpp', include_directories : inc_dirs, install : true)

dep_dxheaders = declare_dependency(
    link_with : [format_properties_lib, guids_lib],
    include_directories : inc_dirs,
    compile_args : compile_options)

if meson.version().version_compare('>=0.54.0')
    meson.override_dependency('DirectX-Headers', dep_dxheaders)
endif

if not meson.is_subproject() and get_option('build-test')
    subdir('googletest')
    subdir('test')
endif

pkg = import('pkgconfig')
pkg.generate(name : 'DirectX-Headers',
             description : 'Headers for using D3D12',
             url: 'https://github.com/microsoft/DirectX-Headers',
             libraries : [format_properties_lib, guids_lib],
             version : meson.project_version(),
             subdirs : install_inc_subdirs)
install_subdir('include', install_dir : '')