93 lines
2.3 KiB
CMake
93 lines
2.3 KiB
CMake
# $Id: $
|
|
#
|
|
# - For MSVC builds try to find the MS DirectX SDK, for MinGW just the
|
|
# MinGW dsound library
|
|
#
|
|
# Once done this will define
|
|
#
|
|
# DXSDK_FOUND - system has DirectX SDK
|
|
# DXSDK_ROOT_DIR - path to the DirectX SDK base directory
|
|
# DXSDK_INCLUDE_DIR - the DirectX SDK include directory
|
|
# DXSDK_LIBRARY_DIR - DirectX SDK libraries path
|
|
#
|
|
# DXSDK_DSOUND_LIBRARY - Path to dsound.lib
|
|
#
|
|
# MinGW builds have to use dsound provided by MinGW, so we need to avoid finding
|
|
# the actual MS-DX-SDK in case it is installed on a build system. With MinGW,
|
|
# "DXSDK" boils down to just another library and headers in default locations.
|
|
# There might be old MinGW distributions without dsound though, so it is good to
|
|
# verify its availability.
|
|
|
|
|
|
if(WIN32)
|
|
else(WIN32)
|
|
message(FATAL_ERROR "FindDXSDK.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" )
|
|
endif(WIN32)
|
|
|
|
# Dsound.lib is statically linked (i.e. dsound.dll not required) and DXSDK_LIBRARY_DIR not used.
|
|
# In the environments supported by VCPKG we may as well avoid looking out for DX9 to avoid version
|
|
# mismatch in find.
|
|
|
|
if(MSVC AND MSVC_VERSION GREATER_EQUAL 1900)
|
|
|
|
# if the environment is set up properly, matching lib and header will be found
|
|
|
|
find_path(DXSDK_INCLUDE_DIR
|
|
dsound.h
|
|
)
|
|
find_library(DXSDK_DSOUND_LIBRARY
|
|
dsound.lib
|
|
)
|
|
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXSDK DEFAULT_MSG DXSDK_INCLUDE_DIR DXSDK_DSOUND_LIBRARY)
|
|
|
|
MARK_AS_ADVANCED(
|
|
DXSDK_INCLUDE_DIR DXSDK_DSOUND_LIBRARY
|
|
)
|
|
|
|
else()
|
|
|
|
find_path(DXSDK_ROOT_DIR
|
|
include/dxsdkver.h
|
|
HINTS
|
|
$ENV{DXSDK_DIR}
|
|
)
|
|
|
|
find_path(DXSDK_INCLUDE_DIR
|
|
dxsdkver.h
|
|
HINTS
|
|
${DXSDK_ROOT_DIR}/include
|
|
)
|
|
|
|
IF(CMAKE_CL_64)
|
|
find_path(DXSDK_LIBRARY_DIR
|
|
dsound.lib
|
|
HINTS
|
|
${DXSDK_ROOT_DIR}/lib/x64
|
|
)
|
|
ELSE(CMAKE_CL_64)
|
|
find_path(DXSDK_LIBRARY_DIR
|
|
dsound.lib
|
|
HINTS
|
|
${DXSDK_ROOT_DIR}/lib/x86
|
|
)
|
|
ENDIF(CMAKE_CL_64)
|
|
|
|
find_library(DXSDK_DSOUND_LIBRARY
|
|
dsound.lib
|
|
HINTS
|
|
${DXSDK_LIBRARY_DIR}
|
|
)
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set DXSDK_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXSDK DEFAULT_MSG DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR)
|
|
|
|
MARK_AS_ADVANCED(
|
|
DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR
|
|
DXSDK_LIBRARY_DIR DXSDK_DSOUND_LIBRARY
|
|
)
|
|
|
|
endif()
|