aboutsummaryrefslogtreecommitdiff
path: root/sdk/compiler/cmake/modules/FindFBXSDK.cmake
blob: b333fbfe63cf8b6e2c183cc6d0b29e4f9bd9b581 (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
# - Try to find FBX SDK
# - Sets FBXSDK_LIBRARIES - list of the libraries found
# - Sets FBXSDK_INCLUDE_DIRS 
# - Sets FBXSDK_DLLS - List of the DLLs to copy to the bin directory of projects that depend on this


include(FindPackageHandleStandardArgs)

# Find the includes

# TODO: Do the version stuff properly!
find_path(FBXSDK_PATH include/fbxsdk.h
	PATHS 
	$ENV{PM_FBXSDK_PATH}
	${GW_DEPS_ROOT}/FBXSDK/${FBXSDK_FIND_VERSION}
)

if (STATIC_WINCRT)
	SET(FBXSDK_CRT_SUFFIX "mt")
else()
	SET(FBXSDK_CRT_SUFFIX "md")
endif()


# If the project pulling in this dependency needs the static crt, then append that to the path.
if (CMAKE_CL_64)
	SET(FBXSDK_ARCH_FOLDER "x64")
else()
	SET(FBXSDK_ARCH_FOLDER "x86")
endif()

# What compiler version do we want?

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()

# Now find all of the PhysX libs in the lib directory

SET(LIB_PATH ${FBXSDK_PATH}/lib/${VS_STR}/${FBXSDK_ARCH_FOLDER})

find_library(FBX_LIB
	NAMES libfbxsdk-${FBXSDK_CRT_SUFFIX}
	PATHS ${LIB_PATH}/release
)
find_library(FBX_LIB_DEBUG
	NAMES libfbxsdk-${FBXSDK_CRT_SUFFIX}
	PATHS ${LIB_PATH}/debug
)

FIND_PACKAGE_HANDLE_STANDARD_ARGS(FBXSDK
	DEFAULT_MSG
	FBXSDK_PATH
	FBX_LIB
	
	FBX_LIB_DEBUG
)

if (FBXSDK_FOUND)
	
	SET(FBXSDK_INCLUDE_DIRS 
		${FBXSDK_PATH}/include 
		${FBXSDK_PATH}/include/fbxsdk
	)
	
	SET(FBXSDK_LIBRARIES "" CACHE STRING "")
	
	LIST(APPEND FBXSDK_LIBRARIES optimized ${FBX_LIB} debug ${FBX_LIB_DEBUG})
endif()