55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
|   | 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)
 |