X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=63d717e5b79d56e52c7d99271a9752d2b6b91aa8;hb=659604feaaaf9519d03d59d66711f6b4b8290804;hp=c5f999bd3668780d8b1e671a6655041394afc217;hpb=c402879b6af9ae8b2364a210654c864c5283c959;p=gdcm.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c5f999bd..63d717e5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,13 @@ +#----------------------------------------------------------------------------- +# Build jpeg lib first: SUBDIRS(jpeg) -#CXXFLAGS = @CXXFLAGS@ -DPUB_DICT_PATH=\"$(datadir)/gdcm/\" \ -# -D__STDC_LIMIT_MACROS # Refer to stdint.h - +# "jpeglib.h" is defined here: +INCLUDE_DIRECTORIES( + ${GDCM_SOURCE_DIR}/src/jpeg/libijg8 + #${GDCM_SOURCE_DIR}/jpeg/libijg12 #all files have been renamed, appending 12 + #${GDCM_SOURCE_DIR}/jpeg/ljpg # JPEG lib from xmedcom +) SET(libgdcm_la_SOURCES gdcmException.cxx @@ -23,54 +28,67 @@ SET(libgdcm_la_SOURCES gdcmJpeg2000.cxx gdcmRLE.cxx gdcmParse.cxx - gdcmJpegIdo.cxx ) -#Why one should not use ADD_DEFINITIONS -#http://www.cmake.org/pipermail/cmake/2003-September/004286.html -#ADD_DEFINITIONS(-DPUB_DICT_PATH=\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}/\\") -ADD_DEFINITIONS(-D__STDC_LIMIT_MACROS) +#----------------------------------------------------------------------------- +# Why one should not use ADD_DEFINITIONS +# http://www.cmake.org/pipermail/cmake/2003-September/004286.html -SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES} - PROPERTIES - COMPILE_FLAGS -D__STDC_LIMIT_MACROS - COMPILE_FLAGS -DPUB_DICT_PATH=\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\" -) +#----------------------------------------------------------------------------- +# __STDC_LIMIT_MACROS -> Refer to stdint.h +# http://www.cmake.org/pipermail/cmake/2003-October/004369.html +# http://www.cmake.org/pipermail/cmake/2003-October/004373.html + +SET(GDCM_COMPILE_FLAGS + "-D__STDC_LIMIT_MACROS -DPUB_DICT_PATH=\\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\\"" + ) +# SunOS + old gcc fixes: -#libgdcminclude_HEADERS = \ -# gdcmException.h \ -# gdcmHeader.h \ -# gdcmHeaderHelper.h \ -# gdcmCommon.h \ -# gdcm.h \ -# gdcmDictSet.h \ -# gdcmDict.h \ -# gdcmDictEntry.h \ -# gdcmElValue.h \ -# gdcmElValSet.h \ -# gdcmVR.h \ -# gdcmTS.h \ -# gdcmFile.h +INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) +IF(CMAKE_NO_ANSI_STRING_STREAM) +SET(GDCM_COMPILE_FLAGS + "${GDCM_COMPILE_FLAGS} -DGDCM_NO_ANSI_STRING_STREAM" + ) +ENDIF(CMAKE_NO_ANSI_STRING_STREAM) -#EXTRA_DIST = \ -# gdcmUtil.h \ -# gdcmIdo.h \ -# iddcmjpeg.h +#INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake) +#INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) +INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) +CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H) +#MESSAGE(STATUS ${CMAKE_NO_ANSI_STRING_STREAM}) +IF(NOT CMAKE_HAVE_STDINT_H) +SET(GDCM_COMPILE_FLAGS + "${GDCM_COMPILE_FLAGS} -DHAVE_NO_STDINT_H" + ) +ENDIF(NOT CMAKE_HAVE_STDINT_H) +SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES} + PROPERTIES + COMPILE_FLAGS ${GDCM_COMPILE_FLAGS} +) ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} ) -#TODO this is not working out of the box (on the first time) IF(UNIX) TARGET_LINK_LIBRARIES(gdcm gdcmijpeg8 gdcmijpeg12 + gdcmljpeg # JPEG lib from xmedcom ) ELSE(UNIX) TARGET_LINK_LIBRARIES(gdcm gdcmijpeg8 gdcmijpeg12 + gdcmljpeg Wsock32.lib #doesn't exist on cygwin ) -ENDIF(UNIX) \ No newline at end of file +ENDIF(UNIX) + +#The following is not working because when a header file is not found it tries +#to find one in the binary dir +#INSTALL_FILES(/include .h ${libgdcm_la_SOURCES}) +#INSTALL_FILES(/include FILES gdcmIdo.h iddcmjpeg.h) +INSTALL_FILES(/include "\\.h$") + +INSTALL_TARGETS(/lib/ gdcm)