summaryrefslogtreecommitdiff
path: root/libs/assimp/contrib/draco/cmake/FindDraco.cmake
blob: 0a9193065b16c4837c4ff3ac4669364b6bd41c73 (plain)
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
# Finddraco
#
# Locates draco and sets the following variables:
#
# draco_FOUND draco_INCLUDE_DIRS draco_LIBARY_DIRS draco_LIBRARIES
# draco_VERSION_STRING
#
# draco_FOUND is set to YES only when all other variables are successfully
# configured.

unset(draco_FOUND)
unset(draco_INCLUDE_DIRS)
unset(draco_LIBRARY_DIRS)
unset(draco_LIBRARIES)
unset(draco_VERSION_STRING)

mark_as_advanced(draco_FOUND)
mark_as_advanced(draco_INCLUDE_DIRS)
mark_as_advanced(draco_LIBRARY_DIRS)
mark_as_advanced(draco_LIBRARIES)
mark_as_advanced(draco_VERSION_STRING)

set(draco_version_file_no_prefix "draco/src/draco/core/draco_version.h")

# Set draco_INCLUDE_DIRS
find_path(draco_INCLUDE_DIRS NAMES "${draco_version_file_no_prefix}")

# Extract the version string from draco_version.h.
if(draco_INCLUDE_DIRS)
  set(draco_version_file
      "${draco_INCLUDE_DIRS}/draco/src/draco/core/draco_version.h")
  file(STRINGS "${draco_version_file}" draco_version REGEX "kdracoVersion")
  list(GET draco_version 0 draco_version)
  string(REPLACE "static const char kdracoVersion[] = " "" draco_version
                 "${draco_version}")
  string(REPLACE ";" "" draco_version "${draco_version}")
  string(REPLACE "\"" "" draco_version "${draco_version}")
  set(draco_VERSION_STRING ${draco_version})
endif()

# Find the library.
if(BUILD_SHARED_LIBS)
  find_library(draco_LIBRARIES NAMES draco.dll libdraco.dylib libdraco.so)
else()
  find_library(draco_LIBRARIES NAMES draco.lib libdraco.a)
endif()

# Store path to library.
get_filename_component(draco_LIBRARY_DIRS ${draco_LIBRARIES} DIRECTORY)

if(draco_INCLUDE_DIRS
   AND draco_LIBRARY_DIRS
   AND draco_LIBRARIES
   AND draco_VERSION_STRING)
  set(draco_FOUND YES)
endif()