File size: 2,995 Bytes
5f9d349
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Copyright (C) 2020, Inria
# GRAPHDECO research group, https://team.inria.fr/graphdeco
# All rights reserved.
# 
# This software is free for non-commercial, research and evaluation use 
# under the terms of the LICENSE.md file.
# 
# For inquiries contact [email protected] and/or [email protected]


## Try to find the ASSIMP library
## Once done this will define
##
##  	ASSIMP_FOUND 		- system has ASSIMP
##  	ASSIMP_INCLUDE_DIR 	- The ASSIMP include directory
##  	ASSIMP_LIBRARIES 	- The libraries needed to use ASSIMP
##  	ASSIMP_CMD 			- the full path of ASSIMP executable
##	ASSIMP_DYNAMIC_LIB	- the Assimp dynamic lib (available only on windows as .dll file for the moment)
##
## Edited for using a bugfixed version of Assimp

if(NOT ASSIMP_DIR)
    set(ASSIMP_DIR "$ENV{ASSIMP_DIR}" CACHE PATH "ASSIMP root directory")
endif()
if(ASSIMP_DIR)
	file(TO_CMAKE_PATH ${ASSIMP_DIR} ASSIMP_DIR)
endif()


## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
	set(ASSIMP_SEARCH_LIB "lib64")
	set(ASSIMP_SEARCH_BIN "bin64")
	set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x64")
else()
	set(ASSIMP_SEARCH_LIB "lib32")
	set(ASSIMP_SEARCH_BIN "bin32")
	set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x86")
endif()

set(PROGRAMFILESx86 "PROGRAMFILES(x86)")


FIND_PATH(ASSIMP_INCLUDE_DIR
	NAMES assimp/config.h
	PATHS
		${ASSIMP_DIR}
		## linux
		/usr
		/usr/local
		/opt/local
		## windows
		"$ENV{PROGRAMFILES}/Assimp"
		"$ENV{${PROGRAMFILESx86}}/Assimp"
		"$ENV{ProgramW6432}/Assimp"
	PATH_SUFFIXES include
)


FIND_LIBRARY(ASSIMP_LIBRARY
	NAMES assimp-vc140-mt
	PATHS
		${ASSIMP_DIR}/${ASSIMP_SEARCH_LIB}
		${ASSIMP_DIR}/lib
		${ASSIMP_DIR}/lib64
		## linux
		/usr/${ASSIMP_SEARCH_LIB}
		/usr/local/${ASSIMP_SEARCH_LIB}
		/opt/local/${ASSIMP_SEARCH_LIB}
		/usr/lib
		/usr/local/lib
		/opt/local/lib
		## windows
		"$ENV{PROGRAMFILES}/Assimp/${ASSIMP_SEARCH_LIB}"
		"$ENV{${PROGRAMFILESx86}}/Assimp/${ASSIMP_SEARCH_LIB}"
		"$ENV{ProgramW6432}/Assimp/${ASSIMP_SEARCH_LIB}"
		"$ENV{PROGRAMFILES}/Assimp/lib"
		"$ENV{${PROGRAMFILESx86}}/Assimp/lib"
		"$ENV{ProgramW6432}/Assimp/lib"
	PATH_SUFFIXES ${ASSIMP_SEARCH_LIB_PATHSUFFIXE}
)
set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY})


if(ASSIMP_LIBRARY)
	get_filename_component(ASSIMP_LIBRARY_DIR ${ASSIMP_LIBRARY} PATH)
	file(GLOB ASSIMP_DYNAMIC_LIB "${ASSIMP_LIBRARY_DIR}/assimp*.dll")
	if(NOT ASSIMP_DYNAMIC_LIB)
		message("ASSIMP_DYNAMIC_LIB is missing... at ${ASSIMP_LIBRARY_DIR}")
	endif()
	set(ASSIMP_DYNAMIC_LIB ${ASSIMP_DYNAMIC_LIB} CACHE PATH "Windows dll location")
endif()

MARK_AS_ADVANCED(ASSIMP_DYNAMIC_LIB ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASSIMP
	REQUIRED_VARS ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES
	FAIL_MESSAGE "ASSIMP wasn't found correctly. Set ASSIMP_DIR to the root SDK installation directory."
)

if(NOT ASSIMP_FOUND)
	set(ASSIMP_DIR "" CACHE STRING "Path to ASSIMP install directory")
endif()