]> git.cworth.org Git - apitrace/blob - cmake/FindDirectX.cmake
Minimal D3D11 support.
[apitrace] / cmake / FindDirectX.cmake
1 # - try to find DirectX include dirs and libraries
2
3 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
4         find_path (DirectX_ROOT_DIR
5                 Include/d3d9.h
6                 PATHS
7                         "$ENV{DXSDK_DIR}"
8                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2010)"
9                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (February 2010)"
10                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2009)"
11                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2008)"
12                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2008)"
13                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2008)"
14                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (November 2007)"
15                         "$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2007)"
16                         "$ENV{ProgramFiles}/Microsoft DirectX SDK"
17                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2010)"
18                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (February 2010)"
19                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2009)"
20                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2008)"
21                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2008)"
22                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2008)"
23                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (November 2007)"
24                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2007)"
25                         "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK"
26                 DOC "DirectX SDK root directory")
27
28
29         if (CMAKE_CL_64)
30                 set (DirectX_ARCHITECTURE x64)
31         else ()
32                 set (DirectX_ARCHITECTURE x86)
33         endif ()
34
35
36         find_path (DirectX_D3D_INCLUDE_DIR d3d.h
37                 PATHS
38                         "${DirectX_ROOT_DIR}/Include"
39                 DOC "The directory where d3d.h resides")
40
41         find_path (DirectX_D3DX_INCLUDE_DIR d3dx.h
42                 PATHS
43                         "${DirectX_ROOT_DIR}/Include"
44                 DOC "The directory where d3dx.h resides")
45
46         find_library (DirectX_DDRAW_LIBRARY ddraw
47                 PATHS
48                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
49                 DOC "The directory where ddraw resides")
50
51         find_library (DirectX_D3DX_LIBRARY d3dx
52                 PATHS
53                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
54                 DOC "The directory where d3dx resides")
55
56         if (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
57                 set (DirectX_D3D_FOUND 1)
58                 if (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
59                         set (DirectX_D3DX_FOUND 1)
60                 endif ()
61         endif ()
62
63
64         find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h
65                 PATHS
66                         "${DirectX_ROOT_DIR}/Include"
67                 DOC "The directory where d3d8.h resides")
68
69         find_path (DirectX_D3DX8_INCLUDE_DIR d3dx8.h
70                 PATHS
71                         "${DirectX_ROOT_DIR}/Include"
72                 DOC "The directory where d3dx8.h resides")
73
74         find_library (DirectX_D3D8_LIBRARY d3d8
75                 PATHS
76                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
77                 DOC "The directory where d3d8 resides")
78
79         find_library (DirectX_D3DX8_LIBRARY d3dx8
80                 PATHS
81                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
82                 DOC "The directory where d3dx8 resides")
83
84         if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
85                 set (DirectX_D3D8_FOUND 1)
86                 if (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
87                         set (DirectX_D3DX8_FOUND 1)
88                 endif ()
89         endif ()
90
91
92         find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h
93                 PATHS
94                         "${DirectX_ROOT_DIR}/Include"
95                 DOC "The directory where d3d9.h resides")
96
97         find_path (DirectX_D3DX9_INCLUDE_DIR d3dx9.h
98                 PATHS
99                         "${DirectX_ROOT_DIR}/Include"
100                 DOC "The directory where d3dx9.h resides")
101
102         find_library (DirectX_D3D9_LIBRARY d3d9
103                 PATHS
104                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
105                 DOC "The directory where d3d9 resides")
106
107         find_library (DirectX_D3DX9_LIBRARY d3dx9
108                 PATHS
109                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
110                 DOC "The directory where d3dx9 resides")
111
112         if (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
113                 set (DirectX_D3D9_FOUND 1)
114                 if (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
115                         set (DirectX_D3DX9_FOUND 1)
116                 endif ()
117         endif ()
118
119
120         find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h
121                 PATHS
122                         "${DirectX_ROOT_DIR}/Include"
123                 DOC "The directory where d3d10.h resides")
124
125         find_path (DirectX_D3DX10_INCLUDE_DIR d3dx10.h
126                 PATHS
127                         "${DirectX_ROOT_DIR}/Include"
128                 DOC "The directory where d3dx10.h resides")
129
130         find_library (DirectX_D3D10_LIBRARY d3d10
131                 PATHS
132                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
133                 DOC "The directory where d3d10 resides")
134
135         find_library (DirectX_D3DX10_LIBRARY d3dx10
136                 PATHS
137                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
138                 DOC "The directory where d3dx10 resides")
139
140         if (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
141                 set (DirectX_D3D10_FOUND 1)
142                 if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
143                         set (DirectX_D3DX10_FOUND 1)
144                 endif ()
145         endif ()
146
147
148         find_path (DirectX_D3D10_1_INCLUDE_DIR d3d10_1.h
149                 PATHS
150                         "${DirectX_ROOT_DIR}/Include"
151                 DOC "The directory where d3d10_1.h resides")
152
153         find_library (DirectX_D3D10_1_LIBRARY d3d10_1
154                 PATHS
155                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
156                 DOC "The directory where d3d10_1 resides")
157
158         if (DirectX_D3D10_1_INCLUDE_DIR AND DirectX_D3D10_1_LIBRARY)
159                 set (DirectX_D3D10_1_FOUND 1)
160         endif ()
161
162
163         find_path (DirectX_D3D11_INCLUDE_DIR d3d11.h
164                 PATHS
165                         "${DirectX_ROOT_DIR}/Include"
166                 DOC "The directory where d3d11.h resides")
167
168         find_path (DirectX_D3DX11_INCLUDE_DIR d3dx11.h
169                 PATHS
170                         "${DirectX_ROOT_DIR}/Include"
171                 DOC "The directory where d3dx11.h resides")
172
173         find_library (DirectX_D3D11_LIBRARY d3d11
174                 PATHS
175                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
176                 DOC "The directory where d3d11 resides")
177
178         find_library (DirectX_D3DX11_LIBRARY d3dx11
179                 PATHS
180                         "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
181                 DOC "The directory where d3dx11 resides")
182
183         if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
184                 set (DirectX_D3D11_FOUND 1)
185                 if (DirectX_D3DX11_INCLUDE_DIR AND DirectX_D3DX11_LIBRARY)
186                         set (DirectX_D3DX11_FOUND 1)
187                 endif ()
188         endif ()
189
190
191         mark_as_advanced(
192                 DirectX_D3D_INCLUDE_DIR
193                 DirectX_D3D_INCLUDE_DIR
194                 DirectX_DDRAW_LIBRARY
195                 DirectX_DDRAW_LIBRARY
196                 DirectX_D3DX_INCLUDE_DIR
197                 DirectX_D3DX_INCLUDE_DIR
198                 DirectX_D3DX_LIBRARY
199                 DirectX_D3DX_LIBRARY
200                 DirectX_D3D8_INCLUDE_DIR
201                 DirectX_D3D8_INCLUDE_DIR
202                 DirectX_D3D8_LIBRARY
203                 DirectX_D3D8_LIBRARY
204                 DirectX_D3DX8_INCLUDE_DIR
205                 DirectX_D3DX8_INCLUDE_DIR
206                 DirectX_D3DX8_LIBRARY
207                 DirectX_D3DX8_LIBRARY
208                 DirectX_D3D9_INCLUDE_DIR
209                 DirectX_D3D9_LIBRARY
210                 DirectX_D3DX9_INCLUDE_DIR
211                 DirectX_D3DX9_LIBRARY
212                 DirectX_D3D10_INCLUDE_DIR
213                 DirectX_D3D10_LIBRARY
214                 DirectX_D3DX10_INCLUDE_DIR
215                 DirectX_D3DX10_LIBRARY
216                 DirectX_D3D10_1_INCLUDE_DIR
217                 DirectX_D3D10_1_LIBRARY
218                 DirectX_D3D11_INCLUDE_DIR
219                 DirectX_D3D11_LIBRARY
220                 DirectX_D3DX11_INCLUDE_DIR
221                 DirectX_D3DX11_LIBRARY
222         )
223
224 endif ()
225
226 mark_as_advanced (
227         DirectX_D3D_FOUND
228         DirectX_D3DX_FOUND
229         DirectX_D3D8_FOUND
230         DirectX_D3DX8_FOUND
231         DirectX_D3D9_FOUND
232         DirectX_D3DX9_FOUND
233         DirectX_D3D10_FOUND
234         DirectX_D3DX10_FOUND
235         DirectX_D3D10_1_FOUND
236         DirectX_D3D11_FOUND
237         DirectX_D3DX11_FOUND
238 )