123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- # http://stackoverflow.com/a/18234926/148668
- # -stdlib=libc++ breaks gcc (for clang, the correct stdlib will be used with
- # -std=c++11 anyway)
- macro(remove_cxx_flag flag)
- string(REPLACE "${flag}" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- endmacro()
- remove_cxx_flag("-stdlib=libc++")
- if(NOT CMAKELISTS_SHARED_INCLUDED)
- set(CMAKELISTS_SHARED_INCLUDED TRUE)
- IF(MSVC)
- ### Enable parallel compilation for Visual Studio
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
- ELSE(MSVC)
- #### Libigl requires a modern C++ compiler that supports c++11
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- ENDIF(MSVC)
- find_package(OpenMP)
- if (OPENMP_FOUND AND NOT WIN32)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- endif()
- SET(CMAKE_VERBOSE_MAKEFILE ON)
- set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../cmake ${PROJECT_SOURCE_DIR}/cmake)
- set(CMAKE_COLOR_MAKEFILE ON)
- ############################
- ## SEPARATE BUILD OPTIONS ##
- ############################
- find_package(OpenGL REQUIRED)
- find_package(EIGEN REQUIRED)
- find_package(GLFWH REQUIRED)
- #find_package(LIBIGL REQUIRED)
- #find_package(NANOGUI REQUIRED)
- if(NOT APPLE)
- find_package(GLEW REQUIRED)
- endif(NOT APPLE)
- if(APPLE)
- set(CMAKE_CXX_LINK_FLAGS "-framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2")
- endif (APPLE) #APPLE
- if(UNIX AND NOT APPLE)
- set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -lGL -lGLU -lrt -lX11 -lXxf86vm -lXrandr -lpthread -lXi -lXcursor -lXinerama ")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx")
- endif(UNIX AND NOT APPLE)
- #include_directories( ${NANOGUI_INCLUDE_DIRS} )
- if(NOT APPLE)
- include_directories( ${GLEW_INCLUDE_DIR} )
- endif(NOT APPLE)
- include_directories( ${EIGEN_INCLUDE_DIR})
- #include_directories( ${LIBIGL_INCLUDE_DIRS})
- include_directories( ${GLFW_INCLUDE_DIR})
- include_directories(
- /usr/local/include
- /opt/local/include
- ${PROJECT_SOURCE_DIR}
- ${OPENGL_INCLUDE_DIR}
- )
- link_directories(
- /usr/local/lib
- ${EIGEN_DIRS}
- )
- #set(CMAKE_CXX_FLAGS -Wall -W -pedantic -std=c99)
- # Disable deprecated opengl code from libigl
- add_definitions(-DIGL_OPENGL_4)
- IF(CMAKE_BUILD_TYPE MATCHES RELEASE)
- add_definitions(-DNDEBUG)
- ENDIF(CMAKE_BUILD_TYPE MATCHES RELEASE)
- #add_definitions(-DENABLE_XML_SERIALIZATION)
- if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-register")
- endif()
- # set(SHARED_SOURCES ${LIBIGL_SOURCES})
- if(NOT APPLE)
- set(SHARED_SOURCES ${SHARED_SOURCES} ${GLEW_SOURCES})
- endif(NOT APPLE)
- # message(FATAL_ERROR ${LIBIGL_SOURCES})
- set(SHARED_LIBRARIES
- # ${LIBIGL_LIBRARIES}
- ${OPENGL_LIBRARIES}
- # ${NANOGUI_LIBRARY}
- ${EIGEN_LIBRARIES}
- ${GLEW_LIBRARIES}
- # ${GLFW_LIBRARIES}
- )
- endif(NOT CMAKELISTS_SHARED_INCLUDED)
|