| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # 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()
- # Identify the configs which we have available
- set(_configs)
- if(FCOLLADA_INCLUDE_DIR)
- if(FCOLLADA_RELEASE_LIBRARY)
- list(APPEND _configs RELEASE)
- endif()
- if(FCOLLADA_DEBUG_LIBRARY)
- list(APPEND _configs DEBUG)
- endif()
- if(_configs)
- 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()
- endif()
- foreach(_config ${_configs})
- 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(_configs)
- unset(_defines)
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(FCollada DEFAULT_MSG FCOLLADA_INCLUDE_DIR _HAS_FCOLLADA_LIBRARY)
- unset(_HAS_FCOLLADA_LIBRARY)
|