changed: auto add updateData callback to stages so that stagedata can be updated...
[opensg.git] / CMake / UpdateCompiler.cmake
blobea2c0c6a89a33d82dc9fa6fd26c79f81f4dbba3c
2 MESSAGE(STATUS "Update Compiler Settings")
4 IF(CMAKE_COMPILER_IS_GNUCC)
6     IF(LINUX OR APPLE)
7         IF(OSG_ENABLE_SSE2)
9             MESSAGE(STATUS "Apply sse2 settings")
11             IF(CMAKE_CXX_FLAGS)
12                 STRING(REGEX MATCH "-msse2 -mfpmath=sse" 
13                                    SSE2_CXX_RES ${CMAKE_CXX_FLAGS})
14             ENDIF(CMAKE_CXX_FLAGS)
16             IF(CMAKE_C_FLAGS)
17                 STRING(REGEX MATCH "-msse2 -mfpmath=sse" 
18                                    SSE2_C_RES ${CMAKE_C_FLAGS})
19             ENDIF(CMAKE_C_FLAGS)
21             IF(NOT SSE2_CXX_RES)
22                 SET(TMP_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mfpmath=sse")
25                 SET(CMAKE_CXX_FLAGS ${TMP_CXX_FLAGS} 
26                                     CACHE STRING "OpenSG defaults" FORCE )
27             ENDIF(NOT SSE2_CXX_RES)
29             IF(NOT SSE2_C_RES)
30                 SET(TMP_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mfpmath=sse")
33                 SET(CMAKE_C_FLAGS ${TMP_C_FLAGS} 
34                                   CACHE STRING "OpenSG defaults" FORCE )
35             ENDIF(NOT SSE2_C_RES)
36             
38         ELSE(OSG_ENABLE_SSE2)
40             MESSAGE(STATUS "Remove sse2 settings")
42             IF(CMAKE_CXX_FLAGS)
43                 STRING(REPLACE " -msse2 -mfpmath=sse" "" 
44                        TMP_CXX_FLAGS ${CMAKE_CXX_FLAGS})
45             ENDIF(CMAKE_CXX_FLAGS)
47             IF(CMAKE_C_FLAGS)
48                 STRING(REPLACE " -msse2 -mfpmath=sse" "" 
49                        TMP_C_FLAGS ${CMAKE_C_FLAGS})
50             ENDIF(CMAKE_C_FLAGS)
52             SET(CMAKE_CXX_FLAGS ${TMP_CXX_FLAGS} 
53                                 CACHE STRING "OpenSG defaults" FORCE )
54             SET(CMAKE_C_FLAGS   ${TMP_C_FLAGS} 
55                                 CACHE STRING "OpenSG defaults" FORCE )
56             
58         ENDIF(OSG_ENABLE_SSE2)
59     ENDIF(LINUX OR APPLE)
61     IF(CMAKE_CXX_FLAGS)
62        STRING(REGEX MATCH "__STDC_FORMAT_MACROS" 
63        STDFORMAT_CXX_RES ${CMAKE_CXX_FLAGS})
64     ENDIF(CMAKE_CXX_FLAGS)
66     IF(CMAKE_C_FLAGS)
67         STRING(REGEX MATCH "__STDC_FORMAT_MACROS" 
68                STDFORMAT_C_RES ${CMAKE_C_FLAGS})
69     ENDIF(CMAKE_C_FLAGS)
71     IF(NOT STDFORMAT_CXX_RES)
72       SET(CMAKE_CXX_FLAGS   "${CMAKE_CXX_FLAGS} -D__STDC_FORMAT_MACROS"
73           CACHE STRING "OpenSG defaults" FORCE )
74     ENDIF(NOT STDFORMAT_CXX_RES)
76     IF(NOT STDFORMAT_C_RES)
77       SET(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -D__STDC_FORMAT_MACROS"
78           CACHE STRING "OpenSG defaults" FORCE )
79     ENDIF(NOT STDFORMAT_C_RES)
81     ###########
82     # GV stuff
83     ###########
85     IF(CMAKE_BUILD_TYPE STREQUAL "DebugGV" OR CMAKE_BUILD_TYPE STREQUAL "ReleaseGV")
86       SET(OSG_ADD_CXX_FLAGS " -Wall -Wextra -Wno-unused-parameter")
87       SET(OSG_ADD_C_FLAGS " -Wall -Wextra -Wno-unused-parameter")
89       IF(CMAKE_BUILD_TYPE STREQUAL "ReleaseGV")
90       SET(OSG_ADD_CXX_FLAGS " ${OSG_ADD_CXX_FLAGS} -Wno-strict-aliasing")
91       ENDIF(CMAKE_BUILD_TYPE STREQUAL "ReleaseGV")
92     ELSE()
93       SET(OSG_ADD_CXX_FLAGS )
94       SET(OSG_ADD_C_FLAGS )
95     ENDIF()
97 ENDIF(CMAKE_COMPILER_IS_GNUCC)
99 IF(MSVC)
100   IF(OSG_DISABLE_MICROSOFT_SECURE_CXXX)
101     ADD_DEFINITIONS("-D_CRT_SECURE_NO_DEPRECATE")
102     ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS")
103     ADD_DEFINITIONS("-D_CRT_NONSTDC_NO_DEPRECATE")
104     ADD_DEFINITIONS("-D_SECURE_SCL=0")
105     ADD_DEFINITIONS("-D_SCL_SECURE_NO_WARNINGS")
106     ADD_DEFINITIONS("-D_SCL_SECURE_NO_DEPRECATE")
107   ELSE()
108     IF(OSG_DISABLE_MICROSOFT_SECURE_CXXX_DEBUG)
109     ENDIF()
110     IF(OSG_DISABLE_MICROSOFT_SECURE_CXXX_RELEASE)
111     ENDIF()
112   ENDIF()
114   IF(OSG_DISABLE_MS_ITERATOR_DEBUGGING)
115     ADD_DEFINITIONS("-D_HAS_ITERATOR_DEBUGGING=0")
116   ENDIF(OSG_DISABLE_MS_ITERATOR_DEBUGGING)
117 ENDIF(MSVC)