From c07ecd2f58b58eb0f0fa280128be2472a7326cec Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Wed, 19 Jun 2024 20:44:47 +0000 Subject: [PATCH] Install dict to versioned dir Bug-Debian: https://bugs.debian.org/709123 Forwarded: not-needed Gbp-Pq: Name 03_datadic_install.patch --- CMake/GenerateDCMTKConfigure.cmake | 25 +++++-------------------- dcmdata/data/CMakeLists.txt | 5 ++++- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/CMake/GenerateDCMTKConfigure.cmake b/CMake/GenerateDCMTKConfigure.cmake index 11e49b26..4bc962f1 100644 --- a/CMake/GenerateDCMTKConfigure.cmake +++ b/CMake/GenerateDCMTKConfigure.cmake @@ -118,23 +118,8 @@ endif() # Configure file -# Windows being windows, it lies about its processor type to 32 bit binaries -set(SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITEW6432}") -if(NOT SYSTEM_PROCESSOR) - if(WIN32 AND NOT CYGWIN) - if(CMAKE_GENERATOR_PLATFORM) - set(SYSTEM_PROCESSOR "${CMAKE_GENERATOR_PLATFORM}") - elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(SYSTEM_PROCESSOR "x64") - elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(SYSTEM_PROCESSOR "Win32") - endif() - else() - set(SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}") - endif() -endif() # CMake doesn't provide a configure-style system type string -set(CANONICAL_HOST_TYPE "${SYSTEM_PROCESSOR}-${CMAKE_SYSTEM_NAME}") +set(CANONICAL_HOST_TYPE "Debian") DCMTK_UNSET(SYSTEM_PROCESSOR) # Configure dictionary path and install prefix @@ -147,10 +132,10 @@ if(WIN32 AND NOT CYGWIN) set(ENVIRONMENT_PATH_SEPARATOR ";") # Set dictionary path to the data dir inside install main dir (prefix) if(DCMTK_DEFAULT_DICT STREQUAL "external") - set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dcmtk\\\\dicom.dic") + set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dicom.dic") # If private dictionary should be utilized, add it to default dictionary path. if(ENABLE_PRIVATE_TAGS) - set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dcmtk\\\\private.dic") + set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\private.dic") endif() # Again, for Windows strip all / from path and replace it with \\. string(REGEX REPLACE "/" "\\\\\\\\" DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}") @@ -168,10 +153,10 @@ else() set(ENVIRONMENT_PATH_SEPARATOR ":") # Set dictionary path to the data dir inside install main dir (prefix). if(DCMTK_DEFAULT_DICT STREQUAL "external") - set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/dicom.dic") + set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIC}/dicom.dic") # If private dictionary should be utilized, add it to default dictionary path. if(ENABLE_PRIVATE_TAGS) - set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}:${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/private.dic") + set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}:${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIC}/private.dic") endif() else() set(DCM_DICT_DEFAULT_PATH "") diff --git a/dcmdata/data/CMakeLists.txt b/dcmdata/data/CMakeLists.txt index 64ffba1f..3e330ef5 100644 --- a/dcmdata/data/CMakeLists.txt +++ b/dcmdata/data/CMakeLists.txt @@ -1,5 +1,8 @@ # declare installation files -install(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION "${CMAKE_INSTALL_DATADIR}/dcmtk" COMPONENT data) +set(DCMTK_INSTALL_DATDIR "share/libdcmtk${DCMTK_ABI_VERSION}") + +install(FILES dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION "${CMAKE_INSTALL_DATADIR}/dcmtk" COMPONENT data) +install(FILES dicom.dic acrnema.dic private.dic diconde.dic DESTINATION ${CMAKE_INSTALL_DATADIC} COMPONENT data) # add paths to the dictionaries to a CMake variable for being used by the unit tests set(DCMTK_DICOM_DICTIONARIES -- 2.30.2