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:
authorCampbell Barton <ideasman42@gmail.com>2011-08-24 20:04:35 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-08-24 20:04:35 +0400
commit9ad6434c4e6c1d157d4ce4d0904c46154229aec9 (patch)
tree51b634b48086426ed3cdd83e464d5dda6cc3de39 /build_files
parent82e622f1585ff615cc9607f1f9492b961842ce1b (diff)
opencollada find module. hopefully solves the problem where includes can in an `/include` subdir or not.
Diffstat (limited to 'build_files')
-rw-r--r--build_files/cmake/Modules/FindOpenCOLLADA.cmake123
1 files changed, 123 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..eef2049f962
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
@@ -0,0 +1,123 @@
+# - 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}
+ HINTS
+ # some packagers do this.
+ ${OPENCOLLADA_ROOT_DIR}/include/opencollada
+ ${_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
+ )
+ MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
+ LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
+ENDFOREACH()
+
+
+FIND_LIBRARY(OPENCOLLADA_LIBRARY
+ NAMES
+ jack
+ HINTS
+ ${_opencollada_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set OPENEXR_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)