-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
63 lines (58 loc) · 2.25 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
include (plugin)
openflipper_plugin ( INSTALLDATA Icons
TYPES POLYMESH TRIANGLEMESH )
# For CGAL and Boost
set(CMAKE_MODULE_LINKER_FLAGS "-lboost_system -lCGAL -lCGAL_Core ${CMAKE_MODULE_LINKER_FLAGS}")
if(NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "-frounding-math ${CMAKE_CXX_FLAGS}")
endif()
# Compiler flags
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") #Tests for Clang and AppleClang which is defined in CMake 3.0 and higher
message("Clang.")
set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++ -Wall -g ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
# set(CMAKE_CXX_FLAGS_DEBUG "-g")
add_definitions(-DSHAPEOP_CLANG)
add_definitions(-DSHAPEOP_EXPORT)
set(OPENMP OFF CACHE BOOL "OpenMP")
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
message("GCC.")
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -g ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG")
# set(CMAKE_CXX_FLAGS_DEBUG "-g")
add_definitions(-DSHAPEOP_GCC)
add_definitions(-DSHAPEOP_EXPORT)
set(OPENMP ON CACHE BOOL "OpenMP")
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
message("ICC.")
if(WIN32)
set(CMAKE_CXX_FLAGS "/Qstd=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "/O3 /DNDEBUG")
add_definitions(/DSHAPEOP_ICC)
add_definitions(/DSHAPEOP_EXPORT)
else()
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
add_definitions(-DSHAPEOP_ICC)
add_definitions(-DSHAPEOP_EXPORT)
endif()
set(OPENMP OFF CACHE BOOL "OpenMP")
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
message("MSVC.")
set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
set(CMAKE_CXX_FLAGS_RELEASE "/MT /Ox /Ot /fp:fast /GS- /GL /DNDEBUG")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /INCREMENTAL:NO /OPT:REF")
add_definitions(/DSHAPEOP_MSVC)
add_definitions(/DSHAPEOP_EXPORT)
set(OPENMP ON CACHE BOOL "OpenMP")
else()
message( FATAL_ERROR "CXX compiler not recognized. CMake will quit." )
endif()
# Find Eigen3
find_package(Eigen3 REQUIRED)
include_directories(${EIGEN3_INCLUDE_DIR})
if(NOT EIGEN3_FOUND)
message(ERROR " EIGEN not found.")
else()
message("EIGEN found.")
endif()