X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmjasper%2FCMakeLists.txt;h=4ab3071a3470f204a520ac754b29a8642a017156;hb=779c8f5232ad160d353b90d3fa47d0503e17965d;hp=4fa764200de44fc116e5ef1662fa2324084cee4f;hpb=2585af446cc22b6f697afbcd41f24cca810c3eb6;p=gdcm.git diff --git a/src/gdcmjasper/CMakeLists.txt b/src/gdcmjasper/CMakeLists.txt index 4fa76420..4ab3071a 100644 --- a/src/gdcmjasper/CMakeLists.txt +++ b/src/gdcmjasper/CMakeLists.txt @@ -1,9 +1,34 @@ PROJECT(GDCMJASPER C) -# Don't ask me why... -IF(APPLE) - SET(CMAKE_SHARED_LINKER_FLAGS -single_module CACHE STRING "" FORCE) -ENDIF(APPLE) +#----------------------------------------------------------------------------- +# Test how compiler handle the case of a malloc(0). If it returns 0 +# then we are doomed (jasper does not support this case) +IF("NULL_ON_MALLOC_0" MATCHES "^NULL_ON_MALLOC_0$") + STRING(ASCII 35 POUND) + FILE(WRITE ${GDCMJASPER_BINARY_DIR}/jasperNULLmalloc.c + "${POUND}include \n" + "int main() { return (int)malloc(0); }") + MESSAGE(STATUS "Checking if compiler return NULL on malloc(0)") + TRY_RUN(RESULT_NULL_ON_MALLOC_0 COMPILE_NULL_ON_MALLOC_0 + "${GDCMJASPER_BINARY_DIR}" + "${GDCMJASPER_BINARY_DIR}/jasperNULLmalloc.c" + OUTPUT_VARIABLE OUTPUT) + IF(RESULT_NULL_ON_MALLOC_0 EQUAL 0) + MESSAGE(STATUS "Checking if compiler return NULL on malloc(0) -- yes") + SET(NULL_ON_MALLOC_0 1 CACHE INTERNAL "Check if compiler returns NULL on malloc(0)") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeOutput.log + "Determining how compiler implement malloc(0)" + "passed with the following output:\n" + "${OUTPUT}\n" APPEND) + ELSE(RESULT_NULL_ON_MALLOC_0 EQUAL 0) + MESSAGE(STATUS "Checking if compiler returns NULL on malloc(0) -- no") + SET(NULL_ON_MALLOC_0 0 CACHE INTERNAL "Check if compiler returns NULL on malloc(0)") + WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log + "Determining how compiler implement malloc(0)" + "failed with the following output:\n" + "${OUTPUT}\n" APPEND) + ENDIF(RESULT_NULL_ON_MALLOC_0 EQUAL 0) +ENDIF("NULL_ON_MALLOC_0" MATCHES "^NULL_ON_MALLOC_0$") #OPTION(HAVE_LIBJPEG "Do you have ijg" OFF) IF(GDCM_SOURCE_DIR)