FindLIBIGL.cmake 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. # - Try to find the LIBIGL library
  2. # Once done this will define
  3. #
  4. # LIBIGL_FOUND - system has LIBIGL
  5. # LIBIGL_INCLUDE_DIR - the LIBIGL include directory
  6. # LIBIGL_SOURCES - the LIBIGL source files
  7. FIND_PATH(LIBIGL_INCLUDE_DIR igl/readOBJ.h
  8. /usr/include
  9. /usr/local/include
  10. $ENV{LIBIGLROOT}/include
  11. $ENV{LIBIGL_ROOT}/include
  12. $ENV{LIBIGL_DIR}/include
  13. $ENV{LIBIGL_DIR}/inc
  14. ${PROJECT_SOURCE_DIR}/../libigl/include
  15. ${PROJECT_SOURCE_DIR}/../../libigl/include
  16. ${PROJECT_SOURCE_DIR}/../../include
  17. )
  18. if(LIBIGL_INCLUDE_DIR)
  19. set(LIBIGL_FOUND TRUE)
  20. set(LIBIGL_INCLUDE_DIR ${LIBIGL_INCLUDE_DIR} ${LIBIGL_INCLUDE_DIR}/../external/Singular_Value_Decomposition)
  21. if(LIBIGL_USE_STATIC_LIBRARY)
  22. add_definitions(-DIGL_STATIC_LIBRARY)
  23. endif(LIBIGL_USE_STATIC_LIBRARY)
  24. #set(LIBIGL_SOURCES
  25. # ${LIBIGL_INCLUDE_DIR}/igl/viewer/Viewer.cpp
  26. #)
  27. endif(LIBIGL_INCLUDE_DIR)
  28. if(LIBIGL_USE_STATIC_LIBRARY)
  29. set(LIBIGL_LIB_DIRS
  30. /usr/lib
  31. /usr/local/lib
  32. $ENV{LIBIGLROOT}/lib
  33. $ENV{LIBIGL_ROOT}/lib
  34. $ENV{LIBIGL_DIR}/lib
  35. ${PROJECT_SOURCE_DIR}/../libigl/lib
  36. ${PROJECT_SOURCE_DIR}/../../libigl/lib
  37. ${PROJECT_SOURCE_DIR}/../../lib)
  38. FIND_LIBRARY( LIBIGL_LIBRARY NAMES igl PATHS ${LIBIGL_LIB_DIRS})
  39. if(NOT LIBIGL_LIBRARY)
  40. set(LIBIGL_FOUND FALSE)
  41. endif(NOT LIBIGL_LIBRARY)
  42. set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} ${LIBIGL_LIBRARY})
  43. FIND_LIBRARY( LIBIGLEMBREE_LIBRARY NAMES iglembree PATHS ${LIBIGL_LIB_DIRS})
  44. if(NOT LIBIGLEMBREE_LIBRARY)
  45. set(LIBIGL_FOUND FALSE)
  46. endif(NOT LIBIGLEMBREE_LIBRARY)
  47. set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} ${LIBIGLEMBREE_LIBRARY})
  48. find_package(Embree REQUIRED)
  49. FIND_LIBRARY( LIBIGLMATLAB_LIBRARY NAMES iglmatlab PATHS ${LIBIGL_LIB_DIRS})
  50. if(NOT LIBIGLMATLAB_LIBRARY)
  51. set(LIBIGL_FOUND FALSE)
  52. endif(NOT LIBIGLMATLAB_LIBRARY)
  53. set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} ${LIBIGLMATLAB_LIBRARY})
  54. find_package(Matlab REQUIRED)
  55. if(MATLAB_FOUND)
  56. set(LIBIGL_INCLUDE_DIR ${LIBIGL_INCLUDE_DIR} ${MATLAB_INCLUDE_DIR})
  57. set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} ${MATLAB_LIBRARIES})
  58. else(MATLAB_FOUND)
  59. set(LIBIGL_FOUND FALSE)
  60. endif(MATLAB_FOUND)
  61. FIND_LIBRARY( LIBIGLSVD3X3_LIBRARY NAMES iglsvd3x3 PATHS ${LIBIGL_LIB_DIRS})
  62. if(NOT LIBIGLSVD3X3_LIBRARY)
  63. set(LIBIGL_FOUND FALSE)
  64. endif(NOT LIBIGLSVD3X3_LIBRARY)
  65. set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} ${LIBIGLSVD3X3_LIBRARY})
  66. FIND_LIBRARY( LIBIGLVIEWER_LIBRARY NAMES iglviewer PATHS ${LIBIGL_LIB_DIRS})
  67. if(NOT LIBIGLVIEWER_LIBRARY)
  68. set(LIBIGL_FOUND FALSE)
  69. endif(NOT LIBIGLVIEWER_LIBRARY)
  70. set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES} ${LIBIGLVIEWER_LIBRARY})
  71. find_package(OpenMP)
  72. if (OPENMP_FOUND)
  73. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
  74. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
  75. else(OPENMP_FOUND)
  76. set(LIBIGL_FOUND false)
  77. endif(OPENMP_FOUND)
  78. endif(LIBIGL_USE_STATIC_LIBRARY)
  79. if(LIBIGL_FOUND)
  80. if(NOT LIBIGL_FIND_QUIETLY)
  81. message(STATUS "Found LIBIGL: ${LIBIGL_INCLUDE_DIR}")
  82. endif(NOT LIBIGL_FIND_QUIETLY)
  83. else(LIBIGL_FOUND)
  84. if(LIBIGL_FIND_REQUIRED)
  85. message(FATAL_ERROR "could NOT find LIBIGL")
  86. endif(LIBIGL_FIND_REQUIRED)
  87. endif(LIBIGL_FOUND)
  88. MARK_AS_ADVANCED(LIBIGL_INCLUDE_DIR LIBIGL_LIBRARIES IGL_VIEWER_SOURCES)