1macro (TEST_INLINE) 2 if (NOT DEFINED INLINE_CODE) 3 message (STATUS "Checking for inline...") 4 set (INLINE_KEYWORD "inline") 5 configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c) 6 try_compile (HAVE_INLINE "${CMAKE_CURRENT_BINARY_DIR}" 7 "${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c") 8 if (HAVE_INLINE) 9 message (STATUS "Checking for inline... supported") 10 else () 11 message (STATUS "Checking for inline... not supported") 12 13 message (STATUS "Checking for __inline...") 14 set (INLINE_KEYWORD "__inline") 15 configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c) 16 try_compile (HAVE___INLINE "${CMAKE_CURRENT_BINARY_DIR}" 17 "${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c") 18 if (HAVE___INLINE) 19 message (STATUS "Checking for __inline... supported") 20 else () 21 message (STATUS "Checking for __inline... not supported") 22 23 message (STATUS "Checking for __inline__...") 24 set (INLINE_KEYWORD "__inline__") 25 configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c) 26 try_compile (HAVE___INLINE "${CMAKE_CURRENT_BINARY_DIR}" 27 "${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c") 28 if (HAVE___INLINE) 29 message (STATUS "Checking for __inline__... supported") 30 31 message (STATUS "Checking for __inline__...") 32 set (INLINE_KEYWORD "__inline__") 33 configure_file (cmake/TestInline.c.in ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/cmake/TestInline.c) 34 try_compile (HAVE___INLINE__ "${CMAKE_CURRENT_BINARY_DIR}" 35 "${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/TestInline.c") 36 else () 37 message (STATUS "Checking for __inline__... not supported") 38 set (INLINE_KEYWORD "") 39 endif () 40 41 endif () 42 endif () 43 44 if (HAVE_INLINE) 45 set (INLINE_CODE "/* #undef inline */" CACHE INTERNAL "") 46 elseif (HAVE___INLINE) 47 set (INLINE_CODE "#define inline __inline" CACHE INTERNAL "") 48 elseif (HAVE___INLINE__) 49 set (INLINE_CODE "#define inline __inline__" CACHE INTERNAL "") 50 else () 51 set (INLINE_CODE "#define inline " CACHE INTERNAL "") 52 endif () 53 endif () 54endmacro (TEST_INLINE) 55