Merge branch 'master' into blender2.8
[blender.git] / build_files / cmake / Modules / FindAlembic.cmake
1 # - Find Alembic library
2 # Find the native Alembic includes and libraries
3 # This module defines
4 #  ALEMBIC_INCLUDE_DIRS, where to find Alembic headers, Set when
5 #                        ALEMBIC_INCLUDE_DIR is found.
6 #  ALEMBIC_LIBRARIES, libraries to link against to use Alembic.
7 #  ALEMBIC_ROOT_DIR, The base directory to search for Alembic.
8 #                    This can also be an environment variable.
9 #  ALEMBIC_FOUND, If false, do not try to use Alembic.
10 #
11
12 #=============================================================================
13 # Copyright 2016 Blender Foundation.
14 #
15 # Distributed under the OSI-approved BSD License (the "License");
16 # see accompanying file Copyright.txt for details.
17 #
18 # This software is distributed WITHOUT ANY WARRANTY; without even the
19 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 # See the License for more information.
21 #=============================================================================
22
23 # If ALEMBIC_ROOT_DIR was defined in the environment, use it.
24 IF(NOT ALEMBIC_ROOT_DIR AND NOT $ENV{ALEMBIC_ROOT_DIR} STREQUAL "")
25   SET(ALEMBIC_ROOT_DIR $ENV{ALEMBIC_ROOT_DIR})
26 ENDIF()
27
28 SET(_alembic_SEARCH_DIRS
29   ${ALEMBIC_ROOT_DIR}
30   /usr/local
31   /sw # Fink
32   /opt/local # DarwinPorts
33   /opt/lib/alembic
34 )
35
36 FIND_PATH(ALEMBIC_INCLUDE_DIR
37   NAMES
38     Alembic/Abc/All.h
39   HINTS
40     ${_alembic_SEARCH_DIRS}
41   PATH_SUFFIXES
42     include
43 )
44
45 FIND_LIBRARY(ALEMBIC_LIBRARY
46   NAMES
47     Alembic
48   HINTS
49     ${_alembic_SEARCH_DIRS}
50   PATH_SUFFIXES
51     lib64 lib lib/static
52 )
53
54 # handle the QUIETLY and REQUIRED arguments and set ALEMBIC_FOUND to TRUE if
55 # all listed variables are TRUE
56 INCLUDE(FindPackageHandleStandardArgs)
57 FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALEMBIC DEFAULT_MSG ALEMBIC_LIBRARY ALEMBIC_INCLUDE_DIR)
58
59 IF(ALEMBIC_FOUND)
60   SET(ALEMBIC_LIBRARIES ${ALEMBIC_LIBRARY})
61   SET(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR})
62 ENDIF(ALEMBIC_FOUND)
63
64 MARK_AS_ADVANCED(
65   ALEMBIC_INCLUDE_DIR
66   ALEMBIC_LIBRARY
67 )
68
69 UNSET(_alembic_SEARCH_DIRS)