Browse Source

dicom query/retrieve conditional and fixed

make building of dicom query retrieve depend on
cmake options for the consituent apps

Fix dicom query/retrieve test to work with Qt pimpl

TODO: there may be there parts of libs where d_ptr
is not initialized when the Qt pimpl change happened
Steve Pieper 14 years ago
parent
commit
81897d5756

+ 3 - 0
.gitignore

@@ -13,3 +13,6 @@
 
 # Exclude QtCreator files ...
 CMakeLists.txt.user
+
+# ignore ctags file
+tags

+ 38 - 33
Applications/Testing/Cpp/CMakeLists.txt

@@ -21,36 +21,41 @@ MACRO( SIMPLE_TEST  TESTNAME )
   SET_PROPERTY(TEST ${TESTNAME} PROPERTY LABELS ${PROJECT_NAME})
 ENDMACRO( SIMPLE_TEST  )
 
-# create a dcm query/retrieve service config file that points to the build dir
-set (DCMQRSCP_STORE_DIR ${CTK_BINARY_DIR}/Testing/Temporary)
-set (ctkDICOMRetrieve_STORE_DIR ${CTK_BINARY_DIR}/Testing/Temporary/ctkDICOMRetrieveStorage)
-set (DCMQRSCP_CONFIG ${CTK_BINARY_DIR}/Testing/Temporary/dcmqrscp.cfg)
-CONFIGURE_FILE( dcmqrscp.cfg.in ${DCMQRSCP_CONFIG} )
-
-set(CTK_APPLICATION_RUNTIME_DIRECTORY ${CTK_CMAKE_RUNTIME_OUTPUT_DIRECTORY})
-if(WIN32)
-  set(CTK_APPLICATION_RUNTIME_DIRECTORY 
-        ${CTK_APPLICATION_RUNTIME_DIRECTORY}/${CMAKE_BUILD_TYPE})
-endif(WIN32)
-
-set(ctkDICOMQuery_EXECUTABLE ${CTK_APPLICATION_RUNTIME_DIRECTORY}/ctkDICOMQuery)
-set(ctkDICOMQuery_DB_FILE ${CTK_BINARY_DIR}/Testing/Temporary/ctkDICOMApplicationTest1.db)
-set(ctkDICOMRetrieve_EXECUTABLE ${CTK_APPLICATION_RUNTIME_DIRECTORY}/ctkDICOMRetrieve)
-
-#
-# Add Tests
-#
-
-ADD_TEST( ctkDICOMApplicationTest1 ${KIT_TESTS}
-          ctkDICOMApplicationTest1 
-               ${DCMTK_DCMQRSCP_EXECUTABLE} 
-               ${DCMQRSCP_CONFIG}
-               ${CTKData_DIR}/Data/DICOM/MRHEAD/000055.IMA
-               ${CTKData_DIR}/Data/DICOM/MRHEAD/000056.IMA
-               ${DCMTK_STORESCU_EXECUTABLE}
-               ${ctkDICOMQuery_EXECUTABLE}
-               ${ctkDICOMQuery_DB_FILE}
-               ${ctkDICOMRetrieve_EXECUTABLE}
-               ${ctkDICOMRetrieve_STORE_DIR}
-               )
-SET_PROPERTY(TEST ctkDICOMApplicationTest1 PROPERTY LABELS ${PROJECT_NAME})
+
+## Query / Retrieve Testing
+if (CTK_APP_ctkDICOMQuery AND CTK_APP_ctkDICOMRetrieve)
+
+  # create a dcm query/retrieve service config file that points to the build dir
+  set (DCMQRSCP_STORE_DIR ${CTK_BINARY_DIR}/Testing/Temporary)
+  set (ctkDICOMRetrieve_STORE_DIR ${CTK_BINARY_DIR}/Testing/Temporary/ctkDICOMRetrieveStorage)
+  set (DCMQRSCP_CONFIG ${CTK_BINARY_DIR}/Testing/Temporary/dcmqrscp.cfg)
+  CONFIGURE_FILE( dcmqrscp.cfg.in ${DCMQRSCP_CONFIG} )
+
+  set(CTK_APPLICATION_RUNTIME_DIRECTORY ${CTK_CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+  if(WIN32)
+    set(CTK_APPLICATION_RUNTIME_DIRECTORY
+          ${CTK_APPLICATION_RUNTIME_DIRECTORY}/${CMAKE_BUILD_TYPE})
+  endif(WIN32)
+
+  set(ctkDICOMQuery_EXECUTABLE ${CTK_APPLICATION_RUNTIME_DIRECTORY}/ctkDICOMQuery)
+  set(ctkDICOMQuery_DB_FILE ${CTK_BINARY_DIR}/Testing/Temporary/ctkDICOMApplicationTest1.db)
+  set(ctkDICOMRetrieve_EXECUTABLE ${CTK_APPLICATION_RUNTIME_DIRECTORY}/ctkDICOMRetrieve)
+
+  #
+  # Add Tests
+  #
+
+  ADD_TEST( ctkDICOMApplicationTest1 ${KIT_TESTS}
+            ctkDICOMApplicationTest1
+                 ${DCMTK_DCMQRSCP_EXECUTABLE}
+                 ${DCMQRSCP_CONFIG}
+                 ${CTKData_DIR}/Data/DICOM/MRHEAD/000055.IMA
+                 ${CTKData_DIR}/Data/DICOM/MRHEAD/000056.IMA
+                 ${DCMTK_STORESCU_EXECUTABLE}
+                 ${ctkDICOMQuery_EXECUTABLE}
+                 ${ctkDICOMQuery_DB_FILE}
+                 ${ctkDICOMRetrieve_EXECUTABLE}
+                 ${ctkDICOMRetrieve_STORE_DIR}
+                 )
+  SET_PROPERTY(TEST ctkDICOMApplicationTest1 PROPERTY LABELS ${PROJECT_NAME})
+endif (CTK_APP_ctkDICOMQuery AND CTK_APP_ctkDICOMRetrieve)

+ 5 - 1
CMakeLists.txt

@@ -544,7 +544,11 @@ FOREACH(app ${CTK_APPLICATIONS_SUBDIRS})
     ADD_SUBDIRECTORY(Applications/${app})
   ENDIF()
 ENDFOREACH()
-ADD_SUBDIRECTORY(Applications/Testing)
+
+IF(BUILD_TESTING)
+  ADD_SUBDIRECTORY(Applications/Testing)
+ENDIF(BUILD_TESTING)
+
 
 #-----------------------------------------------------------------------------
 # Add general purpose subdirectories

+ 1 - 0
Libs/DICOM/Core/ctkDICOMIndexerBase.cpp

@@ -81,6 +81,7 @@ ctkDICOMIndexerBasePrivate::~ctkDICOMIndexerBasePrivate()
 
 //------------------------------------------------------------------------------
 ctkDICOMIndexerBase::ctkDICOMIndexerBase()
+   : d_ptr(new ctkDICOMIndexerBasePrivate)
 {
 }
 

+ 1 - 0
Libs/DICOM/Core/ctkDICOMQuery.cpp

@@ -91,6 +91,7 @@ ctkDICOMQueryPrivate::~ctkDICOMQueryPrivate()
 
 //------------------------------------------------------------------------------
 ctkDICOMQuery::ctkDICOMQuery()
+   : d_ptr(new ctkDICOMQueryPrivate)
 {
 }
 

+ 1 - 0
Libs/DICOM/Core/ctkDICOMRetrieve.cpp

@@ -229,6 +229,7 @@ void ctkDICOMRetrievePrivate::retrieve ( QString UID, QDir directory, RetrieveTy
 
 //------------------------------------------------------------------------------
 ctkDICOMRetrieve::ctkDICOMRetrieve()
+   : d_ptr(new ctkDICOMRetrievePrivate)
 {
 }