cmake: link with opentimelineio

This commit is contained in:
itsmattkc
2020-09-18 12:18:05 +10:00
parent 9a46d4a57f
commit 7caf6797c8
3 changed files with 137 additions and 0 deletions
+2
View File
@@ -67,6 +67,8 @@ find_package(FFMPEG 3.0 REQUIRED
swresample
)
find_package(OpenTimelineIO REQUIRED)
find_package(GoogleCrashpad)
if (NOT GoogleCrashpad_FOUND)
+2
View File
@@ -123,6 +123,7 @@ target_include_directories(
${FFMPEG_INCLUDE_DIRS}
${OCIO_INCLUDE_DIRS}
${OIIO_INCLUDE_DIRS}
${OTIO_INCLUDE_DIRS}
${OPENEXR_INCLUDES}
# HACK: Brew on macOS separates OpenEXR and IlmBase into two folders even though they seem to
@@ -151,6 +152,7 @@ target_link_libraries(
FFMPEG::swresample
${OCIO_LIBRARIES}
${OIIO_LIBRARIES}
${OTIO_LIBRARIES}
${OPENEXR_LIBRARIES}
)
+133
View File
@@ -0,0 +1,133 @@
# Olive - Non-Linear Video Editor
# Copyright (C) 2019 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
)