File: TestInline.cmake

package info (click to toggle)
libsndfile 1.2.2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,180 kB
  • sloc: ansic: 55,354; cpp: 1,108; python: 791; makefile: 545; sh: 538; cs: 122
file content (54 lines) | stat: -rw-r--r-- 2,270 bytes parent folder | download | duplicates (5)
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
macro (TEST_INLINE)
	if (NOT DEFINED INLINE_CODE)
		message (STATUS "Checking for inline...")
		set (INLINE_KEYWORD "inline")
		configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c)
		try_compile (HAVE_INLINE "${CMAKE_CURRENT_BINARY_DIR}"
                    "${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c")
		if (HAVE_INLINE)
			message (STATUS "Checking for inline... supported")
		else ()
			message (STATUS "Checking for inline... not supported")
			
			message (STATUS "Checking for __inline...")
			set (INLINE_KEYWORD "__inline")
			configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c)
			try_compile (HAVE___INLINE "${CMAKE_CURRENT_BINARY_DIR}"
                    "${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c")
			if (HAVE___INLINE)
				message (STATUS "Checking for __inline... supported")
			else ()
				message (STATUS "Checking for __inline... not supported")
				
				message (STATUS "Checking for __inline__...")
				set (INLINE_KEYWORD "__inline__")
				configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c)
				try_compile (HAVE___INLINE "${CMAKE_CURRENT_BINARY_DIR}"
					"${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c")
				if (HAVE___INLINE)
					message (STATUS "Checking for __inline__... supported")
					
					message (STATUS "Checking for __inline__...")
					set (INLINE_KEYWORD "__inline__")
					configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/cmake/TestInline.c)
					try_compile (HAVE___INLINE__ "${CMAKE_CURRENT_BINARY_DIR}"
						"${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c")
				else ()
					message (STATUS "Checking for __inline__... not supported")
					set (INLINE_KEYWORD "")
				endif ()
				
			endif ()			
		endif ()
		
		if (HAVE_INLINE)
			set (INLINE_CODE "/* #undef inline */" CACHE INTERNAL "")
		elseif (HAVE___INLINE)
			set (INLINE_CODE "#define inline __inline" CACHE INTERNAL "")
		elseif (HAVE___INLINE__)
			set (INLINE_CODE "#define inline __inline__" CACHE INTERNAL "")
		else ()
			set (INLINE_CODE "#define inline " CACHE INTERNAL "")
		endif ()
	endif ()
endmacro (TEST_INLINE)