OSDN Git Service

release part9
[moflib/moflib.git] / saisei-1.0 / cmake / FindDirectX.cmake
1 # Finds the Microsoft DirectX9
2 #
3 #  [out]DIRECTX_FOUND          - True if DirectX found.
4 #  [out]DIRECTX_INCLUDE_DIR    - Directory to include to get DirectX headers
5 #  [out]DIRECTX_LIBRARY_DIRS   - Directory to Library to get DirectX library
6 #  [out]DIRECTX_LIBRARIES      - Libraries to link against for the DirectX library
7 #  [in]DIRECTX_ROOT            - root dir of Direct 3D
8
9 # link libraries
10 set(DIRECTX_FIND_COMPONENTS d3d9;d3dx9;dsound;dinput8)
11
12 # If DIRECTX_ROOT was defined in the environment, use it.
13 if (NOT DIRECTX_ROOT AND NOT $ENV{DIRECTX_ROOT} STREQUAL "")
14         set(DIRECTX_ROOT $ENV{DIRECTX_ROOT})
15 endif ()
16
17 if (DIRECTX_ROOT) 
18         SET(
19                 _directx_INCLUDE_SEARCH_DIRS
20                 ${DIRECTX_ROOT}/Include
21                 ${DIRECTX_ROOT}
22         )
23         SET(
24                 _directx_LIBRARIES_SEARCH_DIRS
25                 ${DIRECTX_ROOT}/Lib/x86
26                 ${DIRECTX_ROOT}
27         )
28 endif () 
29
30 # Look for the header file.
31 find_path(
32   DIRECTX_INCLUDE_DIR 
33   NAMES d3dx9.h 
34   DOC "Include directory for the DirectX9 library"
35   HINTS ${_directx_INCLUDE_SEARCH_DIRS}
36 )
37 mark_as_advanced(DIRECTX_INCLUDE_DIR)
38
39 # Look for the library.
40 foreach (COMPONENT ${DIRECTX_FIND_COMPONENTS})
41         find_library(
42                 _directx_FOUND_LIBRARY_${COMPONENT}
43                 NAMES ${COMPONENT}
44                 DOC "Libraries for the DirectX Library"
45                 HINTS ${_directx_LIBRARIES_SEARCH_DIRS}
46         )
47         set(DIRECTX_LIBRARIES ${DIRECTX_LIBRARIES} ${_directx_FOUND_LIBRARY_${COMPONENT}})
48         GET_FILENAME_COMPONENT(_directx_PATH_${COMPONENT} ${_directx_FOUND_LIBRARY_${COMPONENT}} PATH )
49         list(APPEND DIRECTX_LIBRARY_DIRS ${_directx_PATH_${COMPONENT}})
50 endforeach ()
51 list(REMOVE_DUPLICATES DIRECTX_LIBRARY_DIRS)
52 mark_as_advanced(DIRECTX_LIBRARIES)
53 mark_as_advanced(DIRECTX_LIBRARY_DIRS)
54
55 # set DIRECTX_FOUND
56 if (DIRECTX_INCLUDE_DIR AND DIRECTX_LIBRARY_DIRS)
57   set(DIRECTX_FOUND 1)
58 else ()
59   set(DIRECTX_FOUND 0)
60 endif ()