X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Dicts%2FCMakeLists.txt;h=a26115476e2c79991567bfb53e2d78e2e9564082;hb=eaf1ca262cccaac8f8560427a305f10cc6f9e517;hp=d89e386b5ae2741409ef9a4b0c916bad395c72a8;hpb=7b90a94638699fec1143d1928f6a6b6f3c769d54;p=gdcm.git diff --git a/Dicts/CMakeLists.txt b/Dicts/CMakeLists.txt index d89e386b..a2611547 100644 --- a/Dicts/CMakeLists.txt +++ b/Dicts/CMakeLists.txt @@ -1,16 +1,46 @@ -#SET(dictsdir -# ${GDCM_SOURCE_DIR}/gdcm -#) - -#SET(dicts_DATA -# dicomV3.dic -# README -#) - -#SET(EXTRA_DIST -# dicomV3.dic -#) - -#IF(UNIX) - INSTALL_FILES(${GDCM_DATA_DIR} FILES dicomV3.dic README) -#ENDIF(UNIX) \ No newline at end of file +#----------------------------------------------------------------------------- +# DICOM dictionary stuff + + +INSTALL_FILES(${GDCM_DATA_DIR} FILES + dicomV3.dic + dicomVR.dic + dicomTS.dic + DicomDir.dic +) + +# Nice trick to avoid creating a .h file each time we compile gdcm +# Since CONFIGURE_FILE do a 'copy if different' +# We have to write the file here since is contains 'DICOM_DICTIONARY' +# Which is a variable afterward... +#FILE(WRITE "/tmp/output.h.in" "@DICOM_DICTIONARY@" ) + +# Following code contributing by Andy Cedilnik +SET(INFILE "dicomV3.dic") + +FILE(READ "${INFILE}" ENT) + +STRING(REGEX REPLACE "\n" ";" ENT "${ENT}") +SET(DICOM_DICTIONARY +"// +#include \"gdcmDicomDictionaryEntry.h\" + +static gdcmDicomDictionaryEntry[] = +{") + +FOREACH(line ${ENT}) + STRING(REGEX REPLACE + "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f]) ([0-9a-f][0-9a-f][0-9a-f][0-9a-f]) ([A-Z]+) ([A-Z]+) (.*)([ \(RET\)]*)$" + " { \\1, \\2, \"\\3\" , \"\\4\" , \"\\5\", \"\\6\"}," nline "${line}") + SET(DICOM_DICTIONARY "${DICOM_DICTIONARY}\n${nline}") +ENDFOREACH(line) + +SET(DICOM_DICTIONARY "${DICOM_DICTIONARY} + 0 +};") + +# See above +#CONFIGURE_FILE("/tmp/output.h.in" "/tmp/output.h") + +#MESSAGE("${DICOM_DICTIONARY}") +