################################################################################ # Project: ManagedITK #------------------------------------------------------------------------------- # This project creates Managed (ie. .NET) wrappers for common ITK filters and # algorithms. It is integrated with an image processing application called # "SharpImage". # # Dan Mueller, d.mueller[at]qut.edu.au, 10 April 2007. # ################################################################################ #------------------------------------------------------------------------------- # NOTE: This project must currently be built as "in-source". #------------------------------------------------------------------------------- # Set the project name PROJECT(ManagedITK) # Include some useful macros associated with the Insight Journal INCLUDE(${CMAKE_SOURCE_DIR}/IJMacros.txt) # Set external dependencies. SET(Required_Packages ITK ) # This foreach loads all of the packages that you specified as required. FOREACH(Package ${Required_Packages}) LOADPACKAGE(${Package}) ENDFOREACH(Package) # Setup some useful paths SET(MANAGED_ITK_CMAKE_PATH "${CMAKE_SOURCE_DIR}") SET(MANAGED_ITK_SOURCE_PATH "${MANAGED_ITK_CMAKE_PATH}/Source") SET(MANAGED_ITK_IMAGES_PATH "${MANAGED_ITK_CMAKE_PATH}/Images") SET(MANAGED_ITK_TESTING_PATH "${MANAGED_ITK_CMAKE_PATH}/Testing") SET(MANAGED_ITK_EXAMPLES_PATH "${MANAGED_ITK_CMAKE_PATH}/Examples") SET(MANAGED_ITK_UTILITIES_PATH "${MANAGED_ITK_CMAKE_PATH}/Utilities") SET(MANAGED_ITK_SOURCE_COMMON_PATH "${MANAGED_ITK_SOURCE_PATH}/Common") SET(MANAGED_ITK_SOURCE_MODULES_PATH "${MANAGED_ITK_SOURCE_PATH}/Modules") SET(MANAGED_ITK_SOURCE_SHARPIMAGE_PATH "${MANAGED_ITK_SOURCE_PATH}/SharpImage") SET(MANAGED_ITK_SOURCE_REFERENCES_PATH "${MANAGED_ITK_SOURCE_PATH}/References") SET(MANAGED_ITK_SOURCE_BUILD_PATH "${CMAKE_BINARY_DIR}/Source") SET(MANAGED_ITK_SOURCE_COMMON_BUILD_PATH "${MANAGED_ITK_SOURCE_BUILD_PATH}/Common") SET(MANAGED_ITK_SOURCE_MODULES_BUILD_PATH "${MANAGED_ITK_SOURCE_BUILD_PATH}/Modules") SET(MANAGED_ITK_SOURCE_SHARPIMAGE_BUILD_PATH "${MANAGED_ITK_SOURCE_BUILD_PATH}/SharpImage") SET(MANAGED_ITK_SOURCE_REFERENCES_BUILD_PATH "${MANAGED_ITK_SOURCE_BUILD_PATH}/References") SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries." FORCE) SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables." FORCE) # We must force a release build type to ensure the managed project # is correctly integrated with the unmanaged project SET(CMAKE_BUILD_TYPE "Release") SET(MANAGED_ITK_SOURCE_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}) SET(MANAGED_ITK_TESTING_BUILD_PATH ${CMAKE_BINARY_DIR}/Testing/Temporary) # Construct VXL/VNL includes SET(MANAGED_ITK_VXL_INCLUDE_DIRS ${ITK_SOURCE_DIR}/Utilities/vxl ${ITK_SOURCE_DIR}/Utilities/vxl/core ${ITK_SOURCE_DIR}/Utilities/vxl/core/vnl ${ITK_SOURCE_DIR}/Utilities/vxl/vcl) # Set dependent libraries SET(VXL_NUMERICS_LIBRARIES itkvnl itkvnl_algo itknetlib) SET(ITK_Libraries ITKIO ITKCommon ITKNumerics ITKBasicFilters ITKSpatialObject ITKMetaIO ITKStatistics itksys ${VXL_NUMERICS_LIBRARIES} ) # Set the USE File SET(MANAGED_ITK_USE_FILE "${CMAKE_SOURCE_DIR}/UseManagedITK.cmake") # Add Source SUBDIRS(Source) # Configure finish batch file CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/FinishCMake.bat.in ${CMAKE_BINARY_DIR}/FinishCMake.bat @ONLY ) # Configure project config file CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/ManagedITKConfig.cmake.in ${CMAKE_BINARY_DIR}/ManagedITKConfig.cmake @ONLY )