Skip to content

Commit

Permalink
cmake improvements.
Browse files Browse the repository at this point in the history
  • Loading branch information
est77 committed Feb 9, 2017
1 parent 9bb2c29 commit 06c2ac8
Show file tree
Hide file tree
Showing 4 changed files with 225 additions and 0 deletions.
7 changes: 7 additions & 0 deletions CMakeLists.txt
Expand Up @@ -86,6 +86,9 @@ add_definitions (-DBOOST_ALL_NO_LIB)

find_package (Appleseed REQUIRED)
find_package (OpenGL REQUIRED)
find_package (Imath REQUIRED)
find_package (OpenImageIO REQUIRED)
find_package (OSL REQUIRED)

find_package (Maya REQUIRED)
message ("Maya API version = ${MAYA_API_VERSION}")
Expand All @@ -104,6 +107,10 @@ endif ()
include_directories (
${MAYA_INCLUDE_DIRS}
${APPLESEED_INCLUDE_DIRS}
${IMATH_INCLUDE_DIRS}
${IMATH_INCLUDE_DIRS}/OpenEXR/
${OPENIMAGEIO_INCLUDE_DIRS}
${OSL_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
)
Expand Down
74 changes: 74 additions & 0 deletions cmake/Modules/FindImath.cmake
@@ -0,0 +1,74 @@

#
# This source file is part of appleseed.
# Visit http://appleseedhq.net/ for additional information and resources.
#
# This software is released under the MIT license.
#
# Copyright (c) 2013-2017 Esteban Tovagliari, The appleseedhq Organization
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#


#
# Find Imath headers and libraries.
#
# This module defines the following variables:
#
# IMATH_FOUND True if Imath was found
# IMATH_INCLUDE_DIRS Where to find Imath header files
# IMATH_LIBRARIES List of Imath libraries to link against
#

include (FindPackageHandleStandardArgs)

find_path (IMATH_INCLUDE_DIR NAMES OpenEXR/ImathVec.h)

find_library (IMATH_HALF_LIBRARY NAMES Half)
find_library (IMATH_IEX_LIBRARY NAMES Iex)
find_library (IMATH_MATH_LIBRARY NAMES Imath)

# Handle the QUIETLY and REQUIRED arguments and set IMATH_FOUND.
find_package_handle_standard_args (IMATH DEFAULT_MSG
IMATH_INCLUDE_DIR
IMATH_HALF_LIBRARY
IMATH_IEX_LIBRARY
IMATH_MATH_LIBRARY
)

# Set the output variables.
if (IMATH_FOUND)
set (IMATH_INCLUDE_DIRS ${IMATH_INCLUDE_DIR})
set (IMATH_LIBRARIES
${IMATH_HALF_LIBRARY}
${IMATH_IEX_LIBRARY}
${IMATH_MATH_LIBRARY}
)
else ()
set (IMATH_INCLUDE_DIRS)
set (IMATH_LIBRARIES)
endif ()

mark_as_advanced (
IMATH_INCLUDE_DIR
IMATH_HALF_LIBRARY
IMATH_IEX_LIBRARY
IMATH_MATH_LIBRARY
)
80 changes: 80 additions & 0 deletions cmake/Modules/FindOSL.cmake
@@ -0,0 +1,80 @@

#
# This source file is part of appleseed.
# Visit http://appleseedhq.net/ for additional information and resources.
#
# This software is released under the MIT license.
#
# Copyright (c) 2013-2017 Esteban Tovagliari, The appleseedhq Organization
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#


#
# Find OSL headers and libraries.
#
# This module defines the following variables:
#
# OSL_FOUND True if OSL was found
# OSL_INCLUDE_DIRS Where to find OSL header files
# OSL_LIBRARIES List of OSL libraries to link against
# OSL_COMPILER Path to oslc binary
# OSL_QUERY_INFO Path to oslinfo binary
# OSL_MAKETX Path to OpenImageIO's maketx binary
#

include (FindPackageHandleStandardArgs)

find_path (OSL_INCLUDE_DIR NAMES OSL/oslexec.h)

find_library (OSL_EXEC_LIBRARY NAMES oslexec)
find_library (OSL_COMP_LIBRARY NAMES oslcomp)
find_library (OSL_QUERY_LIBRARY NAMES oslquery)

find_program (OSL_COMPILER NAMES oslc)
find_program (OSL_QUERY_INFO NAMES oslinfo)
find_program (OSL_MAKETX NAMES maketx)

# Handle the QUIETLY and REQUIRED arguments and set OSL_FOUND.
find_package_handle_standard_args (OSL DEFAULT_MSG
OSL_INCLUDE_DIR
OSL_EXEC_LIBRARY
OSL_COMP_LIBRARY
OSL_QUERY_LIBRARY
OSL_COMPILER
OSL_QUERY_INFO
OSL_MAKETX
)

# Set the output variables.
if (OSL_FOUND)
set (OSL_INCLUDE_DIRS ${OSL_INCLUDE_DIR})
set (OSL_LIBRARIES ${OSL_EXEC_LIBRARY} ${OSL_COMP_LIBRARY} ${OSL_QUERY_LIBRARY})
else ()
set (OSL_INCLUDE_DIRS)
set (OSL_LIBRARIES)
endif ()

mark_as_advanced (
OSL_INCLUDE_DIR
OSL_EXEC_LIBRARY
OSL_COMP_LIBRARY
OSL_QUERY_LIBRARY
)
64 changes: 64 additions & 0 deletions cmake/Modules/FindOpenImageIO.cmake
@@ -0,0 +1,64 @@

#
# This source file is part of appleseed.
# Visit http://appleseedhq.net/ for additional information and resources.
#
# This software is released under the MIT license.
#
# Copyright (c) 2013-2017 Esteban Tovagliari, The appleseedhq Organization
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#


#
# Find OpenImageIO headers and libraries.
#
# This module defines the following variables:
#
# OPENIMAGEIO_FOUND True if OpenImageIO was found
# OPENIMAGEIO_INCLUDE_DIRS Where to find OpenImageIO header files
# OPENIMAGEIO_LIBRARIES List of OpenImageIO libraries to link against
#

include (FindPackageHandleStandardArgs)

find_path (OPENIMAGEIO_INCLUDE_DIR NAMES OpenImageIO/imageio.h)

find_library (OPENIMAGEIO_LIBRARY NAMES OpenImageIO)

# Handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND.
find_package_handle_standard_args (OPENIMAGEIO DEFAULT_MSG
OPENIMAGEIO_INCLUDE_DIR
OPENIMAGEIO_LIBRARY
)

# Set the output variables.
if (OPENIMAGEIO_FOUND)
set (OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
set (OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY})
else ()
set (OPENIMAGEIO_INCLUDE_DIRS)
set (OPENIMAGEIO_LIBRARIES)
endif ()

mark_as_advanced (
OPENIMAGEIO_INCLUDE_DIR
OPENIMAGEIO_LIBRARY
)

0 comments on commit 06c2ac8

Please sign in to comment.