ソースを参照

Merge branch '413-associated-dcmtk-definitions-to-ctkdicomcore'

* 413-associated-dcmtk-definitions-to-ctkdicomcore:
  Associate CTKDICOMCore with DCMTK_DEFINITIONS in build and install tree
  FindDCMTK - Clean white spaces
  FindDCMTK - Do not explicitly set DCMTK_DEFINITIONS
Jean-Christophe Fillion-Robin 11 年 前
コミット
91cdf9e0f7
共有3 個のファイルを変更した12 個の追加23 個の削除を含む
  1. 0 12
      CMake/LastConfigureStep/CTKGenerateCTKConfig.cmake
  2. 9 0
      Libs/DICOM/Core/CMakeLists.txt
  3. 3 11
      Utilities/CMake/FindDCMTK.cmake

+ 0 - 12
CMake/LastConfigureStep/CTKGenerateCTKConfig.cmake

@@ -162,12 +162,6 @@ set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}# External project libraries\n")
 set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}set(CTK_EXTERNAL_LIBRARIES \"${CTK_EXTERNAL_LIBRARIES}\")\n")
 set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}# External project library directories\n")
 set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}set(CTK_EXTERNAL_LIBRARY_DIRS \"${CTK_EXTERNAL_LIBRARY_DIRS}\")\n")
-if(DEFINED DCMTK_HAVE_CONFIG_H_OPTIONAL AND NOT DCMTK_HAVE_CONFIG_H_OPTIONAL AND TARGET CTKDICOMCore)
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}# Definition required to build DCMTK dependent libraries\n")
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}if(\"\${CMAKE_VERSION}\" VERSION_GREATER 2.8.10)\n")
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}  set_target_properties(CTKDICOMCore PROPERTIES INTERFACE_COMPILE_DEFINITIONS ${DCMTK_DEFINITIONS})\n")
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}endif()\n")
-endif()
 set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}##################################################")
 
 set(ctk_config ${CTK_SUPERBUILD_BINARY_DIR}/CTKConfig.cmake)
@@ -206,12 +200,6 @@ set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}# CTK library directories that could be u
 foreach(lib ${CTK_LIBRARIES})
   set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}set(${lib}_LIBRARY_DIRS \"\")\n")
 endforeach()
-if(DEFINED DCMTK_HAVE_CONFIG_H_OPTIONAL AND NOT DCMTK_HAVE_CONFIG_H_OPTIONAL AND TARGET CTKDICOMCore)
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}# Definition required to build DCMTK dependent libraries\n")
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}if(\"\${CMAKE_VERSION}\" VERSION_GREATER 2.8.10)\n")
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}  set_target_properties(CTKDICOMCore PROPERTIES INTERFACE_COMPILE_DEFINITIONS ${DCMTK_DEFINITIONS})\n")
-  set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}endif()\n")
-endif()
 
 set(CTK_CONFIG_CODE "${CTK_CONFIG_CODE}##################################################")
 

+ 9 - 0
Libs/DICOM/Core/CMakeLists.txt

@@ -123,6 +123,15 @@ ctkMacroBuildLib(
   LIBRARY_TYPE ${CTK_LIBRARY_MODE}
   )
 
+if(DEFINED DCMTK_HAVE_CONFIG_H_OPTIONAL AND NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
+  # Workaround Debian packaging issue - See FindDCMTK.cmake for more details
+  set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS ${DCMTK_DEFINITIONS})
+  if("${CMAKE_VERSION}" VERSION_GREATER 2.8.10)
+    set_target_properties(${PROJECT_NAME} PROPERTIES INTERFACE_COMPILE_DEFINITIONS ${DCMTK_DEFINITIONS})
+  endif()
+endif()
+
+
 if(CTK_WRAP_PYTHONQT_FULL OR CTK_WRAP_PYTHONQT_LIGHT)
   ctkMacroBuildLibWrapper(
     TARGET ${PROJECT_NAME}

+ 3 - 11
Utilities/CMake/FindDCMTK.cmake

@@ -201,15 +201,15 @@ foreach(lib
     ${DCMTK_DIR}/dcmjpeg/lib${lib}/Debug
     NO_DEFAULT_PATH
     )
-    
+
   mark_as_advanced(DCMTK_${lib}_LIBRARY_RELEASE)
   mark_as_advanced(DCMTK_${lib}_LIBRARY_DEBUG)
-  
+
   # Add libraries to variable according to build type
   if(DCMTK_${lib}_LIBRARY_RELEASE)
     list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
   endif()
-  
+
   if(DCMTK_${lib}_LIBRARY_DEBUG)
     list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
   endif()
@@ -329,10 +329,6 @@ find_package_handle_standard_args(DCMTK
 
 # Workaround bug in packaging of DCMTK 3.6.0 on Debian.
 # See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637687
-#
-# By setting 'DCMTK_FIND_PACKAGE_SKIP_ADD_DEFINITIONS' to '1' before
-# calling 'find_package(DCMTK)', the variable 'DCMTK_DEFINITIONS' will be set
-# appropriately.
 if(DCMTK_FOUND AND UNIX AND NOT APPLE)
   include(CheckCXXSourceCompiles)
   set(CMAKE_REQUIRED_FLAGS )
@@ -345,10 +341,6 @@ if(DCMTK_FOUND AND UNIX AND NOT APPLE)
   if(NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
     set(DCMTK_DEFINITIONS "HAVE_CONFIG_H")
   endif()
-  if(NOT DCMTK_HAVE_CONFIG_H_OPTIONAL AND NOT DCMTK_FIND_PACKAGE_SKIP_ADD_DEFINITIONS)
-    add_definitions(-D${DCMTK_DEFINITIONS})
-  endif()
 endif()
 
 message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake - ok")
-