Settings.cmake 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # This file is part of libigl, a simple c++ geometry processing library.
  2. #
  3. # Copyright (C) 2015 Qingnan Zhou <qnzhou@gmail.com>
  4. #
  5. # This Source Code Form is subject to the terms of the Mozilla Public License
  6. # v. 2.0. If a copy of the MPL was not distributed with this file, You can
  7. # obtain one at http://mozilla.org/MPL/2.0/.
  8. #
  9. # This file is based on PyMesh's unit test setup.
  10. # Include directories to search for source.
  11. INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
  12. GET_FILENAME_COMPONENT(LIBIGL_PATH ${PROJECT_SOURCE_DIR} DIRECTORY)
  13. INCLUDE_DIRECTORIES(${LIBIGL_PATH}/include/)
  14. # Set build type.
  15. SET(CMAKE_BUILD_TYPE Debug)
  16. #SET(CMAKE_BUILD_TYPE Release)
  17. # Create 64 bits binary. 32 bits support is dropped.
  18. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
  19. SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0")
  20. SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os")
  21. SET(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH})
  22. # Set output directories
  23. SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
  24. MAKE_DIRECTORY(${EXECUTABLE_OUTPUT_PATH})
  25. LINK_DIRECTORIES(/opt/local/lib)
  26. SET(CMAKE_MACOSX_RPATH ON)
  27. # Set TEST_DIR definition
  28. ADD_DEFINITIONS(-DTEST_DIR="${PROJECT_SOURCE_DIR}")
  29. # Include current directory
  30. INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
  31. # Include Eigen
  32. #SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
  33. SET(CMAKE_MODULE_PATH ${LIBIGL_PATH}/tutorial/cmake)
  34. FIND_PACKAGE(Eigen REQUIRED)
  35. INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS})
  36. INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS}/unsupported)
  37. ADD_DEFINITIONS(-DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET)
  38. # Add googletest googlemock support
  39. ADD_SUBDIRECTORY(${LIBIGL_PATH}/external/googletest/googlemock
  40. ${CMAKE_CURRENT_BINARY_DIR}/gtest)
  41. SET(GTEST_BOTH_LIBRARIES gtest gmock)
  42. INCLUDE_DIRECTORIES(${gmock_SOURCE_DIR})
  43. INCLUDE_DIRECTORIES(${gmock_SOURCE_DIR}/include)
  44. INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR})
  45. INCLUDE_DIRECTORIES(${gtest_SOURCE_DIR}/include)