X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=6bd5a093990c7cda4e4c4e431cddbdbc2c8bc4ed;hb=67103c260bf25e83fcd847e995783614e41cde5d;hp=09b2978219e99a415f4740d8fbcff9675a7ad927;hpb=7b90a94638699fec1143d1928f6a6b6f3c769d54;p=gdcm.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 09b29782..6bd5a093 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,76 +1,104 @@ +#----------------------------------------------------------------------------- +# 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 - gdcmUtil.cxx - gdcmHeader.cxx - gdcmHeaderHelper.cxx - gdcmElValue.cxx - gdcmDictEntry.cxx - gdcmDict.cxx - gdcmDictSet.cxx - gdcmElValSet.cxx - gdcmHeaderIdo.cxx - gdcmFile.cxx - gdcmVR.cxx - gdcmTS.cxx - gdcmJpeg.cxx - gdcmJpeg12.cxx - gdcmJpeg2000.cxx - gdcmRLE.cxx - gdcmParse.cxx - gdcmJpegIdo.cxx + gdcmDebug.cxx + gdcmDicomDir.cxx + gdcmDicomDirElement.cxx + gdcmDicomDirImage.cxx + gdcmDicomDirMeta.cxx + gdcmDicomDirPatient.cxx + gdcmDicomDirSerie.cxx + gdcmDicomDirStudy.cxx + gdcmDict.cxx + gdcmDictEntry.cxx + gdcmDictSet.cxx + gdcmDirList.cxx + gdcmException.cxx + gdcmFile.cxx + gdcmGlobal.cxx + gdcmHeader.cxx + gdcmHeaderEntry.cxx + gdcmHeaderHelper.cxx + gdcmJpeg12.cxx + gdcmJpeg2000.cxx + gdcmJpeg.cxx + gdcmObject.cxx + gdcmParsePixels.cxx + gdcmParser.cxx + gdcmRLE.cxx + gdcmTS.cxx + gdcmUtil.cxx + gdcmVR.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 -DPUB_DICT_PATH=\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\" - COMPILE_FLAGS -D__STDC_LIMIT_MACROS -) +#----------------------------------------------------------------------------- +# __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(WIN32) +IF(UNIX) TARGET_LINK_LIBRARIES(gdcm gdcmijpeg8 gdcmijpeg12 - Wsock32.lib + gdcmljpeg # JPEG lib from xmedcom ) -ELSE(WIN32) +ELSE(UNIX) TARGET_LINK_LIBRARIES(gdcm gdcmijpeg8 gdcmijpeg12 + gdcmljpeg + Wsock32.lib #doesn't exist on cygwin ) -ENDIF(WIN32) \ 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)