Files
oak-editor/cmake/FindOpenTimelineIO.cmake
T

134 lines
3.1 KiB
CMake

# Olive - Non-Linear Video Editor
# Copyright (C) 2021 Olive Team
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if(UNIX)
find_path(OTIO_BASE_DIR
include/opentimelineio/timeline.h
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"/opt/otio"
)
find_path(OTIO_LIBRARY_DIR
libopentimelineio.so
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
lib/
DOC
"OpenTimelineIO library path"
)
elseif(WIN32)
find_path(OTIO_BASE_DIR
include/opentimelineio/timeline.h
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
)
find_path(OTIO_LIBRARY_DIR
opentimelineio.lib
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
lib/
DOC
"OpenTimelineIO library path"
)
endif()
find_path(OTIO_INCLUDE_DIR
opentimelineio/timeline.h
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
include/
DOC
"OpenTimelineIO headers path"
)
list(APPEND OTIO_INCLUDE_DIRS ${OTIO_INCLUDE_DIR})
find_path(OTIO_DEPS_INCLUDE_DIR
any/any.hpp
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
include/opentimelineio/deps/
DOC
"OpenTimelineIO headers path"
)
list(APPEND OTIO_INCLUDE_DIRS ${OTIO_DEPS_INCLUDE_DIR})
find_path(OT_INCLUDE_DIR
opentime/rationalTime.h
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
include/
DOC
"OpenTime headers path"
)
list(APPEND OTIO_INCLUDE_DIRS ${OT_INCLUDE_DIR})
find_library(OTIO_LIBRARY
opentimelineio
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
lib/
DOC
"OTIO's ${OTIO_LIB} library path"
)
list(APPEND OTIO_LIBRARIES ${OTIO_LIBRARY})
find_library(OT_LIBRARY
opentime
HINTS
"${OTIO_LOCATION}"
"$ENV{OTIO_LOCATION}"
"${OTIO_BASE_DIR}"
PATH_SUFFIXES
lib/
DOC
"OpenTime's ${OTIO_LIB} library path"
)
list(APPEND OTIO_LIBRARIES ${OT_LIBRARY})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenTimelineIO
REQUIRED_VARS
OTIO_LIBRARIES
OTIO_INCLUDE_DIRS
OTIO_DEPS_INCLUDE_DIR
)