Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files/cmake/Modules/FindOpenCOLLADA.cmake')
-rw-r--r--build_files/cmake/Modules/FindOpenCOLLADA.cmake118
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)