]> git.cworth.org Git - apitrace/blobdiff - cmake/FindDirectX.cmake
Minimal D3D11 support.
[apitrace] / cmake / FindDirectX.cmake
index 352e1a3e91e4223e1ce9f27428f15c8ff94278d7..d841af4a328430963e05e8dc1b824f04f2e80d40 100644 (file)
@@ -26,6 +26,13 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
                DOC "DirectX SDK root directory")
 
 
+       if (CMAKE_CL_64)
+               set (DirectX_ARCHITECTURE x64)
+       else ()
+               set (DirectX_ARCHITECTURE x86)
+       endif ()
+
+
        find_path (DirectX_D3D_INCLUDE_DIR d3d.h
                PATHS
                        "${DirectX_ROOT_DIR}/Include"
@@ -38,20 +45,20 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
 
        find_library (DirectX_DDRAW_LIBRARY ddraw
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                DOC "The directory where ddraw resides")
 
        find_library (DirectX_D3DX_LIBRARY d3dx
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                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 (DirectX_D3DX_INCLUDE_DIR AND DirectX_D3DX_LIBRARY)
-       endif (DirectX_D3D_INCLUDE_DIR AND DirectX_DDRAW_LIBRARY)
+               endif ()
+       endif ()
 
 
        find_path (DirectX_D3D8_INCLUDE_DIR d3d8.h
@@ -66,20 +73,20 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
 
        find_library (DirectX_D3D8_LIBRARY d3d8
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                DOC "The directory where d3d8 resides")
 
        find_library (DirectX_D3DX8_LIBRARY d3dx8
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                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 (DirectX_D3DX8_INCLUDE_DIR AND DirectX_D3DX8_LIBRARY)
-       endif (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D8_LIBRARY)
+               endif ()
+       endif ()
 
 
        find_path (DirectX_D3D9_INCLUDE_DIR d3d9.h
@@ -94,20 +101,20 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
 
        find_library (DirectX_D3D9_LIBRARY d3d9
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                DOC "The directory where d3d9 resides")
 
        find_library (DirectX_D3DX9_LIBRARY d3dx9
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                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 (DirectX_D3DX9_INCLUDE_DIR AND DirectX_D3DX9_LIBRARY)
-       endif (DirectX_D3D9_INCLUDE_DIR AND DirectX_D3D9_LIBRARY)
+               endif ()
+       endif ()
 
 
        find_path (DirectX_D3D10_INCLUDE_DIR d3d10.h
@@ -122,28 +129,110 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
 
        find_library (DirectX_D3D10_LIBRARY d3d10
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                DOC "The directory where d3d10 resides")
 
        find_library (DirectX_D3DX10_LIBRARY d3dx10
                PATHS
-                       "${DirectX_ROOT_DIR}/Lib/x86"
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
                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 (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3DX10_LIBRARY)
-       endif (DirectX_D3D10_INCLUDE_DIR AND DirectX_D3D10_LIBRARY)
+               endif ()
+       endif ()
+
+
+       find_path (DirectX_D3D10_1_INCLUDE_DIR d3d10_1.h
+               PATHS
+                       "${DirectX_ROOT_DIR}/Include"
+               DOC "The directory where d3d10_1.h resides")
+
+       find_library (DirectX_D3D10_1_LIBRARY d3d10_1
+               PATHS
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
+               DOC "The directory where d3d10_1 resides")
 
-endif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+       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_ROOT_DIR}/Include"
+               DOC "The directory where d3d11.h resides")
+
+       find_path (DirectX_D3DX11_INCLUDE_DIR d3dx11.h
+               PATHS
+                       "${DirectX_ROOT_DIR}/Include"
+               DOC "The directory where d3dx11.h resides")
+
+       find_library (DirectX_D3D11_LIBRARY d3d11
+               PATHS
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
+               DOC "The directory where d3d11 resides")
+
+       find_library (DirectX_D3DX11_LIBRARY d3dx11
+               PATHS
+                       "${DirectX_ROOT_DIR}/Lib/${DirectX_ARCHITECTURE}"
+               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 ()
+
+
+       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
+       )
+
+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
 )