aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/samples/external/CMakeModules/FindDXUT.cmake
blob: 34cd759669af3dacc9b889403be943c75e9e45d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# - Try to find DXUT SDK
# - Sets DXUT_LIBRARIES - list of the libraries found
# - Sets DXUT_INCLUDE_DIRS 

include(FindPackageHandleStandardArgs)

# Find the includes

# TODO: Do the version stuff properly!
find_path(DXUTSDK_PATH Core/DXUT.h
	PATHS ${GW_DEPS_ROOT}/DXUT/${DXUT_FIND_VERSION}
	${NVCLOTH_ROOT_DIR}/samples/external/DXUT/${DXUT_FIND_VERSION}
)

# If the project pulling in this dependency needs the static crt, then append that to the path.

if (STATIC_WINCRT)
	SET(DXUTSDK_CRT_FOLDER "staticcrt")
else()
	SET(DXUTSDK_CRT_FOLDER "dynamiccrt")
endif()

if (CMAKE_CL_64)
	SET(DXUTSDK_ARCH_FOLDER "x64")
else()
	SET(DXUTSDK_ARCH_FOLDER "Win32")
endif()

if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18.0.0.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.0.0.0)
	SET(VS_STR "vs2013")
elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.0.0.0)
	SET(VS_STR "vs2015")
else()
	MESSAGE(FATAL_ERROR "Failed to find compatible FBXSDK - Only supporting VS2013 and VS2015")
endif()


SET(CORE_LIB_PATH ${DXUTSDK_PATH}/Core/Bin/${DXUTSDK_CRT_FOLDER}/${VS_STR}/${DXUTSDK_ARCH_FOLDER}/)
SET(OPT_LIB_PATH ${DXUTSDK_PATH}/Optional/Bin/${DXUTSDK_CRT_FOLDER}/${VS_STR}/${DXUTSDK_ARCH_FOLDER}/)

find_library(DXUT_LIB
	NAMES DXUT
	PATHS ${CORE_LIB_PATH}/Release
)
find_library(DXUT_LIB_DEBUG
	NAMES DXUT
	PATHS ${CORE_LIB_PATH}/Debug
)

find_library(DXUTOPT_LIB
	NAMES DXUTOpt
	PATHS ${OPT_LIB_PATH}/Release
)

find_library(DXUTOPT_LIB_DEBUG
	NAMES DXUTOpt
	PATHS ${OPT_LIB_PATH}/Debug
)

MESSAGE("DXUT: ${DXUT_LIB}")

FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXUTSDK
	DEFAULT_MSG
	DXUTSDK_PATH
	
	DXUT_LIB
	DXUTOPT_LIB
	
	DXUT_LIB_DEBUG
	DXUTOPT_LIB_DEBUG
)

if (DXUTSDK_FOUND)
	# NOTE: This include list is way too long and reaches into too many internals.
	# Also may not be good enough for all users.
	SET(DXUT_INCLUDE_DIRS 
		${DXUTSDK_PATH}/Core
		${DXUTSDK_PATH}/Optional
	)

	SET(DXUT_LIBRARIES optimized ${DXUT_LIB} debug ${DXUT_LIB_DEBUG} optimized ${DXUTOPT_LIB} debug ${DXUTOPT_LIB_DEBUG})
endif()