X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmjasper%2FCMakeLists.txt;h=4ab3071a3470f204a520ac754b29a8642a017156;hb=bbe839f4ab724c326fddb9c7ac156d14d9c6da26;hp=e9633774611556cdfd1227080605738b83dd454e;hpb=b384f98908abe0173cad0745c34b7d8cf2cdd715;p=gdcm.git diff --git a/src/gdcmjasper/CMakeLists.txt b/src/gdcmjasper/CMakeLists.txt index e9633774..4ab3071a 100644 --- a/src/gdcmjasper/CMakeLists.txt +++ b/src/gdcmjasper/CMakeLists.txt @@ -1,3 +1,42 @@ PROJECT(GDCMJASPER C) +#----------------------------------------------------------------------------- +# 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) + SET(HAVE_LIBJPEG ON CACHE BOOL "Do you have ijg" FORCE) +ELSE(GDCM_SOURCE_DIR) + SET(HAVE_LIBJPEG OFF CACHE BOOL "Do you have ijg" FORCE) +ENDIF(GDCM_SOURCE_DIR) + +MARK_AS_ADVANCED(HAVE_LIBJPEG) + SUBDIRS(src)