Explorar el Código

Separated finding libraries and including them based on build type

Caspar Goch hace 13 años
padre
commit
1e9d40f196
Se han modificado 1 ficheros con 30 adiciones y 14 borrados
  1. 30 14
      Utilities/CMake/FindDCMTK.cmake

+ 30 - 14
Utilities/CMake/FindDCMTK.cmake

@@ -46,6 +46,7 @@ if(NOT DCMTK_FOUND AND NOT DCMTK_DIR)
   mark_as_advanced(DCMTK_DIR)
 endif()
 
+# Find all libraries, store debug and release separately
 foreach(lib
     dcmdata
     dcmimage
@@ -64,7 +65,7 @@ foreach(lib
     ofstd)
 
   # Find Release libraries
-  find_library(DCMTK_${lib}_LIBRARY
+  find_library(DCMTK_${lib}_LIBRARY_RELEASE
     ${lib}
     PATHS
     ${DCMTK_DIR}/${lib}/libsrc
@@ -75,15 +76,7 @@ foreach(lib
     ${DCMTK_DIR}/dcmjpeg/lib${lib}/Release
     NO_DEFAULT_PATH
     )
-    
-  mark_as_advanced(DCMTK_${lib}_LIBRARY)
-
-  #message("** DCMTKs ${lib} found at ${DCMTK_${lib}_LIBRARY}")
 
-  if(DCMTK_${lib}_LIBRARY)
-    list(APPEND DCMTK_LIBRARIES_RELEASE optimized ${DCMTK_${lib}_LIBRARY})
-  endif()
-  
   # Find Debug libraries
   find_library(DCMTK_${lib}_LIBRARY_DEBUG
     ${lib}
@@ -97,17 +90,40 @@ foreach(lib
     NO_DEFAULT_PATH
     )
     
+  mark_as_advanced(DCMTK_${lib}_LIBRARY_RELEASE)
   mark_as_advanced(DCMTK_${lib}_LIBRARY_DEBUG)
 
+endforeach()
+
+# Add libraries to variable according to build type
+# this is done as a separate loop for transparencies sake
+foreach(lib
+    dcmdata
+    dcmimage
+    dcmimgle
+    dcmjpeg
+    dcmnet
+    dcmpstat
+    dcmqrdb
+    dcmsign
+    dcmsr
+    dcmtls
+    ijg12
+    ijg16
+    ijg8
+    oflog
+    ofstd)
+
+  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 debug ${DCMTK_${lib}_LIBRARY_DEBUG})
+    list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
   endif()
-
+  
 endforeach()
 
-#depending on build type set debug or release
-list(APPEND DCMTK_LIBRARIES ${DCMTK_LIBRARIES_RELEASE} ${DCMTK_LIBRARIES_DEBUG} )
-
 set(DCMTK_config_TEST_HEADER osconfig.h)
 set(DCMTK_dcmdata_TEST_HEADER dctypes.h)
 set(DCMTK_dcmimage_TEST_HEADER dicoimg.h)