File: TestCXXFlags.cmake

package info (click to toggle)
spring 0.81.2.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 28,496 kB
  • ctags: 37,096
  • sloc: cpp: 238,659; ansic: 13,784; java: 12,175; awk: 3,428; python: 1,159; xml: 738; perl: 405; sh: 297; makefile: 267; pascal: 228; objc: 192
file content (50 lines) | stat: -rw-r--r-- 1,905 bytes parent folder | download
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
# - Test whether the C++ compiler supports "-fvisibility=hidden"
# Once done this will define
#
# VISIBILITY_HIDDEN - -fvisibility=hidden   if supported, an empty string otherwise.
# VISIBILITY_INLINES_HIDDEN - -fvisibility-inlines-hidden   likewise
#
# Copyright (C) 2008 Tobi Vollebregt
# Copyright (C) 2008 Karl-Robert Ernst
#
# Note: gcc for windows supports these flags, but give lots of errors when compiling, so use only for linux builds

INCLUDE(TestCXXAcceptsFlag)

IF(NOT DEFINED VISIBILITY_HIDDEN)
	CHECK_CXX_ACCEPTS_FLAG(-fvisibility=hidden HAS_VISIBILITY_HIDDEN)
	IF(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
		SET(VISIBILITY_HIDDEN "-fvisibility=hidden")
	ELSE(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
		SET(VISIBILITY_HIDDEN "")
	ENDIF(HAS_VISIBILITY_HIDDEN AND NOT MINGW)
ENDIF(NOT DEFINED VISIBILITY_HIDDEN)
	
IF(NOT DEFINED VISIBILITY_INLINES_HIDDEN)
	CHECK_CXX_ACCEPTS_FLAG(-fvisibility-inlines-hidden HAS_VISIBILITY_INLINES_HIDDEN)
	IF(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
		SET(VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
	ELSE(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
		SET(VISIBILITY_INLINES_HIDDEN "")
	ENDIF(HAS_VISIBILITY_INLINES_HIDDEN AND NOT MINGW)
ENDIF(NOT DEFINED VISIBILITY_INLINES_HIDDEN)

IF(NOT DEFINED SSE_FLAGS)
	CHECK_CXX_ACCEPTS_FLAG("-msse -mfpmath=sse" HAS_SSE_FLAGS)
	IF(HAS_SSE_FLAGS)
		SET(SSE_FLAGS "-msse -mfpmath=sse")
	ELSE(HAS_SSE_FLAGS)
		SET(SSE_FLAGS "")
		message(WARNING "SSE support missing, online play is highly discouraged with this build")
	ENDIF(HAS_SSE_FLAGS)
ENDIF(NOT DEFINED SSE_FLAGS)

IF(NOT DEFINED IEEE_FP_FLAG)
	CHECK_CXX_ACCEPTS_FLAG("-mieee-fp" HAS_IEEE_FP_FLAG)
	IF(HAS_IEEE_FP_FLAG)
		SET(IEEE_FP_FLAG "-mieee-fp")
	ELSE(HAS_IEEE_FP_FLAG)
		message(WARNING "IEEE-FP support missing, online play is highly discouraged with this build")
		SET(IEEE_FP_FLAG "")
	ENDIF(HAS_IEEE_FP_FLAG)
ENDIF(NOT DEFINED IEEE_FP_FLAG)