# Generate our own 'DICOM' dictionary, based on the following dictionaries:
SET(ALL_DICTS
dicomV3.dic
- Papyrus.dic
- NIH.dic #the forbidden one...
- SPI.dic
+ #Papyrus.dic
+ #NIH.dic #the forbidden one...
+ # SPI.dic
+ # PHILIPS-Intera.dic # uncomment me if you want
+ #GEMS.dic #Commented out to avoid polluting 'non GEMS' images
+ #GEMS-HiSpeed.dic
+ # GEMS-Advance.dic
)
# Better solution
SET(TEST_DICT_BODY)
FOREACH(dict ${ALL_DICTS})
+ # Properly set dependencies, therefore `touch Philips-Intera.dic` does not rebuild
+ # but adding/removing a line in Philips-Intera.dic rebuild as expected
+ CONFIGURE_FILE("${GDCM_SOURCE_DIR}/Dicts/${dict}"
+ "${GDCM_BINARY_DIR}/Dicts/${dict}" COPYONLY IMMEDIATE)
FILE(READ "${GDCM_SOURCE_DIR}/Dicts/${dict}" dict_append)
SET(TEST_DICT_BODY "${TEST_DICT_BODY}\n${dict_append}")
ENDFOREACH(dict)
FOREACH(line ${ENT_DIR})
STRING(REGEX REPLACE
- "^(metaElem|patientElem|studyElem|serieElem|imageElem) *([a-f0-9]+) ([a-f0-9]+) [\"](.*)[\"](.*)$"
- " {\"\\1\" , 0x\\2 , 0x\\3 , \"\\4\"}, \\5" nline "${line}")
+ "^(metaElem|patientElem|studyElem|serieElem|imageElem) *([a-f0-9]+) ([a-f0-9]+) [\"](.*)[\"] [\"](.*)[\"] (.*)$"
+ " {\"\\1\" , 0x\\2 , 0x\\3 , \"\\4\", \"\\5\"}, \\6" nline "${line}")
SET(DICOM_DIR_DICTIONARY "${DICOM_DIR_DICTIONARY}\n${nline}")
ENDFOREACH(line)
#-----------------------------------------------------------------------------
# ... Set the dictionnary
-SET(DICOM_DIR_DICTIONARY "${DICOM_DIR_DICTIONARY} \n {0,0,0,0}")
+SET(DICOM_DIR_DICTIONARY "${DICOM_DIR_DICTIONARY} \n {0,0,0,0,0}")
-CONFIGURE_FILE("${GDCM_SOURCE_DIR}/src/gdcmDefaultDicts.cxx.in"
+CONFIGURE_FILE("${GDCM_SOURCE_DIR}/src/gdcmDefaultDicts.cxx.in"
"${GDCM_BINARY_DIR}/src/gdcmDefaultDicts.cxx" IMMEDIATE)
#-----------------------------------------------------------------------------
-INSTALL_FILES(${GDCM_DATA_DIR} .dic
- dicomV3
- dicomVR
- dicomTS
- DicomDir
- DictGroupName
- gdcm
-)
+# For now GDCM_INSTALL_NO_DICTIONARY is a hidden variables
+IF(NOT GDCM_INSTALL_NO_DICTIONARY)
+ INSTALL_FILES(${GDCM_INSTALL_DATA_DIR} .dic
+ dicomV3
+ dicomVR
+ dicomTS
+ DicomDir
+ DictGroupName
+ gdcm
+ )
+ENDIF(NOT GDCM_INSTALL_NO_DICTIONARY)