X-Git-Url: https://git.cworth.org/git?p=apitrace-tests;a=blobdiff_plain;f=cmake%2FFindDirectX.cmake;fp=cmake%2FFindDirectX.cmake;h=cbbe4f134506e6f4c2d7a3e52b1c1f8a8f37c77a;hp=0000000000000000000000000000000000000000;hb=570163bfc3c84b6b553610c888c1f75657ed6ca9;hpb=7aa463806c4e6616699c8f742cc8204b4d129b0a diff --git a/cmake/FindDirectX.cmake b/cmake/FindDirectX.cmake new file mode 100644 index 0000000..cbbe4f1 --- /dev/null +++ b/cmake/FindDirectX.cmake @@ -0,0 +1,270 @@ +# - try to find DirectX include dirs and libraries + + +if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + + + if (CMAKE_CL_64) + set (DirectX_ARCHITECTURE x64) + else () + set (DirectX_ARCHITECTURE x86) + endif () + + + # DirectX SDK + find_path (DirectX_ROOT_DIR + Include/d3d9.h + PATHS + "$ENV{DXSDK_DIR}" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2010)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2010)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (February 2010)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (February 2010)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2009)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2009)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2008)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2008)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (June 2008)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (June 2008)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (March 2008)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (March 2008)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (November 2007)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (November 2007)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK (August 2007)" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK (August 2007)" + "$ENV{ProgramFiles}/Microsoft DirectX SDK" + "$ENV{ProgramFiles(x86)}/Microsoft DirectX SDK" + DOC "DirectX SDK root directory" + ) + if (DirectX_ROOT_DIR) + set (DirectX_INC_SEARCH_PATH "${DirectX_ROOT_DIR}/Include") + set (DirectX_LIB_SEARCH_PATH "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}") + set (DirectX_BIN_SEARCH_PATH "${DirectX_ROOT_DIR}/Utilities/bin/x86") + endif () + + + # With VS 2011 and Windows 8 SDK, the DirectX SDK is included as part of + # the Windows SDK. + # + # See also: + # - http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx + # TODO: Allow using DirectX SDK with VS 2011 + if (DEFINED MSVC_VERSION AND NOT ${MSVC_VERSION} LESS 1700) + find_path (WIN8_SDK_ROOT_DIR + Include/um/windows.h + PATHS + "$ENV{ProgramFiles}/Windows Kits/8.0" + "$ENV{ProgramFiles(x86)}/Windows Kits/8.0" + DOC "Windows 8 SDK root directory" + ) + + if (WIN8_SDK_ROOT_DIR) + set (DirectX_INC_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/Include/um" "${WIN8_SDK_ROOT_DIR}/Include/shared") + set (DirectX_LIB_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/Lib/Win8/um/${DirectX_ARCHITECTURE}") + set (DirectX_BIN_SEARCH_PATH "${WIN8_SDK_ROOT_DIR}/bin/x86") + endif () + endif () + + + find_path (DirectX_D3D_INCLUDE_DIR d3d.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d.h resides") + + find_path (DirectX_D3DX_INCLUDE_DIR d3dx.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3dx.h resides") + + find_library (DirectX_DDRAW_LIBRARY ddraw + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where ddraw resides") + + find_library (DirectX_D3DX_LIBRARY d3dx + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3dx resides") + + if (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY) + set (DirectX_D3D_FOUND 1) + if (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY) + set (DirectX_D3DX_FOUND 1) + endif () + endif () + + + find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d8.h resides") + + find_path (DirectX_D3DX8_INCLUDE_DIR d3dx8.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3dx8.h resides") + + find_library (DirectX_D3D8_LIBRARY d3d8 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3d8 resides") + + find_library (DirectX_D3DX8_LIBRARY d3dx8 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3dx8 resides") + + if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY) + set (DirectX_D3D8_FOUND 1) + if (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY) + set (DirectX_D3DX8_FOUND 1) + endif () + endif () + + + find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d9.h resides") + + find_path (DirectX_D3DX9_INCLUDE_DIR d3dx9.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3dx9.h resides") + + find_library (DirectX_D3D9_LIBRARY d3d9 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3d9 resides") + + find_library (DirectX_D3DX9_LIBRARY d3dx9 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3dx9 resides") + + if (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY) + set (DirectX_D3D9_FOUND 1) + if (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY) + set (DirectX_D3DX9_FOUND 1) + endif () + endif () + + + find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d10.h resides") + + find_path (DirectX_D3DX10_INCLUDE_DIR d3dx10.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3dx10.h resides") + + find_library (DirectX_D3D10_LIBRARY d3d10 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3d10 resides") + + find_library (DirectX_D3DX10_LIBRARY d3dx10 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3dx10 resides") + + if (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY) + set (DirectX_D3D10_FOUND 1) + if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY) + set (DirectX_D3DX10_FOUND 1) + endif () + endif () + + + find_path (DirectX_D3D10_1_INCLUDE_DIR d3d10_1.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d10_1.h resides") + + find_library (DirectX_D3D10_1_LIBRARY d3d10_1 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3d10_1 resides") + + if (DirectX_D3D10_1_INCLUDE_DIR AND DirectX_D3D10_1_LIBRARY) + set (DirectX_D3D10_1_FOUND 1) + endif () + + + find_path (DirectX_D3D11_INCLUDE_DIR d3d11.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d11.h resides") + + find_path (DirectX_D3DX11_INCLUDE_DIR d3dx11.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3dx11.h resides") + + find_library (DirectX_D3D11_LIBRARY d3d11 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3d11 resides") + + find_library (DirectX_D3DX11_LIBRARY d3dx11 + PATHS ${DirectX_LIB_SEARCH_PATH} + DOC "The directory where d3dx11 resides") + + if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY) + set (DirectX_D3D11_FOUND 1) + if (DirectX_D3DX11_INCLUDE_DIR AND DirectX_D3DX11_LIBRARY) + set (DirectX_D3DX11_FOUND 1) + endif () + endif () + + + find_path (DirectX_D3D11_1_INCLUDE_DIR d3d11_1.h + PATHS ${DirectX_INC_SEARCH_PATH} + DOC "The directory where d3d11_1.h resides") + + if (DirectX_D3D11_1_INCLUDE_DIR AND DirectX_D3D11_LIBRARY) + set (DirectX_D3D11_1_FOUND 1) + endif () + + + find_program (DirectX_FXC_EXECUTABLE fxc + PATHS ${DirectX_BIN_SEARCH_PATH} + DOC "Path to fxc.exe executable.") + + + mark_as_advanced ( + DirectX_D3D_INCLUDE_DIR + DirectX_D3D_INCLUDE_DIR + DirectX_DDRAW_LIBRARY + DirectX_DDRAW_LIBRARY + DirectX_D3DX_INCLUDE_DIR + DirectX_D3DX_INCLUDE_DIR + DirectX_D3DX_LIBRARY + DirectX_D3DX_LIBRARY + DirectX_D3D8_INCLUDE_DIR + DirectX_D3D8_INCLUDE_DIR + DirectX_D3D8_LIBRARY + DirectX_D3D8_LIBRARY + DirectX_D3DX8_INCLUDE_DIR + DirectX_D3DX8_INCLUDE_DIR + DirectX_D3DX8_LIBRARY + DirectX_D3DX8_LIBRARY + DirectX_D3D9_INCLUDE_DIR + DirectX_D3D9_LIBRARY + DirectX_D3DX9_INCLUDE_DIR + DirectX_D3DX9_LIBRARY + DirectX_D3D10_INCLUDE_DIR + DirectX_D3D10_LIBRARY + DirectX_D3DX10_INCLUDE_DIR + DirectX_D3DX10_LIBRARY + DirectX_D3D10_1_INCLUDE_DIR + DirectX_D3D10_1_LIBRARY + DirectX_D3D11_INCLUDE_DIR + DirectX_D3D11_LIBRARY + DirectX_D3DX11_INCLUDE_DIR + DirectX_D3DX11_LIBRARY + DirectX_D3D11_1_INCLUDE_DIR + ) + + +endif () + + +mark_as_advanced ( + DirectX_D3D_FOUND + DirectX_D3DX_FOUND + DirectX_D3D8_FOUND + DirectX_D3DX8_FOUND + DirectX_D3D9_FOUND + DirectX_D3DX9_FOUND + DirectX_D3D10_FOUND + DirectX_D3DX10_FOUND + DirectX_D3D10_1_FOUND + DirectX_D3D11_FOUND + DirectX_D3DX11_FOUND + DirectX_D3D11_1_FOUND +) + + +# vim:set sw=4 ts=4 noet: