diff options
Diffstat (limited to 'build_files/cmake/Modules/FindOpenCOLLADA.cmake')
-rw-r--r-- | build_files/cmake/Modules/FindOpenCOLLADA.cmake | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake new file mode 100644 index 00000000000..c7637283514 --- /dev/null +++ b/build_files/cmake/Modules/FindOpenCOLLADA.cmake @@ -0,0 +1,118 @@ +# - 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 + UTF + MathMLSolver + pcre + ftoa + buffer + xml2 +) + +SET(_opencollada_SEARCH_DIRS + ${OPENCOLLADA_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +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} + 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() + + +# 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) |