40
40
INCLUDE(GNUInstallDirs)
41
41
#===========================================================
42
42
# HACK!!! If the version of gcc is 4.8 or greater, we add -ftrack-macro-expansion=0
43
# to compiler to reduce the memory consumption during compilation step.
43
# and -save-temps into compiler to reduce the memory consumption during compilation.
44
44
# See http://bugs.debian.org/726009 for more information
45
45
# Can be removed later, if gcc fixes its regression
46
46
# Taken from http://stackoverflow.com/questions/4058565/check-gcc-minor-in-cmake
48
48
EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
49
49
IF (GCC_VERSION VERSION_GREATER 4.8 OR GCC_VERSION VERSION_EQUAL 4.8)
50
MESSAGE(STATUS "GCC Version >= 4.8. Adding -ftrack-macro-expansion=0")
51
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftrack-macro-expansion=0 ")
54
#===========================================================
50
MESSAGE(STATUS "GCC Version >= 4.8. Adding -ftrack-macro-expansion=0 and -save-temps")
51
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftrack-macro-expansion=0 -save-temps")
54
#===========================================================
56
IF ("${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}" MATCHES ".*clang")
57
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth-512")
60
#===========================================================
61
ADD_DEFINITIONS(" -DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast ")
55
62
IF (CMAKE_CXX_FLAGS)
56
63
#If flags are set, add only neccessary flags
58
65
SET(CMAKE_VERBOSE_MAKEFILE 1)
59
66
SET(CMAKE_BUILD_TYPE Debug)
60
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast -DYADE_DEBUG")
67
ADD_DEFINITIONS("-DYADE_DEBUG")
62
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast -fPIC")
69
SET(CMAKE_BUILD_TYPE Release)
70
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
64
72
ELSE (CMAKE_CXX_FLAGS)
65
73
#If flags are not set, add all useful flags
67
75
SET(CMAKE_VERBOSE_MAKEFILE 1)
68
76
SET(CMAKE_BUILD_TYPE Debug)
69
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast -DYADE_DEBUG -Wall -fPIC -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security")
77
ADD_DEFINITIONS("-DYADE_DEBUG")
78
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -fPIC -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security")
71
80
SET(CMAKE_BUILD_TYPE Release)
72
SET(CMAKE_CXX_FLAGS "-DYADE_PTR_CAST=static_pointer_cast -DYADE_CAST=static_cast -Wall -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -s")
81
SET(CMAKE_CXX_FLAGS "-Wall -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -s")
74
83
ENDIF (CMAKE_CXX_FLAGS)
75
84
#===========================================================
256
265
MESSAGE(STATUS "Found Metis")
257
266
SET(CONFIGURED_FEATS "${CONFIGURED_FEATS} LinSolv")
258
267
ELSE(CHOLMOD_FOUND AND OPENBLAS_FOUND AND METIS_FOUND)
259
MESSAGE(STATUS "CHOLMOD NOT found, LINSOLV disabled")
268
MESSAGE(STATUS "Missing dependency for LINSOLV, disabled")
260
269
SET(DISABLED_FEATS "${DISABLED_FEATS} LinSolv")
261
270
SET(ENABLE_LINSOLV OFF)
262
271
ENDIF(CHOLMOD_FOUND AND OPENBLAS_FOUND AND METIS_FOUND)
378
387
TARGET_LINK_LIBRARIES(boot yade)
381
TARGET_LINK_LIBRARIES(yade vtkHybrid)
390
IF(${VTK_MAJOR_VERSION} EQUAL 6)
391
TARGET_LINK_LIBRARIES(yade ${VTK_LIBRARIES})
392
ADD_DEFINITIONS("-DYADE_VTK6")
393
ELSE(${VTK_MAJOR_VERSION} EQUAL 6)
394
TARGET_LINK_LIBRARIES(yade vtkHybrid)
395
ENDIF(${VTK_MAJOR_VERSION} EQUAL 6)
382
396
ENDIF(ENABLE_VTK)
384
398
TARGET_LINK_LIBRARIES(yade _GLViewer ${GUI_LIBS})