Findassimp.cmake 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  2. set(ASSIMP_ARCHITECTURE "64")
  3. elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
  4. set(ASSIMP_ARCHITECTURE "32")
  5. endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
  6. if(WIN32)
  7. set(ASSIMP_ROOT_DIR CACHE PATH "ASSIMP root directory")
  8. # Find path of each library
  9. find_path(ASSIMP_INCLUDE_DIR
  10. NAMES
  11. assimp/anim.h
  12. HINTS
  13. ${ASSIMP_ROOT_DIR}/include
  14. )
  15. if(MSVC12)
  16. set(ASSIMP_MSVC_VERSION "vc120")
  17. elseif(MSVC14)
  18. set(ASSIMP_MSVC_VERSION "vc140")
  19. endif(MSVC12)
  20. if(MSVC12 OR MSVC14)
  21. find_path(ASSIMP_LIBRARY_DIR
  22. NAMES
  23. assimp-${ASSIMP_MSVC_VERSION}-mt.lib
  24. HINTS
  25. ${ASSIMP_ROOT_DIR}/lib${ASSIMP_ARCHITECTURE}
  26. )
  27. find_library(ASSIMP_LIBRARY_RELEASE assimp-${ASSIMP_MSVC_VERSION}-mt.lib PATHS ${ASSIMP_LIBRARY_DIR})
  28. find_library(ASSIMP_LIBRARY_DEBUG assimp-${ASSIMP_MSVC_VERSION}-mtd.lib PATHS ${ASSIMP_LIBRARY_DIR})
  29. set(ASSIMP_LIBRARY
  30. optimized ${ASSIMP_LIBRARY_RELEASE}
  31. debug ${ASSIMP_LIBRARY_DEBUG}
  32. )
  33. set(ASSIMP_LIBRARIES "ASSIMP_LIBRARY_RELEASE" "ASSIMP_LIBRARY_DEBUG")
  34. FUNCTION(ASSIMP_COPY_BINARIES TargetDirectory)
  35. ADD_CUSTOM_TARGET(AssimpCopyBinaries
  36. COMMAND ${CMAKE_COMMAND} -E copy ${ASSIMP_ROOT_DIR}/bin${ASSIMP_ARCHITECTURE}/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll ${TargetDirectory}/Debug/assimp-${ASSIMP_MSVC_VERSION}-mtd.dll
  37. COMMAND ${CMAKE_COMMAND} -E copy ${ASSIMP_ROOT_DIR}/bin${ASSIMP_ARCHITECTURE}/assimp-${ASSIMP_MSVC_VERSION}-mt.dll ${TargetDirectory}/Release/assimp-${ASSIMP_MSVC_VERSION}-mt.dll
  38. COMMENT "Copying Assimp binaries to '${TargetDirectory}'"
  39. VERBATIM)
  40. ENDFUNCTION(ASSIMP_COPY_BINARIES)
  41. endif()
  42. else(WIN32)
  43. find_path(
  44. assimp_INCLUDE_DIRS
  45. NAMES assimp/postprocess.h assimp/scene.h assimp/version.h assimp/config.h assimp/cimport.h
  46. PATHS /usr/local/include
  47. PATHS /usr/include/
  48. )
  49. find_library(
  50. assimp_LIBRARIES
  51. NAMES assimp
  52. PATHS /usr/local/lib/
  53. PATHS /usr/lib64/
  54. PATHS /usr/lib/
  55. )
  56. if (assimp_INCLUDE_DIRS AND assimp_LIBRARIES)
  57. SET(assimp_FOUND TRUE)
  58. ENDIF (assimp_INCLUDE_DIRS AND assimp_LIBRARIES)
  59. if (assimp_FOUND)
  60. if (NOT assimp_FIND_QUIETLY)
  61. message(STATUS "Found asset importer library: ${assimp_LIBRARIES}")
  62. endif (NOT assimp_FIND_QUIETLY)
  63. else (assimp_FOUND)
  64. if (assimp_FIND_REQUIRED)
  65. message(FATAL_ERROR "Could not find asset importer library")
  66. endif (assimp_FIND_REQUIRED)
  67. endif (assimp_FOUND)
  68. endif(WIN32)