155 lines
4.1 KiB
CMake
155 lines
4.1 KiB
CMake
#
|
|
# Copyright 2016 Pixar
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
# with the following modification; you may not use this file except in
|
|
# compliance with the Apache License and the following modification to it:
|
|
# Section 6. Trademarks. is deleted and replaced with:
|
|
#
|
|
# 6. Trademarks. This License does not grant permission to use the trade
|
|
# names, trademarks, service marks, or product names of the Licensor
|
|
# and its affiliates, except as required to comply with Section 4(c) of
|
|
# the License and to reproduce the content of the NOTICE file.
|
|
#
|
|
# You may obtain a copy of the Apache License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the Apache License with the above modification is
|
|
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the Apache License for the specific
|
|
# language governing permissions and limitations under the Apache License.
|
|
#
|
|
|
|
if(UNIX)
|
|
find_path(OIIO_BASE_DIR
|
|
include/OpenImageIO/oiioversion.h
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
"/opt/oiio"
|
|
)
|
|
find_path(OIIO_LIBRARY_DIR
|
|
libOpenImageIO.so
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
"${OIIO_BASE_DIR}"
|
|
PATH_SUFFIXES
|
|
lib/
|
|
DOC
|
|
"OpenImageIO library path"
|
|
)
|
|
elseif(WIN32)
|
|
find_path(OIIO_BASE_DIR
|
|
include/OpenImageIO/oiioversion.h
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
)
|
|
find_path(OIIO_LIBRARY_DIR
|
|
OpenImageIO.lib
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
"${OIIO_BASE_DIR}"
|
|
PATH_SUFFIXES
|
|
lib/
|
|
DOC
|
|
"OpenImageIO library path"
|
|
)
|
|
endif()
|
|
|
|
find_path(OIIO_INCLUDE_DIR
|
|
OpenImageIO/oiioversion.h
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
"${OIIO_BASE_DIR}"
|
|
PATH_SUFFIXES
|
|
include/
|
|
DOC
|
|
"OpenImageIO headers path"
|
|
)
|
|
|
|
list(APPEND OIIO_INCLUDE_DIRS ${OIIO_INCLUDE_DIR})
|
|
|
|
foreach(OIIO_LIB
|
|
OpenImageIO
|
|
OpenImageIO_Util
|
|
)
|
|
|
|
find_library(OIIO_${OIIO_LIB}_LIBRARY
|
|
${OIIO_LIB}
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
"${OIIO_BASE_DIR}"
|
|
PATH_SUFFIXES
|
|
lib/
|
|
DOC
|
|
"OIIO's ${OIIO_LIB} library path"
|
|
)
|
|
|
|
if(OIIO_${OIIO_LIB}_LIBRARY)
|
|
list(APPEND OIIO_LIBRARIES ${OIIO_${OIIO_LIB}_LIBRARY})
|
|
endif()
|
|
endforeach(OIIO_LIB)
|
|
|
|
foreach(OIIO_BIN
|
|
iconvert
|
|
idiff
|
|
igrep
|
|
iinfo
|
|
iv
|
|
maketx
|
|
oiiotool)
|
|
|
|
find_program(OIIO_${OIIO_BIN}_BINARY
|
|
${OIIO_BIN}
|
|
HINTS
|
|
"${OIIO_LOCATION}"
|
|
"$ENV{OIIO_LOCATION}"
|
|
"${OIIO_BASE_DIR}"
|
|
PATH_SUFFIXES
|
|
bin/
|
|
DOC
|
|
"OIIO's ${OIIO_BIN} binary"
|
|
)
|
|
if(OIIO_${OIIO_BIN}_BINARY)
|
|
list(APPEND OIIO_BINARIES ${OIIO_${OIIO_BIN}_BINARY})
|
|
endif()
|
|
endforeach(OIIO_BIN)
|
|
|
|
if(OIIO_INCLUDE_DIRS AND EXISTS "${OIIO_INCLUDE_DIR}/OpenImageIO/oiioversion.h")
|
|
file(STRINGS ${OIIO_INCLUDE_DIR}/OpenImageIO/oiioversion.h
|
|
MAJOR
|
|
REGEX
|
|
"#define OIIO_VERSION_MAJOR.*$")
|
|
file(STRINGS ${OIIO_INCLUDE_DIR}/OpenImageIO/oiioversion.h
|
|
MINOR
|
|
REGEX
|
|
"#define OIIO_VERSION_MINOR.*$")
|
|
file(STRINGS ${OIIO_INCLUDE_DIR}/OpenImageIO/oiioversion.h
|
|
PATCH
|
|
REGEX
|
|
"#define OIIO_VERSION_PATCH.*$")
|
|
string(REGEX MATCHALL "[0-9]+" MAJOR ${MAJOR})
|
|
string(REGEX MATCHALL "[0-9]+" MINOR ${MINOR})
|
|
string(REGEX MATCHALL "[0-9]+" PATCH ${PATCH})
|
|
set(OIIO_VERSION "${MAJOR}.${MINOR}.${PATCH}")
|
|
endif()
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set OIIO_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package_handle_standard_args(OpenImageIO
|
|
REQUIRED_VARS
|
|
OIIO_LIBRARIES
|
|
OIIO_INCLUDE_DIRS
|
|
VERSION_VAR
|
|
OIIO_VERSION
|
|
)
|