|
@@ -0,0 +1,80 @@
|
|
|
|
|
+# Filename: FindFCollada.cmake
|
|
|
|
|
+# Author: CFSworks (17 Mar, 2019)
|
|
|
|
|
+#
|
|
|
|
|
+# Usage:
|
|
|
|
|
+# find_package(FCollada [REQUIRED] [QUIET])
|
|
|
|
|
+#
|
|
|
|
|
+# Once done this will define:
|
|
|
|
|
+# FCOLLADA_FOUND - system has FCollada
|
|
|
|
|
+# FCOLLADA_INCLUDE_DIR - the FCollada include directory
|
|
|
|
|
+#
|
|
|
|
|
+# FCOLLADA_RELEASE_LIBRARY - the filepath of the FCollada release library
|
|
|
|
|
+# FCOLLADA_DEBUG_LIBRARY - the filepath of the FCollada debug library
|
|
|
|
|
+#
|
|
|
|
|
+# FCollada::FCollada - The recommended FCollada library to link against
|
|
|
|
|
+#
|
|
|
|
|
+
|
|
|
|
|
+# Find the FCollada include files
|
|
|
|
|
+find_path(FCOLLADA_INCLUDE_DIR "FCollada.h" PATH_SUFFIXES "FCollada")
|
|
|
|
|
+
|
|
|
|
|
+# Find the library built for release
|
|
|
|
|
+find_library(FCOLLADA_RELEASE_LIBRARY
|
|
|
|
|
+ NAMES "FCollada" "libFCollada"
|
|
|
|
|
+ "FColladaS" "libFColladaS"
|
|
|
|
|
+ "FColladaU" "libFColladaU"
|
|
|
|
|
+ "FColladaSU" "libFColladaSU"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+# Find the library built for debug
|
|
|
|
|
+find_library(FCOLLADA_DEBUG_LIBRARY
|
|
|
|
|
+ NAMES "FColladaD" "libFColladaD"
|
|
|
|
|
+ "FColladaSD" "libFColladaSD"
|
|
|
|
|
+ "FColladaUD" "libFColladaUD"
|
|
|
|
|
+ "FColladaSUD" "libFColladaSUD"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+mark_as_advanced(FCOLLADA_INCLUDE_DIR)
|
|
|
|
|
+mark_as_advanced(FCOLLADA_RELEASE_LIBRARY)
|
|
|
|
|
+mark_as_advanced(FCOLLADA_DEBUG_LIBRARY)
|
|
|
|
|
+
|
|
|
|
|
+set(_defines)
|
|
|
|
|
+if(FCOLLADA_RELEASE_LIBRARY MATCHES "FCollada[^/]*U" OR
|
|
|
|
|
+ FCOLLADA_DEBUG_LIBRARY MATCHES "FCollada[^/]*U")
|
|
|
|
|
+ list(APPEND _defines "UNICODE")
|
|
|
|
|
+endif()
|
|
|
|
|
+if(NOT MSVC AND
|
|
|
|
|
+ NOT FCOLLADA_RELEASE_LIBRARY MATCHES "FCollada[^/]*S" AND
|
|
|
|
|
+ NOT FCOLLADA_DEBUG_LIBRARY MATCHES "FCollada[^/]*S")
|
|
|
|
|
+ list(APPEND _defines "FCOLLADA_DLL")
|
|
|
|
|
+endif()
|
|
|
|
|
+
|
|
|
|
|
+foreach(_config RELEASE DEBUG)
|
|
|
|
|
+ # Make sure we have lib/includes for this config
|
|
|
|
|
+ if(NOT FCOLLADA_${_config}_LIBRARY OR NOT FCOLLADA_INCLUDE_DIR)
|
|
|
|
|
+ continue()
|
|
|
|
|
+ endif()
|
|
|
|
|
+
|
|
|
|
|
+ if(NOT _HAS_FCOLLADA_LIBRARY)
|
|
|
|
|
+ set(_HAS_FCOLLADA_LIBRARY ON)
|
|
|
|
|
+ add_library(FCollada::FCollada UNKNOWN IMPORTED GLOBAL)
|
|
|
|
|
+
|
|
|
|
|
+ set_target_properties(FCollada::FCollada PROPERTIES
|
|
|
|
|
+ INTERFACE_COMPILE_DEFINITIONS "${_defines}"
|
|
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${FCOLLADA_INCLUDE_DIR}")
|
|
|
|
|
+
|
|
|
|
|
+ endif()
|
|
|
|
|
+
|
|
|
|
|
+ set_property(TARGET FCollada::FCollada
|
|
|
|
|
+ APPEND PROPERTY IMPORTED_CONFIGURATIONS "${_config}")
|
|
|
|
|
+
|
|
|
|
|
+ set_target_properties(FCollada::FCollada PROPERTIES
|
|
|
|
|
+ IMPORTED_LOCATION_${_config} "${FCOLLADA_${_config}_LIBRARY}")
|
|
|
|
|
+
|
|
|
|
|
+endforeach(_config)
|
|
|
|
|
+unset(_config)
|
|
|
|
|
+unset(_defines)
|
|
|
|
|
+
|
|
|
|
|
+include(FindPackageHandleStandardArgs)
|
|
|
|
|
+find_package_handle_standard_args(FCollada DEFAULT_MSG FCOLLADA_INCLUDE_DIR _HAS_FCOLLADA_LIBRARY)
|
|
|
|
|
+
|
|
|
|
|
+unset(_HAS_FCOLLADA_LIBRARY)
|