1 # - try to find DirectX include dirs and libraries
4 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
8 set (DirectX_ARCHITECTURE x64)
10 set (DirectX_ARCHITECTURE x86)
15 find_path (DirectX_ROOT_DIR
19 "$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2010)"
20 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2010)"
21 "$ENV{ProgramFiles}/Microsoft DirectX SDK (February 2010)"
22 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (February 2010)"
23 "$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2009)"
24 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2009)"
25 "$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2008)"
26 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2008)"
27 "$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2008)"
28 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2008)"
29 "$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2008)"
30 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2008)"
31 "$ENV{ProgramFiles}/Microsoft DirectX SDK (November 2007)"
32 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (November 2007)"
33 "$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2007)"
34 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2007)"
35 "$ENV{ProgramFiles}/Microsoft DirectX SDK"
36 "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK"
37 DOC "DirectX SDK root directory"
40 set (DirectX_INC_SEARCH_PATH "${DirectX_ROOT_DIR}/Include")
41 set (DirectX_LIB_SEARCH_PATH "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}")
42 set (DirectX_BIN_SEARCH_PATH "${DirectX_ROOT_DIR}/Utilities/bin/x86")
46 # With VS 2011 and Windows 8 SDK, the DirectX SDK is included as part of
50 # - http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx
51 # TODO: Allow using DirectX SDK with VS 2011
52 if (DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700)
53 find_path (WIN8_SDK_ROOT_DIR
56 "$ENV{ProgramFiles}/Windows Kits/8.0"
57 "$ENV{ProgramFiles(x86)}/Windows Kits/8.0"
58 DOC "Windows 8 SDK root directory"
61 if (WIN8_SDK_ROOT_DIR)
62 set (DirectX_INC_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/Include/um" "${WIN8_SDK_ROOT_DIR}/Include/shared")
63 set (DirectX_LIB_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/Lib/Win8/um/${DirectX_ARCHITECTURE}")
64 set (DirectX_BIN_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/bin/x86")
69 find_path (DirectX_D3D_INCLUDE_DIR d3d.h
70 PATHS ${DirectX_INC_SEARCH_PATH}
71 DOC "The directory where d3d.h resides")
73 find_path (DirectX_D3DX_INCLUDE_DIR d3dx.h
74 PATHS ${DirectX_INC_SEARCH_PATH}
75 DOC "The directory where d3dx.h resides")
77 find_library (DirectX_DDRAW_LIBRARY ddraw
78 PATHS ${DirectX_LIB_SEARCH_PATH}
79 DOC "The directory where ddraw resides")
81 find_library (DirectX_D3DX_LIBRARY d3dx
82 PATHS ${DirectX_LIB_SEARCH_PATH}
83 DOC "The directory where d3dx resides")
85 if (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
86 set (DirectX_D3D_FOUND 1)
87 if (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
88 set (DirectX_D3DX_FOUND 1)
93 find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h
94 PATHS ${DirectX_INC_SEARCH_PATH}
95 DOC "The directory where d3d8.h resides")
97 find_path (DirectX_D3DX8_INCLUDE_DIR d3dx8.h
98 PATHS ${DirectX_INC_SEARCH_PATH}
99 DOC "The directory where d3dx8.h resides")
101 find_library (DirectX_D3D8_LIBRARY d3d8
102 PATHS ${DirectX_LIB_SEARCH_PATH}
103 DOC "The directory where d3d8 resides")
105 find_library (DirectX_D3DX8_LIBRARY d3dx8
106 PATHS ${DirectX_LIB_SEARCH_PATH}
107 DOC "The directory where d3dx8 resides")
109 if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
110 set (DirectX_D3D8_FOUND 1)
111 if (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
112 set (DirectX_D3DX8_FOUND 1)
117 find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h
118 PATHS ${DirectX_INC_SEARCH_PATH}
119 DOC "The directory where d3d9.h resides")
121 find_path (DirectX_D3DX9_INCLUDE_DIR d3dx9.h
122 PATHS ${DirectX_INC_SEARCH_PATH}
123 DOC "The directory where d3dx9.h resides")
125 find_library (DirectX_D3D9_LIBRARY d3d9
126 PATHS ${DirectX_LIB_SEARCH_PATH}
127 DOC "The directory where d3d9 resides")
129 find_library (DirectX_D3DX9_LIBRARY d3dx9
130 PATHS ${DirectX_LIB_SEARCH_PATH}
131 DOC "The directory where d3dx9 resides")
133 if (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
134 set (DirectX_D3D9_FOUND 1)
135 if (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
136 set (DirectX_D3DX9_FOUND 1)
141 find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h
142 PATHS ${DirectX_INC_SEARCH_PATH}
143 DOC "The directory where d3d10.h resides")
145 find_path (DirectX_D3DX10_INCLUDE_DIR d3dx10.h
146 PATHS ${DirectX_INC_SEARCH_PATH}
147 DOC "The directory where d3dx10.h resides")
149 find_library (DirectX_D3D10_LIBRARY d3d10
150 PATHS ${DirectX_LIB_SEARCH_PATH}
151 DOC "The directory where d3d10 resides")
153 find_library (DirectX_D3DX10_LIBRARY d3dx10
154 PATHS ${DirectX_LIB_SEARCH_PATH}
155 DOC "The directory where d3dx10 resides")
157 if (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
158 set (DirectX_D3D10_FOUND 1)
159 if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
160 set (DirectX_D3DX10_FOUND 1)
165 find_path (DirectX_D3D10_1_INCLUDE_DIR d3d10_1.h
166 PATHS ${DirectX_INC_SEARCH_PATH}
167 DOC "The directory where d3d10_1.h resides")
169 find_library (DirectX_D3D10_1_LIBRARY d3d10_1
170 PATHS ${DirectX_LIB_SEARCH_PATH}
171 DOC "The directory where d3d10_1 resides")
173 if (DirectX_D3D10_1_INCLUDE_DIR AND DirectX_D3D10_1_LIBRARY)
174 set (DirectX_D3D10_1_FOUND 1)
178 find_path (DirectX_D3D11_INCLUDE_DIR d3d11.h
179 PATHS ${DirectX_INC_SEARCH_PATH}
180 DOC "The directory where d3d11.h resides")
182 find_path (DirectX_D3DX11_INCLUDE_DIR d3dx11.h
183 PATHS ${DirectX_INC_SEARCH_PATH}
184 DOC "The directory where d3dx11.h resides")
186 find_library (DirectX_D3D11_LIBRARY d3d11
187 PATHS ${DirectX_LIB_SEARCH_PATH}
188 DOC "The directory where d3d11 resides")
190 find_library (DirectX_D3DX11_LIBRARY d3dx11
191 PATHS ${DirectX_LIB_SEARCH_PATH}
192 DOC "The directory where d3dx11 resides")
194 if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
195 set (DirectX_D3D11_FOUND 1)
196 if (DirectX_D3DX11_INCLUDE_DIR AND DirectX_D3DX11_LIBRARY)
197 set (DirectX_D3DX11_FOUND 1)
202 find_path (DirectX_D3D11_1_INCLUDE_DIR d3d11_1.h
203 PATHS ${DirectX_INC_SEARCH_PATH}
204 DOC "The directory where d3d11_1.h resides")
206 if (DirectX_D3D11_1_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
207 set (DirectX_D3D11_1_FOUND 1)
211 find_program (DirectX_FXC_EXECUTABLE fxc
212 PATHS ${DirectX_BIN_SEARCH_PATH}
213 DOC "Path to fxc.exe executable.")
216 find_path (DirectX_D2D1_INCLUDE_DIR d2d1.h
218 "${DirectX_ROOT_DIR}/Include"
219 DOC "The directory where d2d1.h resides")
221 find_library (DirectX_D2D1_LIBRARY d2d1
223 "${DirectX_ROOT_DIR}/Lib/x86"
224 DOC "The directory where d2d1 resides")
226 if (DirectX_D2D1_INCLUDE_DIR AND DirectX_D2D1_LIBRARY)
227 set (DirectX_D2D1_FOUND 1)
228 endif (DirectX_D2D1_INCLUDE_DIR AND DirectX_D2D1_LIBRARY)
232 DirectX_D3D_INCLUDE_DIR
233 DirectX_D3D_INCLUDE_DIR
234 DirectX_DDRAW_LIBRARY
235 DirectX_DDRAW_LIBRARY
236 DirectX_D3DX_INCLUDE_DIR
237 DirectX_D3DX_INCLUDE_DIR
240 DirectX_D3D8_INCLUDE_DIR
241 DirectX_D3D8_INCLUDE_DIR
244 DirectX_D3DX8_INCLUDE_DIR
245 DirectX_D3DX8_INCLUDE_DIR
246 DirectX_D3DX8_LIBRARY
247 DirectX_D3DX8_LIBRARY
248 DirectX_D3D9_INCLUDE_DIR
250 DirectX_D3DX9_INCLUDE_DIR
251 DirectX_D3DX9_LIBRARY
252 DirectX_D3D10_INCLUDE_DIR
253 DirectX_D3D10_LIBRARY
254 DirectX_D3DX10_INCLUDE_DIR
255 DirectX_D3DX10_LIBRARY
256 DirectX_D3D10_1_INCLUDE_DIR
257 DirectX_D3D10_1_LIBRARY
258 DirectX_D3D11_INCLUDE_DIR
259 DirectX_D3D11_LIBRARY
260 DirectX_D3DX11_INCLUDE_DIR
261 DirectX_D3DX11_LIBRARY
262 DirectX_D3D11_1_INCLUDE_DIR
263 DirectX_D2D1_INCLUDE_DIR
280 DirectX_D3D10_1_FOUND
283 DirectX_D3D11_1_FOUND
288 # vim:set sw=4 ts=4 noet: