CMakeLists.shared 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. if(NOT CMAKELISTS_SHARED_INCLUDED)
  2. set(CMAKELISTS_SHARED_INCLUDED TRUE)
  3. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  4. find_package(OpenMP)
  5. if (OPENMP_FOUND AND NOT WIN32)
  6. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
  7. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
  8. endif()
  9. SET(CMAKE_VERBOSE_MAKEFILE ON)
  10. set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake ${PROJECT_SOURCE_DIR}/cmake)
  11. set(CMAKE_COLOR_MAKEFILE ON)
  12. ############################
  13. ## SEPARATE BUILD OPTIONS ##
  14. ############################
  15. find_package(OpenGL REQUIRED)
  16. find_package(EIGEN REQUIRED)
  17. find_package(LIBIGL REQUIRED)
  18. find_package(NANOGUI REQUIRED)
  19. find_package(GLFW REQUIRED)
  20. if(NOT APPLE)
  21. find_package(GLEW REQUIRED)
  22. endif(NOT APPLE)
  23. if(APPLE)
  24. set(CMAKE_CXX_LINK_FLAGS "-framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo")
  25. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2")
  26. endif (APPLE) #APPLE
  27. if(UNIX AND NOT APPLE)
  28. set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -lGL -lGLU -lrt -lX11 -lXxf86vm -lXrandr -lpthread -lXi -lXcursor -lXinerama ")
  29. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx")
  30. endif(UNIX AND NOT APPLE)
  31. include_directories( ${NANOGUI_INCLUDE_DIRS} )
  32. if(NOT APPLE)
  33. include_directories( ${GLEW_INCLUDE_DIR} )
  34. endif(NOT APPLE)
  35. include_directories( ${EIGEN_INCLUDE_DIR})
  36. include_directories( ${LIBIGL_INCLUDE_DIRS})
  37. include_directories( ${GLFW_INCLUDE_DIR})
  38. include_directories(
  39. /usr/local/include
  40. /opt/local/include
  41. ${PROJECT_SOURCE_DIR}
  42. ${OPENGL_INCLUDE_DIR}
  43. )
  44. link_directories(
  45. /usr/local/lib
  46. /opt/local/lib
  47. ${EIGEN_DIRS}
  48. )
  49. #set(CMAKE_CXX_FLAGS -Wall -W -pedantic -std=c99)
  50. # Disable deprecated opengl code from libigl
  51. add_definitions(-DIGL_OPENGL_4)
  52. IF(CMAKE_BUILD_TYPE MATCHES RELEASE)
  53. add_definitions(-DNDEBUG)
  54. ENDIF(CMAKE_BUILD_TYPE MATCHES RELEASE)
  55. #add_definitions(-DENABLE_XML_SERIALIZATION)
  56. if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  57. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  58. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-register")
  59. endif()
  60. set(SHARED_SOURCES ${LIBIGL_SOURCES})
  61. if(NOT APPLE)
  62. set(SHARED_SOURCES ${SHARED_SOURCES} ${GLEW_SOURCES})
  63. endif(NOT APPLE)
  64. # message(FATAL_ERROR ${LIBIGL_SOURCES})
  65. set(SHARED_LIBRARIES
  66. ${LIBIGL_LIBRARIES}
  67. ${OPENGL_LIBRARIES}
  68. ${NANOGUI_LIBRARY}
  69. ${EIGEN_LIBRARIES}
  70. ${GLEW_LIBRARIES}
  71. ${GLFW_LIBRARIES}
  72. )
  73. #message(FATAL_ERROR ${SHARED_LIBRARIES})
  74. endif(NOT CMAKELISTS_SHARED_INCLUDED)