123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- # - Find OpenCOLLADA library
- # Find the native OpenCOLLADA includes and library
- # This module defines
- # OPENCOLLADA_INCLUDE_DIRS, where to find COLLADABaseUtils/ and
- # COLLADAFramework/, Set when OPENCOLLADA_INCLUDE_DIR is found.
- # OPENCOLLADA_LIBRARIES, libraries to link against to use OpenCOLLADA.
- # OPENCOLLADA_ROOT_DIR, The base directory to search for OpenCOLLADA.
- # This can also be an environment variable.
- # OPENCOLLADA_FOUND, If false, do not try to use OpenCOLLADA.
- #
- # also defined, but not for general use are
- # OPENCOLLADA_LIBRARY, where to find the OpenCOLLADA library.
- #=============================================================================
- # Copyright 2011 Blender Foundation.
- #
- # Distributed under the OSI-approved BSD License (the "License");
- # see accompanying file Copyright.txt for details.
- #
- # This software is distributed WITHOUT ANY WARRANTY; without even the
- # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- # See the License for more information.
- #=============================================================================
- # note about include paths, there are 2 ways includes are set
- #
- # Where '/usr/include/opencollada' is the root dir:
- # /usr/include/opencollada/COLLADABaseUtils/COLLADABUPlatform.h
- #
- # Where '/opt/opencollada' is the base dir:
- # /opt/opencollada/COLLADABaseUtils/include/COLLADABUPlatform.h
- # If OPENCOLLADA_ROOT_DIR was defined in the environment, use it.
- IF(NOT OPENCOLLADA_ROOT_DIR AND NOT $ENV{OPENCOLLADA_ROOT_DIR} STREQUAL "")
- SET(OPENCOLLADA_ROOT_DIR $ENV{OPENCOLLADA_ROOT_DIR})
- ENDIF()
- SET(_opencollada_FIND_INCLUDES
- COLLADAStreamWriter
- COLLADABaseUtils
- COLLADAFramework
- COLLADASaxFrameworkLoader
- GeneratedSaxParser
- )
- SET(_opencollada_FIND_COMPONENTS
- OpenCOLLADAStreamWriter
- OpenCOLLADASaxFrameworkLoader
- OpenCOLLADAFramework
- OpenCOLLADABaseUtils
- GeneratedSaxParser
- MathMLSolver
- )
- # Fedora openCOLLADA package links these statically
- # note that order is important here ot it wont link
- SET(_opencollada_FIND_STATIC_COMPONENTS
- buffer
- ftoa
- UTF
- )
- SET(_opencollada_SEARCH_DIRS
- ${OPENCOLLADA_ROOT_DIR}
- /usr/local
- /sw # Fink
- /opt/local # DarwinPorts
- /opt/csw # Blastwave
- /opt/lib/opencollada
- )
- SET(_opencollada_INCLUDES)
- FOREACH(COMPONENT ${_opencollada_FIND_INCLUDES})
- STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
- # need to use this even thouh we are looking for a dir
- FIND_FILE(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR
- NAMES
- ${COMPONENT}/include
- ${COMPONENT}
- # Ubuntu ppa needs this.
- # Alternative would be to suffix all members of search path
- # but this is less trouble, just looks strange.
- include/opencollada/${COMPONENT}
- include/${COMPONENT}/include
- include/${COMPONENT}
- HINTS
- ${_opencollada_SEARCH_DIRS}
- )
- MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR)
- LIST(APPEND _opencollada_INCLUDES "${OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR}")
- ENDFOREACH()
- SET(_opencollada_LIBRARIES)
- FOREACH(COMPONENT ${_opencollada_FIND_COMPONENTS})
- STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
- FIND_LIBRARY(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
- NAMES
- ${COMPONENT}
- HINTS
- ${_opencollada_SEARCH_DIRS}
- PATH_SUFFIXES
- lib64 lib
- # Ubuntu ppa needs this.
- lib64/opencollada lib/opencollada
- )
- MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
- LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
- ENDFOREACH()
- FOREACH(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS})
- STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
- FIND_LIBRARY(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
- NAMES
- ${COMPONENT}
- HINTS
- ${_opencollada_SEARCH_DIRS}
- PATH_SUFFIXES
- lib64 lib
- # Ubuntu ppa needs this.
- lib64/opencollada lib/opencollada
- )
- MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
- IF(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
- LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
- ENDIF()
- ENDFOREACH()
- # handle the QUIETLY and REQUIRED arguments and set OPENCOLLADA_FOUND to TRUE if
- # all listed variables are TRUE
- INCLUDE(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCOLLADA DEFAULT_MSG
- _opencollada_LIBRARIES _opencollada_INCLUDES)
- IF(OPENCOLLADA_FOUND)
- SET(OPENCOLLADA_LIBRARIES ${_opencollada_LIBRARIES})
- SET(OPENCOLLADA_INCLUDE_DIRS ${_opencollada_INCLUDES})
- ENDIF(OPENCOLLADA_FOUND)
- UNSET(COMPONENT)
- UNSET(UPPERCOMPONENT)
- UNSET(_opencollada_LIBRARIES)
- UNSET(_opencollada_INCLUDES)
|