]> git.uio.no Git - u/mrichter/AliRoot.git/blob - cmake/modules/CheckCompiler.cmake.ori
Fixing T0 compilation
[u/mrichter/AliRoot.git] / cmake / modules / CheckCompiler.cmake.ori
1 # -*- mode: cmake -*-
2 MACRO ( Check_Compiler )
3
4
5 # Set a default build type for single-configuration
6 # CMake generators if no build type is set.
7 if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
8    set(CMAKE_BUILD_TYPE RelWithDebInfo)
9 endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
10
11 if (CMAKE_SYSTEM_NAME MATCHES Linux)
12    MESSAGE("--- Found a Linux ssytem")
13    if (CMAKE_COMPILER_IS_GNUCXX)
14       MESSAGE("--- Found GNU compiler collection")
15 #      set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
16 #      set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}")
17       # we profile...
18 #      if(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile)
19 #        set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
20 #        set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
21 #      endif(CMAKE_BUILD_TYPE_TOLOWER MATCHES profile)
22
23    # Select flags.
24    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
25    set(CMAKE_CXX_FLAGS_RELEASE        "-O2")
26 #   set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
27    set(CMAKE_CXX_FLAGS_DEBUG          "-g")
28    set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")
29    set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
30    set(CMAKE_CXX_FLAGS_ARRAY_CHECK    "-g3 -fno-inline -ftest-coverage -fprofile-arcs -fstack-protector")
31    set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
32    set(CMAKE_C_FLAGS_RELEASE          "-O2")
33 #   set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
34    set(CMAKE_C_FLAGS_DEBUG            "-g")
35    set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline")
36    set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
37    set(CMAKE_C_FLAGS_ARRAY_CHECK      "-g3 -fno-inline -ftest-coverage -fprofile-arcs -fstack-protector")
38
39 #   set ( CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
40 #   set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common")
41    endif (CMAKE_COMPILER_IS_GNUCXX)
42
43    if (CMAKE_C_COMPILER MATCHES "icc")
44       MESSAGE("--- Found Intel compiler collection")
45 #      set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}")
46 #      set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}")
47
48    # Select flags.
49    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
50    set(CMAKE_CXX_FLAGS_RELEASE        "-O2")
51    set(CMAKE_CXX_FLAGS_DEBUG          "-O2 -g -0b0 -noalign")
52    set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g -Ob0 -noalign")
53    set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
54    set(CMAKE_C_FLAGS_RELEASE          "-O2")
55    set(CMAKE_C_FLAGS_DEBUG            "-O2 -g -Ob0 -noalign")
56    set(CMAKE_C_FLAGS_DEBUGFULL        "-g -Ob0 -noalign")
57
58 #   set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   -ansi -Wpointer-arith -fno-common")
59 #   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wpointer-arith -fno-exceptions -fno-common")
60
61    endif (CMAKE_C_COMPILER MATCHES "icc")
62 endif (CMAKE_SYSTEM_NAME MATCHES Linux)
63
64
65 if (CMAKE_SYSTEM_NAME MATCHES Darwin)
66    EXEC_PROGRAM("sw_vers -productVersion | cut -d . -f 1-2" OUTPUT_VARIABLE MAC_OS_VERSION)
67    MESSAGE("--- Found a Mac OS X System ${MAC_OS_VERSION}")
68    if (CMAKE_COMPILER_IS_GNUCXX)
69       MESSAGE("--- Found GNU compiler collection")
70
71       STRING(COMPARE EQUAL "10.5" "${MAC_OS_VERSION}" MAC_OS_10_5)
72       IF(MAC_OS_10_5)
73         SET(CMAKE_CXX_FLAGS "-m64")
74         SET(CMAKE_C_FLAGS "-m64")
75         SET(CMAKE_Fortran_FLAGS "-m64")
76       ENDIF(MAC_OS_10_5)
77
78       SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -flat_namespace -single_module -undefined dynamic_lookup")
79       SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -flat_namespace -single_module -undefined dynamic_lookup")
80 #      MESSAGE("C_FLAGS: ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")
81 #      MESSAGE("CXX_FLAGS: ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
82
83       # Select flags.
84       set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
85       set(CMAKE_CXX_FLAGS_RELEASE        "-O2")
86       set(CMAKE_CXX_FLAGS_DEBUG          "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
87       set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline")
88       set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
89       set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g")
90       set(CMAKE_C_FLAGS_RELEASE          "-O2")
91       set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
92       set(CMAKE_C_FLAGS_DEBUGFULL        "-g3 -fno-inline")
93       set(CMAKE_C_FLAGS_PROFILE          "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
94
95       
96       
97       endif (CMAKE_COMPILER_IS_GNUCXX)
98
99 endif (CMAKE_SYSTEM_NAME MATCHES Darwin)
100
101
102
103 STRING(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)
104
105 #if(CMAKE_BUILD_TYPE_UPPER MATCHES "RELWITHDEBINFO")
106 #  SET (ALL_CXX_FLAGS ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
107 #endif(CMAKE_BUILD_TYPE_UPPER MATCHES "RELWITHDEBINFO")
108 #if(CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG")
109 #  SET (ALL_CXX_FLAGS ${CMAKE_CXX_FLAGS_DEBUG})
110 #endif(CMAKE_BUILD_TYPE_UPPER MATCHES "DEBUG")
111
112 SET (BLA CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UPPER})
113
114 MESSAGE("--- Build Type: ${CMAKE_BUILD_TYPE}")
115 #MESSAGE("--- Build Type: ${${BLA}}")
116 MESSAGE("--- Compiler Flags: ${CMAKE_CXX_FLAGS} ${${BLA}}")
117
118 ENDMACRO ( Check_Compiler )