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}")
45 # With VS 2011 and Windows 8 SDK, the DirectX SDK is included as part of
49 # - http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx
50 # TODO: Allow using DirectX SDK with VS 2011
51 if (DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700)
52 find_path (WIN8_SDK_ROOT_DIR
55 "$ENV{ProgramFiles}/Windows Kits/8.0"
56 "$ENV{ProgramFiles(x86)}/Windows Kits/8.0"
57 DOC "Windows 8 SDK root directory"
60 if (WIN8_SDK_ROOT_DIR)
61 set (DirectX_INC_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/Include/um" "${WIN8_SDK_ROOT_DIR}/Include/shared")
62 set (DirectX_LIB_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/Lib/Win8/um/${DirectX_ARCHITECTURE}")
67 find_path (DirectX_D3D_INCLUDE_DIR d3d.h
68 PATHS ${DirectX_INC_SEARCH_PATH}
69 DOC "The directory where d3d.h resides")
71 find_path (DirectX_D3DX_INCLUDE_DIR d3dx.h
72 PATHS ${DirectX_INC_SEARCH_PATH}
73 DOC "The directory where d3dx.h resides")
75 find_library (DirectX_DDRAW_LIBRARY ddraw
76 PATHS ${DirectX_LIB_SEARCH_PATH}
77 DOC "The directory where ddraw resides")
79 find_library (DirectX_D3DX_LIBRARY d3dx
80 PATHS ${DirectX_LIB_SEARCH_PATH}
81 DOC "The directory where d3dx resides")
83 if (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
84 set (DirectX_D3D_FOUND 1)
85 if (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
86 set (DirectX_D3DX_FOUND 1)
91 find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h
92 PATHS ${DirectX_INC_SEARCH_PATH}
93 DOC "The directory where d3d8.h resides")
95 find_path (DirectX_D3DX8_INCLUDE_DIR d3dx8.h
96 PATHS ${DirectX_INC_SEARCH_PATH}
97 DOC "The directory where d3dx8.h resides")
99 find_library (DirectX_D3D8_LIBRARY d3d8
100 PATHS ${DirectX_LIB_SEARCH_PATH}
101 DOC "The directory where d3d8 resides")
103 find_library (DirectX_D3DX8_LIBRARY d3dx8
104 PATHS ${DirectX_LIB_SEARCH_PATH}
105 DOC "The directory where d3dx8 resides")
107 if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
108 set (DirectX_D3D8_FOUND 1)
109 if (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
110 set (DirectX_D3DX8_FOUND 1)
115 find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h
116 PATHS ${DirectX_INC_SEARCH_PATH}
117 DOC "The directory where d3d9.h resides")
119 find_path (DirectX_D3DX9_INCLUDE_DIR d3dx9.h
120 PATHS ${DirectX_INC_SEARCH_PATH}
121 DOC "The directory where d3dx9.h resides")
123 find_library (DirectX_D3D9_LIBRARY d3d9
124 PATHS ${DirectX_LIB_SEARCH_PATH}
125 DOC "The directory where d3d9 resides")
127 find_library (DirectX_D3DX9_LIBRARY d3dx9
128 PATHS ${DirectX_LIB_SEARCH_PATH}
129 DOC "The directory where d3dx9 resides")
131 if (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
132 set (DirectX_D3D9_FOUND 1)
133 if (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
134 set (DirectX_D3DX9_FOUND 1)
139 find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h
140 PATHS ${DirectX_INC_SEARCH_PATH}
141 DOC "The directory where d3d10.h resides")
143 find_path (DirectX_D3DX10_INCLUDE_DIR d3dx10.h
144 PATHS ${DirectX_INC_SEARCH_PATH}
145 DOC "The directory where d3dx10.h resides")
147 find_library (DirectX_D3D10_LIBRARY d3d10
148 PATHS ${DirectX_LIB_SEARCH_PATH}
149 DOC "The directory where d3d10 resides")
151 find_library (DirectX_D3DX10_LIBRARY d3dx10
152 PATHS ${DirectX_LIB_SEARCH_PATH}
153 DOC "The directory where d3dx10 resides")
155 if (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
156 set (DirectX_D3D10_FOUND 1)
157 if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
158 set (DirectX_D3DX10_FOUND 1)
163 find_path (DirectX_D3D10_1_INCLUDE_DIR d3d10_1.h
164 PATHS ${DirectX_INC_SEARCH_PATH}
165 DOC "The directory where d3d10_1.h resides")
167 find_library (DirectX_D3D10_1_LIBRARY d3d10_1
168 PATHS ${DirectX_LIB_SEARCH_PATH}
169 DOC "The directory where d3d10_1 resides")
171 if (DirectX_D3D10_1_INCLUDE_DIR AND DirectX_D3D10_1_LIBRARY)
172 set (DirectX_D3D10_1_FOUND 1)
176 find_path (DirectX_D3D11_INCLUDE_DIR d3d11.h
177 PATHS ${DirectX_INC_SEARCH_PATH}
178 DOC "The directory where d3d11.h resides")
180 find_path (DirectX_D3DX11_INCLUDE_DIR d3dx11.h
181 PATHS ${DirectX_INC_SEARCH_PATH}
182 DOC "The directory where d3dx11.h resides")
184 find_library (DirectX_D3D11_LIBRARY d3d11
185 PATHS ${DirectX_LIB_SEARCH_PATH}
186 DOC "The directory where d3d11 resides")
188 find_library (DirectX_D3DX11_LIBRARY d3dx11
189 PATHS ${DirectX_LIB_SEARCH_PATH}
190 DOC "The directory where d3dx11 resides")
192 if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
193 set (DirectX_D3D11_FOUND 1)
194 if (DirectX_D3DX11_INCLUDE_DIR AND DirectX_D3DX11_LIBRARY)
195 set (DirectX_D3DX11_FOUND 1)
200 find_path (DirectX_D3D11_1_INCLUDE_DIR d3d11_1.h
201 PATHS ${DirectX_INC_SEARCH_PATH}
202 DOC "The directory where d3d11_1.h resides")
204 if (DirectX_D3D11_1_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
205 set (DirectX_D3D11_1_FOUND 1)
210 DirectX_D3D_INCLUDE_DIR
211 DirectX_D3D_INCLUDE_DIR
212 DirectX_DDRAW_LIBRARY
213 DirectX_DDRAW_LIBRARY
214 DirectX_D3DX_INCLUDE_DIR
215 DirectX_D3DX_INCLUDE_DIR
218 DirectX_D3D8_INCLUDE_DIR
219 DirectX_D3D8_INCLUDE_DIR
222 DirectX_D3DX8_INCLUDE_DIR
223 DirectX_D3DX8_INCLUDE_DIR
224 DirectX_D3DX8_LIBRARY
225 DirectX_D3DX8_LIBRARY
226 DirectX_D3D9_INCLUDE_DIR
228 DirectX_D3DX9_INCLUDE_DIR
229 DirectX_D3DX9_LIBRARY
230 DirectX_D3D10_INCLUDE_DIR
231 DirectX_D3D10_LIBRARY
232 DirectX_D3DX10_INCLUDE_DIR
233 DirectX_D3DX10_LIBRARY
234 DirectX_D3D10_1_INCLUDE_DIR
235 DirectX_D3D10_1_LIBRARY
236 DirectX_D3D11_INCLUDE_DIR
237 DirectX_D3D11_LIBRARY
238 DirectX_D3DX11_INCLUDE_DIR
239 DirectX_D3DX11_LIBRARY
240 DirectX_D3D11_1_INCLUDE_DIR
256 DirectX_D3D10_1_FOUND
259 DirectX_D3D11_1_FOUND
263 # vim:set sw=4 ts=4 noet: