[IGSTK-Developers] Re: IGSTKSandbox - Qt integration

Patrick Cheng cheng at isis.georgetown.edu
Mon Mar 19 10:01:35 EDT 2007


Hi Frank,

We might need to do the same thing in Sandbox as in the main IGSTK 
CMakeLists.txt file,

#-----------------------------------------------------------------------------
# Help other projects use IGSTK.
SET(IGSTK_LIBRARY_PATH ${LIBRARY_OUTPUT_PATH})


# Copy the UseIGSTK.cmake file to the binary tree for backward 
compatability.
CONFIGURE_FILE(${IGSTK_SOURCE_DIR}/UseIGSTK.cmake.in
                ${IGSTK_BINARY_DIR}/UseIGSTK.cmake COPYONLY IMMEDIATE)

# Save the compiler settings so another project can import them.
INCLUDE(${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake)
CMAKE_EXPORT_BUILD_SETTINGS(${IGSTK_BINARY_DIR}/IGSTKBuildSettings.cmake)
INSTALL_FILES(/lib/InsightToolkit .cmake IGSTKBuildSettings)

# Save library dependencies.
EXPORT_LIBRARY_DEPENDENCIES(${IGSTK_BINARY_DIR}/IGSTKLibraryDepends.cmake)

# Create the IGSTKConfig.cmake file containing the IGSTK configuration.
INCLUDE (${IGSTK_SOURCE_DIR}/igstkGenerateIGSTKConfig.cmake)

# Install some files.
INSTALL_FILES(/include/InsightToolkit .h igstkConfigure)
INSTALL_FILES(/lib/InsightToolkit .cmake UseIGSTK IGSTKLibraryDepends)

Can you try to modify these CMake commands and insert them into the 
Sandbox CMakeLists.txt file, see if the external build will find the 
library?


We still don't have a solution for the Qt license. Luis, is it ok for 
Frank to put the Qt code in Sandbox?


Patrick


Frank Lindseth wrote:
> Luis, Patrick
> 
> We have been looking at the IGSTKSandbox / Qt integration today.
> 
> Building IGSTKSandbox with Qt support  seems to be working ok (I have 
> attached the 2 CMakeLists.txt files that had to be updated).
> (how are your Trolltech investigations going Patrick?, should I just 
> submit this to the IGSTKSandbox?)
> 
> Building an application on top of IGSTKSandbox (instead of using 
> a separate library for the Qt-IGSTK functionality) do not seem to we 
> working ok:
> 
> If we include something like this in the CMakeLists.txt for the application:
> FIND_PACKAGE(IGSTKSandbox)
> IF(NOT IGSTKSandbox_DIR)
>   MESSAGE(FATAL_ERROR "Please set IGSTKSandbox_DIR.")
> ENDIF(NOT IGSTKSandbox_DIR)
> INCLUDE(${IGSTKSandbox_USE_FILE})
> 
> We get something like this when we run ccmake:
> Make Error: IGSTKSandbox_DIR is set to 
> "/Users/frankl/fl/dev/cvsStable/IGSTKSandboxCvs_CMake246_gcc401_ITKcvs_VTKcvs_Qt423", 
> which
> is not a directory containing IGSTKSandboxConfig.cmake
> CMake Error: Error in cmake code at
> /Users/frankl/fl/dev/cvsStable/CustusXcvs/CMakeLists.txt:27:
> INCLUDE called with wrong number of arguments.  Include only takes one file.
> Current CMake stack:
> /Users/frankl/fl/dev/cvsStable/CustusXcvs/CMakeLists.txt;/usr/share/cmake-2.4/Modules/CMakeCInformation.cmake;/usr/share/cmake-2.4/Mod
> ules/CMakeCXXInformation.cmake
> 
> Which makes sense because  IGSTKSandbox_build do not contain 
> any IGSTKSandboxConfig.cmake file (the same way that IGSTK has 
> a IGSTKConfig.cmake).
> 
> So how is this supposed to be working? Shouldn't the missing file have 
> been generated?
> It there an example showing an "external" build on top of IGSTKSandbox 
> (not part of IGSTKSandbox) somewhere (I couldn't find anything)?
> 
> - Frank 
> 
> 
> ------------------------------------------------------------------------
> 
> PROJECT( IGSTKSandbox )
> 
> SET (LIBRARY_OUTPUT_PATH ${IGSTKSandbox_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries." FORCE)
> SET (EXECUTABLE_OUTPUT_PATH ${IGSTKSandbox_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables." FORCE)
> 
> # Create the header to configure the classes.
> CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/igstkSandboxConfigure.h.in
>                ${PROJECT_BINARY_DIR}/igstkSandboxConfigure.h
>                @ONLY IMMEDIATE)
> 
> # Add the testing directories
> OPTION(IGSTKSandbox_BUILD_TESTING "Test the project" ON)
> IF(IGSTKSandbox_BUILD_TESTING)
>   ENABLE_TESTING()
>   INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
> ENDIF(IGSTKSandbox_BUILD_TESTING)
> 
> SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
> 
> IF(NOT IGSTKSandbox_SETUP_DASHBOARD)
> 
> #
> #  FIND IGSTK
> #
> FIND_PACKAGE(IGSTK)
> IF (IGSTK_USE_FILE)
> # Don't include the IGSTK_USE_FILE since the Sandbox build is completely independent 
> # of the IGSTK build.  We really just need to know where the IGSTK source is
> # and where the IGSTK dependencies are: VTK, ITK, FLTK
> #  INCLUDE (${IGSTK_USE_FILE})
> ELSE (IGSTK_USE_FILE)
>   MESSAGE( FATAL_ERROR "This application requires IGSTK. One of these components is missing. Please verify configuration")
> ENDIF (IGSTK_USE_FILE)
> 
> # If we have IGSTK in the path we load its cache
> IF(IGSTK_DIR)
>   LOAD_CACHE(${IGSTK_DIR}
>   EXCLUDE
>     BUILD_TESTING
>     BUILD_EXAMPLES
>     LIBRARY_OUTPUT_PATH
>     EXECUTABLE_OUTPUT_PATH
>     MAKECOMMAND 
>     SITE
>     BUILDNAME
>     CVS_UPDATE_OPTIONS
>     DART_TESTING_TIMEOUT
>     PURIFYCOMMAND
>     CVSCOMMAND
>     CMAKE_BACKWARDS_COMPATIBILITY
>   )
> ENDIF(IGSTK_DIR)
> 
> # Disable MSVC 8 warnings
> IF(WIN32)
>   OPTION(DISABLE_MSVC8_DEPRECATED_WARNINGS "Disable Visual Studio 8 deprecated warnings" OFF)
>   MARK_AS_ADVANCED(FORCE DISABLE_MSVC8_DEPRECATED_WARNINGS)  
>   IF(DISABLE_MSVC8_DEPRECATED_WARNINGS)
>     ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
>   ENDIF(DISABLE_MSVC8_DEPRECATED_WARNINGS)
> ENDIF(WIN32)
> 
> #
> #  FIND ITK
> #
> FIND_PACKAGE(ITK)
> IF (USE_ITK_FILE)
>   INCLUDE (${USE_ITK_FILE})
> ELSE (USE_ITK_FILE)
>   MESSAGE( FATAL_ERROR "This application requires ITK. One of these components is missing. Please verify configuration")
> ENDIF (USE_ITK_FILE)
> 
> 
> #
> # FIND VTK
> #
> FIND_PACKAGE(VTK)
> IF (USE_VTK_FILE)
>   INCLUDE (${USE_VTK_FILE})
> ELSE (USE_VTK_FILE)
>   MESSAGE( FATAL_ERROR "This application requires VTK. One of these components is missing. Please verify configuration")
> ENDIF (USE_VTK_FILE)
> 
> 
> 
> #
> # FIND FLTK
> #
> OPTION(IGSTKSandbox_USE_FLTK "Use FLTK (The Fast Light Toolkit) for GUI" ON)
> IF(IGSTKSandbox_USE_FLTK)
>  FIND_PACKAGE(FLTK)
>  IF (FLTK_FOUND)
>   INCLUDE_DIRECTORIES (${FLTK_INCLUDE_DIR})
> ELSE (FLTK_FOUND)
>   MESSAGE( FATAL_ERROR "This application requires FLTK. One of these components is missing. Please verify configuration")
> ENDIF (FLTK_FOUND)
> ENDIF(IGSTKSandbox_USE_FLTK)
> 
> 
> 
> #
> # FIND Qt
> #
> OPTION(IGSTKSandbox_USE_Qt "Use Qt for GUI" OFF)
> IF(IGSTKSandbox_USE_Qt)
>  # use what QVTK built with
>  SET(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "")
>  SET(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "")
>  SET(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "")
>  SET(DESIRED_QT_VERSION ${VTK_DESIRED_QT_VERSION} CACHE STRING "")
>  FIND_PACKAGE(Qt)
> 
>  IF(QT_USE_FILE)
>    INCLUDE(${QT_USE_FILE})
>  ELSE(QT_USE_FILE)
>    SET(QT_LIBRARIES   ${QT_QT_LIBRARY})
>  ENDIF(QT_USE_FILE)
> 
> # IF (QT_FOUND)
> #  INCLUDE_DIRECTORIES (${QT_INCLUDE_DIR})
> # ELSE (QT_FOUND)
> #  MESSAGE( FATAL_ERROR "This application requires Qt. One of these components is missing. Please verify configuration")
> # ENDIF (QT_FOUND)
> 
> ENDIF(IGSTKSandbox_USE_Qt)
> 
> INCLUDE_DIRECTORIES(
>         ${QT_INCLUDE_DIR}
> #       ${CMAKE_CURRENT_BINARY_DIR}
> #       ${CMAKE_CURRENT_SOURCE_DIR}
> #       ${QTIGSTK_H_DIR}
> )
> 
> 
> 
> 
> # The IGSTKSandbox Library and any Utilities that it requires
> SUBDIRS(Utilities Source)
> 
> # Add the testing directories
> IF(IGSTKSandbox_BUILD_TESTING)
>    SUBDIRS(Testing)
> ENDIF(IGSTKSandbox_BUILD_TESTING)
> 
> # Add the examples directories
> OPTION(IGSTKSandbox_BUILD_EXAMPLES "Examples of the project" ON)
> IF(IGSTKSandbox_BUILD_EXAMPLES)
>     SUBDIRS(Examples)
> ENDIF(IGSTKSandbox_BUILD_EXAMPLES)
> 
> # include Sandbox header files before the main library IGSTK
> INCLUDE_DIRECTORIES(
> ${ITK_DIR}/Utilities/zlib
> ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source
> ${IGSTKSandbox_BINARY_DIR}/SourceLatest
> ${IGSTKSandbox_SOURCE_DIR}/Source
> )
> 
> #-----------------------------------------------------------------------------
> # Configure the default IGSTKSandbox_DATA_ROOT for the location of IGSTKSandbox Data.
> #FIND_PATH(IGSTKSandbox_DATA_ROOT IGSTKSandboxData.readme ${IGSTKSandbox_SOURCE_DIR}/Testing/Data $ENV{IGSTKSandbox_DATA_ROOT})
> #MARK_AS_ADVANCED(IGSTKSandbox_DATA_ROOT)
> 
> ENDIF(NOT IGSTKSandbox_SETUP_DASHBOARD)
> 
> 
> ------------------------------------------------------------------------
> 
> 
> 
> ------------------------------------------------------------------------
> 
> # make a directory to copy latest versions of all source and header files
> SET(IGSTK_LATEST_FILES  ${IGSTKSandbox_BINARY_DIR}/SourceLatest )
> MAKE_DIRECTORY( ${IGSTK_LATEST_FILES} )
> 
> INCLUDE_DIRECTORIES(
>   ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source
>   ${IGSTKSandbox_SOURCE_DIR}/Source
>   ${IGSTKSandbox_BINARY_DIR}/SourceLatest
> )
> 
> SET(IGSTK_HEADS
>   igstkFlockOfBirdsCommandInterpreter.h
>   igstkFlockOfBirdsTracker.h
>   igstkFlockOfBirdsTrackerTool.h
>   igstkUSImageObject.h
>   igstkUSImageObjectRepresentation.h
>   igstkUSImageReader.h
>   igstkMR3DImageToUS3DImageRegistration.h
>   igstkVascularNetworkObject.h
>   igstkVascularNetworkObjectRepresentation.h
>   igstkVascularNetworkReader.h
>   igstkVesselObject.h
>   igstkToolCalibrationReader.h
>   igstkToolCalibration.h
>   igstkPivotCalibrationReader.h
>   igstkAnnotation2D.h
>   igstkAxesObject.h
>   igstkAxesObjectRepresentation.h
>   igstkBoxObject.h
>   igstkBoxObjectRepresentation.h
>   igstkConeObject.h
>   igstkConeObjectRepresentation.h
>   igstkImageReader.h
>   igstkDICOMImageReader.h
>   igstkCTImageReader.h
>   igstkMRImageReader.h
>   igstkImageSpatialObject.h
>   igstkCTImageSpatialObject.h
>   igstkMRImageSpatialObject.h
>   igstkImageSpatialObjectRepresentation.h
>   igstkCTImageSpatialObjectRepresentation.h
>   igstkMRImageSpatialObjectRepresentation.h
>   igstkLandmark3DRegistration.h
>   igstkLandmark3DRegistrationErrorEstimator.h
>   igstkAuroraTracker.h
>   igstkAuroraTrackerTool.h
>   igstkBinaryData.h
>   igstkCommunication.h
>   igstkCylinderObject.h
>   igstkCylinderObjectRepresentation.h
>   igstkEllipsoidObject.h  
>   igstkEllipsoidObjectRepresentation.h  
>   igstkEvents.h
>   igstkMacros.h
>   igstkMeshObject.h
>   igstkMeshObjectRepresentation.h
>   igstkMultipleOutput.h
>   igstkNDICommandInterpreter.h
>   igstkNDIErrorEvent.h
>   igstkObjectRepresentation.h
>   igstkObject.h
>   igstkPivotCalibration.h
>   igstkPrincipalAxisCalibration.h
>   igstkPolarisTracker.h
>   igstkPolarisTrackerTool.h
>   igstkPulseGenerator.h
>   igstkRealTimeClock.h
>   igstkRenderWindowInteractor.h
>   igstkSerialCommunication.h
>   igstkSerialCommunicationSimulator.h
>   igstkSpatialObject.h
>   igstkStateMachine.h
>   igstkStateMachineInput.h
>   igstkStateMachineState.h
>   igstkTimeStamp.h
>   igstkTransform.h
>   igstkToken.h
>   igstkTracker.h
>   igstkTrackerPort.h
>   igstkTrackerTool.h
>   igstkTubeObject.h
>   igstkTubeObjectRepresentation.h
>   igstkUltrasoundProbeObject.h
>   igstkUltrasoundProbeObjectRepresentation.h
>   igstkUltrasoundImageSimulator.h
>   igstkVTKLoggerOutput.h
>   igstkSpatialObjectReader.h
>   igstkTubeReader.h
>   igstkMeshReader.h
>   igstkGroupObject.h
>   igstkTubeGroupObject.h
> )
> 
> IF(IGSTK_USE_FLTK)
>   SET(IGSTK_HEADS
>     ${IGSTK_HEADS}
>     igstkFLTKTextBufferLogOutput.h
>     igstkFLTKTextLogOutput.h
>     igstkMouseTracker.h
>     igstkView.h
>     igstkView2D.h
>     igstkView3D.h
>     )
> ENDIF(IGSTK_USE_FLTK)
> 
> 
> 
> # The implementation files
> 
> SET(IGSTK_SRCS  
>   igstkFlockOfBirdsCommandInterpreter.cxx
>   igstkFlockOfBirdsTracker.cxx
>   igstkFlockOfBirdsTrackerTool.cxx
>   igstkUSImageObject.cxx
>   igstkUSImageObjectRepresentation.cxx
>   igstkUSImageReader.cxx
>   igstkMR3DImageToUS3DImageRegistration.cxx
>   igstkVascularNetworkObject.cxx
>   igstkVascularNetworkObjectRepresentation.cxx
>   igstkVascularNetworkReader.cxx
>   igstkVesselObject.cxx
>   igstkToolCalibration.cxx
>   igstkToolCalibrationReader.txx
>   igstkPivotCalibrationReader.cxx
>   igstkAnnotation2D.cxx
>   igstkAxesObject.cxx
>   igstkAxesObjectRepresentation.cxx
>   igstkBoxObject.cxx
>   igstkBoxObjectRepresentation.cxx
>   igstkConeObject.cxx
>   igstkConeObjectRepresentation.cxx
>   igstkImageReader.txx
>   igstkDICOMImageReader.txx
>   igstkCTImageReader.cxx
>   igstkMRImageReader.cxx
>   igstkImageSpatialObject.txx
>   igstkCTImageSpatialObject.cxx
>   igstkMRImageSpatialObject.cxx
>   igstkImageSpatialObjectRepresentation.txx
>   igstkCTImageSpatialObjectRepresentation.cxx
>   igstkMRImageSpatialObjectRepresentation.cxx
>   igstkLandmark3DRegistration.cxx
>   igstkLandmark3DRegistrationErrorEstimator.cxx
>   igstkAuroraTracker.cxx
>   igstkAuroraTrackerTool.cxx
>   igstkBinaryData.cxx
>   igstkCommunication.cxx
>   igstkCylinderObject.cxx
>   igstkCylinderObjectRepresentation.cxx
>   igstkEllipsoidObject.cxx
>   igstkEllipsoidObjectRepresentation.cxx
>   igstkMeshObject.cxx
>   igstkMeshObjectRepresentation.cxx
>   igstkMultipleOutput.cxx
>   igstkNDICommandInterpreter.cxx
>   igstkObject.cxx
>   igstkPivotCalibration.cxx
>   igstkPrincipalAxisCalibration.cxx
>   igstkObjectRepresentation.cxx
>   igstkPolarisTracker.cxx
>   igstkPolarisTrackerTool.cxx
>   igstkPulseGenerator.cxx
>   igstkRealTimeClock.cxx
>   igstkRenderWindowInteractor.cxx
>   igstkSerialCommunication.cxx
>   igstkSerialCommunicationSimulator.cxx
>   igstkSpatialObject.cxx
>   igstkSpatialObjectReader.txx
>   igstkStateMachine.txx
>   igstkTimeStamp.cxx
>   igstkToken.cxx
>   igstkTracker.cxx
>   igstkTrackerPort.cxx
>   igstkTrackerTool.cxx
>   igstkTransform.cxx
>   igstkTubeObject.cxx
>   igstkTubeObjectRepresentation.cxx
>   igstkUltrasoundProbeObject.cxx
>   igstkUltrasoundProbeObjectRepresentation.cxx
>   igstkUltrasoundImageSimulator.txx
>   igstkVTKLoggerOutput.cxx
>   igstkTubeReader.cxx
>   igstkMeshReader.cxx
>   igstkGroupObject.cxx
>   igstkTubeGroupObject.cxx
> )
> 
> IF(IGSTK_USE_FLTK)
>   SET(IGSTK_SRCS  
>     ${IGSTK_SRCS}
>     igstkMouseTracker.cxx
>     igstkFLTKTextBufferLogOutput.cxx
>     igstkFLTKTextLogOutput.cxx
>     igstkView.cxx
>     igstkView2D.cxx
>     igstkView3D.cxx
>     )
> ENDIF(IGSTK_USE_FLTK)
> 
> 
> 
> IF( WIN32 )
>   SET(IGSTK_HEADS ${IGSTK_HEADS} 
>     igstkSerialCommunicationForWindows.h
>   )
>   SET(IGSTK_SRCS ${IGSTK_SRCS} 
>     igstkSerialCommunicationForWindows.cxx
>   )
> ELSE( WIN32 )
>   SET(IGSTK_HEADS ${IGSTK_HEADS} 
>     igstkSerialCommunicationForPosix.h
>   )
>   SET(IGSTK_SRCS ${IGSTK_SRCS} 
>     igstkSerialCommunicationForPosix.cxx
>   )
> ENDIF( WIN32 )
> 
> # Copy igstkConfigure.h into latest
> CONFIGURE_FILE( ${IGSTK_BINARY_DIR}/igstkConfigure.h ${IGSTK_LATEST_FILES}/igstkConfigure.h COPYONLY)
> 
> # Copy the header files if they are not a duplicated in the Sandbox
> FOREACH(HeaderFile ${IGSTK_HEADS})
> 
>   IF(EXISTS ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${HeaderFile})
>      SET(IGSTKLatest_HEADS ${IGSTKLatest_HEADS} ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${HeaderFile})
>      EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${IGSTK_LATEST_FILES}/${HeaderFile}\""
>                    OUTPUT_VARIABLE rm_out
>                    RETURN_VARIABLE rm_retval )
>      SET(IGSTKModifiedFiles ${IGSTKModifiedFiles} ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${HeaderFile})
>   ELSE(EXISTS ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${HeaderFile})
>     # Copy the files from IGSTK
>     CONFIGURE_FILE( ${IGSTK_SOURCE_DIR}/Source/${HeaderFile} ${IGSTK_LATEST_FILES}/${HeaderFile} COPYONLY)
>     SET(IGSTKLatest_HEADS ${IGSTKLatest_HEADS} ${IGSTK_LATEST_FILES}/${HeaderFile})
>   ENDIF(EXISTS ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${HeaderFile})
> 
> ENDFOREACH( HeaderFile )
> 
> # Copy the source files if they are not a duplicated in the Sandbox
> FOREACH(SourceFile ${IGSTK_SRCS})
> 
>   IF(EXISTS ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${SourceFile})
>      SET(IGSTKLatest_SRCS ${IGSTKLatest_SRCS} ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${SourceFile})
>      EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${IGSTK_LATEST_FILES}/${SourceFile}\""
>                    OUTPUT_VARIABLE rm_out
>                    RETURN_VARIABLE rm_retval )
>      SET(IGSTKModifiedFiles ${IGSTKModifiedFiles} ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${SourceFile})
>   ELSE(EXISTS ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${SourceFile})
>     # Copy the files from IGSTK
>     CONFIGURE_FILE( ${IGSTK_SOURCE_DIR}/Source/${SourceFile} ${IGSTK_LATEST_FILES}/${SourceFile} COPYONLY)
>     SET(IGSTKLatest_SRCS ${IGSTKLatest_SRCS} ${IGSTK_LATEST_FILES}/${SourceFile})
>   ENDIF(EXISTS ${IGSTKSandbox_SOURCE_DIR}/IGSTK/Source/${SourceFile})
> 
> ENDFOREACH( SourceFile )
> 
> SOURCE_GROUP(IGSTKModified FILES ${IGSTKModifiedFiles})
> #
> #  Define the list of source files forming the IGSTKSandbox Library
> #
> 
> # The header files
> SET(IGSTKSandbox_HEADS
>   igstkObliqueImageSpatialObjectRepresentation.h
>   igstkLandmarkUltrasoundCalibration.h
>   igstkContourObjectRepresentation.h
>   igstkContourMeshObjectRepresentation.h
>   igstkContourVascularNetworkObjectRepresentation.h
>   igstkSocketCommunication.h
>   igstkObliqueContourMeshObjectRepresentation.h
> )
> 
> IF(IGSTKSandbox_USE_Qt)
>   SET(IGSTKSandbox_HEADS
>     ${IGSTKSandbox_HEADS}
>     igstkQMouseTracker.h
>     igstkSimulatedTracker.h
>     igstkQView.h
>     igstkQView2D.h
>     igstkQView3D.h
>     )
> ENDIF(IGSTKSandbox_USE_Qt)
> 
> 
> # The implementation files
> SET(IGSTKSandbox_SRCS  
>   igstkObliqueImageSpatialObjectRepresentation.txx
>   igstkLandmarkUltrasoundCalibration.cxx
>   igstkContourObjectRepresentation.cxx
>   igstkContourMeshObjectRepresentation.cxx
>   igstkContourVascularNetworkObjectRepresentation.cxx
>   igstkSocketCommunication.cxx
>   igstkObliqueContourMeshObjectRepresentation.cxx
> )
> 
> IF(IGSTKSandbox_USE_Qt)
>   SET(IGSTKSandbox_SRCS  
>     ${IGSTKSandbox_SRCS}
>     igstkQMouseTracker.cxx
>     igstkSimulatedTracker.cxx
>     igstkQView.cxx
>     igstkQView2D.cxx
>     igstkQView3D.cxx
>     )
> ENDIF(IGSTKSandbox_USE_Qt)
> 
> 
> # Variable for holding extra libraries
> SET(EXTRA_LIBS)
> 
> # Adding the IGSTKSandbox library
> ADD_LIBRARY(IGSTKSandbox ${IGSTKSandbox_HEADS} ${IGSTKSandbox_SRCS} ${IGSTKLatest_HEADS} ${IGSTKLatest_SRCS})
> 
> # Linking with the IGSTK libraries should bring up all the other dependent
> # libraries such as ITK, VTK and FLTK
> # Linking with the FLTK, ITK and VTK libraries
> TARGET_LINK_LIBRARIES(IGSTKSandbox
>     ITKIO ITKBasicFilters ITKNumerics ITKCommon ITKSpatialObject ITKStatistics
>     vtkVolumeRendering vtkRendering vtkGraphics vtkHybrid vtkImaging 
>     vtkIO vtkFiltering vtkCommon
>     ${FLTK_LIBRARIES} ${EXTRA_LIBS}
> )
> 
> 
> ------------------------------------------------------------------------
> 
> 
> 
> 
> 
> 



More information about the IGSTK-Developers mailing list