From ad620650da137b2efe17700b9595d62333940456 Mon Sep 17 00:00:00 2001 From: malaterre Date: Wed, 8 Jun 2005 13:38:13 +0000 Subject: [PATCH] ENH: Adding support for checking if inline keyword is supported by C compiler --- src/gdcmjpegls/CMakeLists.txt | 53 +++++++++++++++---------------- src/gdcmjpegls/jpegls_config.h.in | 6 ++++ 2 files changed, 31 insertions(+), 28 deletions(-) diff --git a/src/gdcmjpegls/CMakeLists.txt b/src/gdcmjpegls/CMakeLists.txt index 36dd4d94..7aca453f 100644 --- a/src/gdcmjpegls/CMakeLists.txt +++ b/src/gdcmjpegls/CMakeLists.txt @@ -3,34 +3,31 @@ PROJECT(GDCMJPEGLS) #----------------------------------------------------------------------------- # Test if os defines a lenght for sockaddr # only doing the test when we have sys/socket -IF( ${CMAKE_HAVE_C_INLINE} ) - MESSAGE(FATAL_ERROR "bla"); - IF("HAVE_C_INLINE" MATCHES "^HAVE_C_INLINE$") - STRING(ASCII 35 POUND) - FILE(WRITE ${GDCMJPEGLS_BINARY_DIR}/gdcmTestInline.c - "inline int foo() { return 0; }") - MESSAGE(STATUS "Checking if C compiler has inline keyword") - TRY_COMPILE(HAVE_C_INLINE - ${GDCMJPEGLS_BINARY_DIR} - ${GDCMJPEGLS_BINARY_DIR}/gdcmTestHAVESALEN.c - OUTPUT_VARIABLE OUTPUT) - IF(HAVE_C_INLINE) - MESSAGE(STATUS "Checking if C compiler has inline keyword -- yes") - SET(HAVE_C_INLINE 1 CACHE INTERNAL "Support if C compiler has inline keyword") - WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log - "Determining if C compiler has inline keyword" - "passed with the following output:\n" - "${OUTPUT}\n" APPEND) - ELSE(HAVE_C_INLINE) - MESSAGE(STATUS "Checking if C compiler has inline keyword -- no") - SET(HAVE_C_INLINE 0 CACHE INTERNAL "Support if C compiler has inline keyword") - WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log - "Determining if C compiler has inline keyword" - "failed with the following output:\n" - "${OUTPUT}\n" APPEND) - ENDIF(HAVE_C_INLINE) - ENDIF("HAVE_C_INLINE" MATCHES "^HAVE_C_INLINE$") -ENDIF( ${CMAKE_HAVE_C_INLINE} ) +IF("HAVE_C_INLINE" MATCHES "^HAVE_C_INLINE$") + STRING(ASCII 35 POUND) + FILE(WRITE ${GDCMJPEGLS_BINARY_DIR}/gdcmTestInline.c + "inline int foo() { return 0; }") + MESSAGE(STATUS "Checking if C compiler has inline keyword") + TRY_COMPILE(HAVE_C_INLINE + ${GDCMJPEGLS_BINARY_DIR} + ${GDCMJPEGLS_BINARY_DIR}/gdcmTestInline.c + OUTPUT_VARIABLE OUTPUT) + IF(HAVE_C_INLINE) + MESSAGE(STATUS "Checking if C compiler has inline keyword -- yes") + SET(HAVE_C_INLINE 1 CACHE INTERNAL "Support if C compiler has inline keyword") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log + "Determining if C compiler has inline keyword" + "passed with the following output:\n" + "${OUTPUT}\n" APPEND) + ELSE(HAVE_C_INLINE) + MESSAGE(STATUS "Checking if C compiler has inline keyword -- no") + SET(HAVE_C_INLINE 0 CACHE INTERNAL "Support if C compiler has inline keyword") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log + "Determining if C compiler has inline keyword" + "failed with the following output:\n" + "${OUTPUT}\n" APPEND) + ENDIF(HAVE_C_INLINE) +ENDIF("HAVE_C_INLINE" MATCHES "^HAVE_C_INLINE$") CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) CONFIGURE_FILE( diff --git a/src/gdcmjpegls/jpegls_config.h.in b/src/gdcmjpegls/jpegls_config.h.in index 159256d0..5b957f12 100644 --- a/src/gdcmjpegls/jpegls_config.h.in +++ b/src/gdcmjpegls/jpegls_config.h.in @@ -7,6 +7,12 @@ #cmakedefine JPEGLSSTATIC +#cmakedefine HAVE_C_INLINE + +#ifndef HAVE_C_INLINE +#define inline +#endif + /* a function referenced thru EXTERNs: */ #if defined( _WIN32 ) && defined (JPEGLSDLL) #define GLOBAL(type) __declspec(dllexport) type -- 2.48.1