changeset 2654:97fcc320deb3

removing ITK suport into a separate project
author Vladimir S. FONOV <vladimir.fonov@gmail.com>
date Thu, 22 Mar 2012 17:00:25 -0400
parents aed206ef4c5e
children 584b0bdfa619
files CMakeLists.txt MINC2Config.cmake.in UseMINC2.cmake.in
diffstat 3 files changed, 145 insertions(+), 284 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,142 +16,86 @@
 SET(PACKAGE_STRING  "${PACKAGE_NAME} ${PACKAGE_VERSION}")
 
 
-IF(itk-module)
-  # build minimal set for minc4itk library
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
-  SET(BUILD_EZMINC ON)
-  SET(BUILD_MINC4ITK OFF)
-  SET(BUILD_MINC2 ON)
-  SET(BUILD_TOOLS OFF)
-  SET(BUILD_ITK_PLUGIN OFF)
-  SET(BUILD_MINC4ITK_EXAMPLES OFF)
-  SET(BUILD_CONVERTERS OFF)
-  SET(BUILD_EZMINC_EXAMPLES OFF)
-  
+IF(NOT MINC_TOOLKIT_BUILD)
   SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules")
-  
-  FIND_PACKAGE(NETCDF REQUIRED)
-  # configuring as ITK external module
-  SET(USE_ITK_HDF5 ON)  # we made requirement for ITKHDF5
-  SET(HDF5_INCLUDE_DIR "${ITKHDF5_INCLUDE_DIRS}/itkhdf5") # a hack?
-  SET(HDF5_LIBRARY     ${ITKHDF5_LIBRARIES})
-  SET(ZLIB_LIBRARIES   ${ITKZLIB_LIBRARIES})
+  ENABLE_TESTING()
+  INCLUDE(CTest)
   
-  SET(HAVE_ZLIB 1)# we made requirement for ITKHDF5
-ELSE(itk-module)
-
-  CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+  SET(CPACK_GENERATOR TGZ)
+  SET(CPACK_PACKAGE_VERSION_MAJOR ${MINC2_PACKAGE_VERSION_MAJOR})
+  SET(CPACK_PACKAGE_VERSION_MINOR ${MINC2_PACKAGE_VERSION_MINOR})
+  SET(CPACK_PACKAGE_VERSION_PATCH ${MINC2_PACKAGE_VERSION_PATCH})
+  
+  INCLUDE(CPack)
+ENDIF(NOT MINC_TOOLKIT_BUILD)
 
-  IF(NOT MINC_TOOLKIT_BUILD)
-    SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules")
-    ENABLE_TESTING()
-    INCLUDE(CTest)
-    
-    IF(CMAKE_VERSION VERSION_GREATER 2.8.2 )
-      INCLUDE(ExternalProject)
-      INCLUDE(BuildNETCDF)
-      INCLUDE(BuildHDF5)
-      SET(ENABLE_SUPERBUILD ON)
-    ELSE(CMAKE_VERSION VERSION_GREATER 2.8.2 )
-      SET(ENABLE_SUPERBUILD OFF)
-    ENDIF(CMAKE_VERSION VERSION_GREATER 2.8.2)
-    
-    SET(CPACK_GENERATOR TGZ)
-    SET(CPACK_PACKAGE_VERSION_MAJOR ${MINC2_PACKAGE_VERSION_MAJOR})
-    SET(CPACK_PACKAGE_VERSION_MINOR ${MINC2_PACKAGE_VERSION_MINOR})
-    SET(CPACK_PACKAGE_VERSION_PATCH ${MINC2_PACKAGE_VERSION_PATCH})
-    
-    INCLUDE(CPack)
+#ADD_SUBDIRECTORY( doc )
+
+OPTION(MINC2_BUILD_V2          "Support minc2 file format" ON)
+OPTION(MINC2_BUILD_TOOLS       "Build minc tools (mincreshape,mincresample, etc)" ON)
+OPTION(MINC2_BUILD_CONVERTERS  "Build minc conversion programs (mnc2nii, nii2mnc , dcm2mnc...)" ON)
+OPTION(MINC2_BUILD_EZMINC      "Build C++ interface library EZminc" ON)
+OPTION(MINC2_BUILD_SHARED_LIBS "Build minc2 with shared libraries." OFF)
 
-    FIND_PACKAGE(ITK QUIET)
-    
-  ENDIF(NOT MINC_TOOLKIT_BUILD)
-
-  #ADD_SUBDIRECTORY( doc )
-
-  OPTION(BUILD_MINC2       "Support minc2 file format" ON)
-  OPTION(BUILD_TOOLS       "Build minc tools (mincreshape,mincresample, etc)" ON)
-  OPTION(BUILD_CONVERTERS  "Build minc conversion programs (mnc2nii, nii2mnc , dcm2mnc...)" ON)
-  OPTION(BUILD_EZMINC      "Build C++ interface library EZminc" ON)
-  OPTION(BUILD_SHARED_LIBS "Build minc2 with shared libraries." OFF)
-
-  IF(ENABLE_SUPERBUILD)
-    OPTION(USE_SYSTEM_NETCDF "Use System NETCDF > 3.6.3" ON)
-  ELSE(ENABLE_SUPERBUILD)
-    SET(USE_SYSTEM_NETCDF ON)
-  ENDIF(ENABLE_SUPERBUILD)
-
-  IF(BUILD_EZMINC AND ITK_FOUND)
-    OPTION(BUILD_MINC4ITK   "Build ITK interface" ON)
-  ENDIF(BUILD_EZMINC AND ITK_FOUND)
+IF(MINC2_BUILD_V2 AND NOT MINC_TOOLKIT_BUILD)
+  IF(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library
+    IF(ITKHDF5_LOADED)
+      SET(USE_ITK_HDF5 ON)
+    ELSE(ITKHDF5_LOADED)
+      SET(USE_ITK_HDF5 OFF)
+    ENDIF(ITKHDF5_LOADED)
+  ELSE(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library
+    SET(USE_ITK_HDF5 OFF)
+    IF(ENABLE_SUPERBUILD)
+      OPTION(USE_SYSTEM_HDF5 "Use System HDF5 > 1.8" ON)
+    ELSE(ENABLE_SUPERBUILD)
+      SET(USE_SYSTEM_HDF5 ON)
+    ENDIF(ENABLE_SUPERBUILD)
+  ENDIF(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library
+ENDIF(BUILD_MINC2 AND NOT MINC_TOOLKIT_BUILD)
 
-  IF(BUILD_MINC2 AND NOT MINC_TOOLKIT_BUILD)
-    IF(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library
-      IF(ITKHDF5_LOADED)
-        SET(USE_ITK_HDF5 ON)
-      ELSE(ITKHDF5_LOADED)
-        SET(USE_ITK_HDF5 OFF)
-      ENDIF(ITKHDF5_LOADED)
-    ELSE(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library
-      SET(USE_ITK_HDF5 OFF)
-      IF(ENABLE_SUPERBUILD)
-        OPTION(USE_SYSTEM_HDF5 "Use System HDF5 > 1.8" ON)
-      ELSE(ENABLE_SUPERBUILD)
-        SET(USE_SYSTEM_HDF5 ON)
-      ENDIF(ENABLE_SUPERBUILD)
-    ENDIF(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library
-  ENDIF(BUILD_MINC2 AND NOT MINC_TOOLKIT_BUILD)
-
-  IF(BUILD_SHARED_LIBS)
-    SET(LIBRARY_TYPE SHARED)
-    SET(LIBRARY_INSTALL LIBRARY)
-  ELSE(BUILD_SHARED_LIBS)
-    SET(LIBRARY_TYPE STATIC)
-    SET(LIBRARY_INSTALL ARCHIVE)
-  ENDIF(BUILD_SHARED_LIBS)
+IF(BUILD_SHARED_LIBS)
+  SET(LIBRARY_TYPE SHARED)
+  SET(LIBRARY_INSTALL LIBRARY)
+ELSE(BUILD_SHARED_LIBS)
+  SET(LIBRARY_TYPE STATIC)
+  SET(LIBRARY_INSTALL ARCHIVE)
+ENDIF(BUILD_SHARED_LIBS)
 
 
-  # external packages
-  IF(NOT MINC_TOOLKIT_BUILD)
-    IF(USE_SYSTEM_NETCDF AND NOT MINC_TOOLKIT_BUILD)
-      FIND_PACKAGE(NETCDF REQUIRED)
-    ELSE(USE_SYSTEM_NETCDF AND NOT MINC_TOOLKIT_BUILD)
-      build_netcdf(${CMAKE_INSTALL_PREFIX})
-    ENDIF(USE_SYSTEM_NETCDF AND NOT MINC_TOOLKIT_BUILD)
-  ENDIF(NOT MINC_TOOLKIT_BUILD)
+# external packages
+IF(NOT MINC_TOOLKIT_BUILD)
+  FIND_PACKAGE(NETCDF REQUIRED)
+ENDIF(NOT MINC_TOOLKIT_BUILD)
 
 
-  IF(BUILD_MINC2 AND NOT MINC_TOOLKIT_BUILD)
-    IF(USE_ITK_HDF5)
-      SET(HDF5_INCLUDE_DIR "${ITKHDF5_INCLUDE_DIRS}/itkhdf5") # a hack?
-      SET(HDF5_LIBRARY     ${ITKHDF5_LIBRARIES})
-      SET(ZLIB_LIBRARIES   ${ITKZLIB_LIBRARIES})
-    ELSE(USE_ITK_HDF5)
-      FIND_PACKAGE(ZLIB REQUIRED)
-      IF(USE_SYSTEM_HDF5)
-        FIND_PACKAGE(HDF5 REQUIRED)
-      ELSE(USE_SYSTEM_HDF5)
-        build_hdf5(${CMAKE_INSTALL_PREFIX})
-      ENDIF(USE_SYSTEM_HDF5)
-    ENDIF(USE_ITK_HDF5)
-    
+IF(MINC2_BUILD_V2 AND NOT MINC_TOOLKIT_BUILD)
+  IF(USE_ITK_HDF5)
+    SET(HDF5_INCLUDE_DIR "${ITKHDF5_INCLUDE_DIRS}/itkhdf5") # a hack?
+    SET(HDF5_LIBRARY     ${ITKHDF5_LIBRARIES})
+    SET(ZLIB_LIBRARIES   ${ITKZLIB_LIBRARIES})
+  ELSE(USE_ITK_HDF5)
+    FIND_PACKAGE(ZLIB REQUIRED)
+    FIND_PACKAGE(HDF5 REQUIRED)
+  ENDIF(USE_ITK_HDF5)
+  
+  IF(ZLIB_FOUND)
+    SET(HAVE_ZLIB 1)
+  ELSE(ZLIB_FOUND)
+    FIND_PACKAGE(ZLIB)
     IF(ZLIB_FOUND)
       SET(HAVE_ZLIB 1)
-    ELSE(ZLIB_FOUND)
-      FIND_PACKAGE(ZLIB)
-      IF(ZLIB_FOUND)
-        SET(HAVE_ZLIB 1)
-      ENDIF(ZLIB_FOUND)
     ENDIF(ZLIB_FOUND)
-  ENDIF(BUILD_MINC2 AND NOT MINC_TOOLKIT_BUILD)
+  ENDIF(ZLIB_FOUND)
+ENDIF(MINC2_BUILD_V2 AND NOT MINC_TOOLKIT_BUILD)
 
-  # add for building relocatable library
-  IF(UNIX)
-    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
-  ENDIF(UNIX)
-
-ENDIF(itk-module)
+# add for building relocatable library
+IF(UNIX)
+  SET(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -fPIC")
+  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
+ENDIF(UNIX)
 
 # check for prereqs
 INCLUDE(CheckFunctionExists)
@@ -196,34 +140,23 @@
 # aliases
 SET(VERSION "${PACKAGE_VERSION}")
 
-IF(BUILD_EZMINC)
+IF(MINC2_BUILD_EZMINC)
   set(MINC2_INCLUDE_DIRS_CONFIG    
     ${CMAKE_CURRENT_SOURCE_DIR}/ezminc
   )
   INCLUDE_DIRECTORIES(
     ${CMAKE_CURRENT_SOURCE_DIR}/ezminc
    )
-ENDIF(BUILD_EZMINC)
-
-IF(BUILD_MINC4ITK AND BUILD_EZMINC)
-  set(MINC2_INCLUDE_DIRS_CONFIG    
-    ${CMAKE_CURRENT_SOURCE_DIR}/minc4itk
-  )
-
-  INCLUDE_DIRECTORIES(
-    ${CMAKE_CURRENT_SOURCE_DIR}/minc4itk
-   )
-ENDIF(BUILD_MINC4ITK AND BUILD_EZMINC)
-
+ENDIF(MINC2_BUILD_EZMINC)
 
 # netcdf and HDF5
 
-IF(BUILD_MINC2)
+IF(MINC2_BUILD_V2)
   FIND_PACKAGE(ZLIB REQUIRED)
   SET(MINC2 "1")
 ELSE(BUILD_MINC2)
   SET(MINC2 "0")
-ENDIF(BUILD_MINC2)
+ENDIF(MINC2_BUILD_V2)
 
 # config files for build
 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
@@ -241,9 +174,9 @@
 
 INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} )
 
-IF(BUILD_MINC2)
+IF(MINC2_BUILD_V2)
   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/libsrc2 )
-ENDIF(BUILD_MINC2)
+ENDIF(MINC2_BUILD_V2)
 
 # some variables
 SET(minc1_LIB_SRCS
@@ -358,12 +291,12 @@
 
 SET(MINC2_DEPENDENCIES "")
 
-IF(NOT USE_SYSTEM_NETCDF) 
-  SET(MINC2_DEPENDENCIES ${MINC2_DEPENDENCIES} NETCDF)
-ENDIF(NOT USE_SYSTEM_NETCDF)  
+# IF(NOT USE_SYSTEM_NETCDF) 
+#   SET(MINC2_DEPENDENCIES ${MINC2_DEPENDENCIES} NETCDF)
+# ENDIF(NOT USE_SYSTEM_NETCDF)  
 
 
-IF(BUILD_MINC2)
+IF(MINC2_BUILD_V2)
   INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIR} )
 
   SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ${minc2_LIB_SRCS})
@@ -376,158 +309,88 @@
   IF(NOT USE_SYSTEM_HDF5)
     SET(MINC2_DEPENDENCIES ${MINC2_DEPENDENCIES} HDF5)
   ENDIF(NOT USE_SYSTEM_HDF5)
-ELSE(BUILD_MINC2)
+ELSE(MINC2_BUILD_V2)
   SET(minc_LIB_SRCS ${minc1_LIB_SRCS} )
   SET(minc_HEADERS ${minc1_HEADERS} ${minc2_HEADERS})
-ENDIF(BUILD_MINC2)
-
-
-IF(NOT itk-module)
-
-  ADD_LIBRARY(${MINC2_LIBRARY} ${LIBRARY_TYPE} ${minc_LIB_SRCS} )
-  TARGET_LINK_LIBRARIES(${MINC2_LIBRARY} ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ${ZLIB_LIBRARIES} m )
-
-  ADD_LIBRARY(${VOLUME_IO_LIBRARY} ${LIBRARY_TYPE} ${volume_io_LIB_SRCS})
-
-  SET_TARGET_PROPERTIES(${MINC2_LIBRARY}     PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
-  SET_TARGET_PROPERTIES(${VOLUME_IO_LIBRARY} PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
-  
-  ADD_DEPENDENCIES(${MINC2_LIBRARY} ${MINC2_DEPENDENCIES}) 
-  ADD_DEPENDENCIES(${VOLUME_IO_LIBRARY} ${MINC2_LIBRARY})
-  
-  INSTALL(TARGETS ${MINC2_LIBRARY} ${LIBRARY_INSTALL} DESTINATION lib)
-  INSTALL(TARGETS ${VOLUME_IO_LIBRARY} ${LIBRARY_INSTALL} DESTINATION lib)
-  
-  INSTALL(FILES 
-      ${minc2_HEADERS}
-    DESTINATION 
-      include
-    )
-  
-  INSTALL(FILES
-    ${volume_io_HEADERS}
-    DESTINATION include/volume_io)
+ENDIF(MINC2_BUILD_V2)
 
 
-  IF(BUILD_TOOLS)
-    ADD_SUBDIRECTORY( progs )
-  ENDIF(BUILD_TOOLS)
+ADD_LIBRARY(${MINC2_LIBRARY} ${LIBRARY_TYPE} ${minc_LIB_SRCS} )
+TARGET_LINK_LIBRARIES(${MINC2_LIBRARY} ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ${ZLIB_LIBRARIES} m )
 
-  IF(BUILD_CONVERTERS)
-    ADD_SUBDIRECTORY( conversion )
-  ENDIF(BUILD_CONVERTERS)
+ADD_LIBRARY(${VOLUME_IO_LIBRARY} ${LIBRARY_TYPE} ${volume_io_LIB_SRCS})
 
-  IF(BUILD_EZMINC)
-    ADD_SUBDIRECTORY( ezminc )
-  ENDIF(BUILD_EZMINC)
+SET_TARGET_PROPERTIES(${MINC2_LIBRARY}     PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
+SET_TARGET_PROPERTIES(${VOLUME_IO_LIBRARY} PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
 
-  IF(BUILD_MINC4ITK AND BUILD_EZMINC)
-    ADD_SUBDIRECTORY( minc4itk )
-  ENDIF(BUILD_MINC4ITK AND BUILD_EZMINC)
+ADD_DEPENDENCIES(${MINC2_LIBRARY}     ${MINC2_DEPENDENCIES}) 
+ADD_DEPENDENCIES(${VOLUME_IO_LIBRARY} ${MINC2_LIBRARY})
 
-  # config for the build directory
-  set(MINC2_USE_FILE_CONFIG  ${CMAKE_CURRENT_BINARY_DIR}/UseMINC2.cmake)
-
-  set(MINC2_INCLUDE_DIRS_CONFIG
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/libsrc
-    ${CMAKE_CURRENT_SOURCE_DIR}/volume_io/Include
-  )
+INSTALL(TARGETS ${MINC2_LIBRARY}     ${LIBRARY_INSTALL} DESTINATION lib)
+INSTALL(TARGETS ${VOLUME_IO_LIBRARY} ${LIBRARY_INSTALL} DESTINATION lib)
+INSTALL(FILES   ${minc2_HEADERS}     DESTINATION  include  )
+INSTALL(FILES   ${volume_io_HEADERS} DESTINATION include/volume_io)
 
-  IF(BUILD_MINC2)
-    set(MINC2_INCLUDE_DIRS_CONFIG
-      ${MINC2_INCLUDE_DIRS_CONFIG}
-      ${CMAKE_CURRENT_SOURCE_DIR}/libsrc2
-    )
-  ENDIF(BUILD_MINC2)
+IF(MINC2_BUILD_TOOLS)
+  ADD_SUBDIRECTORY( progs )
+ENDIF(BUILD_TOOLS)
 
-  IF(BUILD_EZMINC)
-    SET(EZMINC_LIBRARIES minc_io ${MINC2_LIBRARIES})
-  ENDIF(BUILD_EZMINC)
-
-  IF(BUILD_MINC4ITK)
-    SET(MINC4ITK_LIBRARIES minc4itk ${EZMINC_LIBRARIES})
-  ENDIF(BUILD_MINC4ITK)
-
-  set(MINC2_LIBRARY_DIRS_CONFIG ${CMAKE_CURRENT_BINARY_DIR})
+IF(MINC2_BUILD_CONVERTERS)
+  ADD_SUBDIRECTORY( conversion )
+ENDIF(BUILD_CONVERTERS)
 
-  configure_file(MINC2Config.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/MINC2Config.cmake @ONLY )
-
-  configure_file(UseMINC2.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/UseMINC2.cmake @ONLY)
-
-  # config for install dir
-  set(MINC2_USE_FILE_CONFIG "${CMAKE_INSTALL_PREFIX}/lib/UseMINC2.cmake")
+IF(MINC2_BUILD_EZMINC)
+  ADD_SUBDIRECTORY( ezminc )
+ENDIF(BUILD_EZMINC)
 
-  set(MINC2_INCLUDE_DIRS_CONFIG
-    ${CMAKE_INSTALL_PREFIX}/include
-  )
+# config for the build directory
+set(MINC2_USE_FILE_CONFIG  ${CMAKE_CURRENT_BINARY_DIR}/UseMINC2.cmake)
 
-  set(MINC2_LIBRARY_DIRS_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
-
-  configure_file(MINC2Config.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MINC2Config.cmake @ONLY )
+set(MINC2_INCLUDE_DIRS_CONFIG
+  ${CMAKE_CURRENT_SOURCE_DIR}
+  ${CMAKE_CURRENT_SOURCE_DIR}/libsrc
+  ${CMAKE_CURRENT_SOURCE_DIR}/volume_io/Include
+)
 
-  configure_file(UseMINC2.cmake.in
-    ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/UseMINC2.cmake @ONLY)
+IF(MINC2_BUILD_V2)
+  set(MINC2_INCLUDE_DIRS_CONFIG
+    ${MINC2_INCLUDE_DIRS_CONFIG}
+    ${CMAKE_CURRENT_SOURCE_DIR}/libsrc2
+  )
+ENDIF(MINC2_BUILD_V2)
 
-  INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/UseMINC2.cmake ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MINC2Config.cmake
-    DESTINATION lib
-    COMPONENT Development)
-  # testing
+IF(MINC2_BUILD_EZMINC)
+  SET(EZMINC_LIBRARIES minc_io ${MINC2_LIBRARIES})
+ENDIF(MINC2_BUILD_EZMINC)
+
+set(MINC2_LIBRARY_DIRS_CONFIG ${CMAKE_CURRENT_BINARY_DIR})
 
-ELSE(NOT itk-module)
+configure_file(MINC2Config.cmake.in
+  ${CMAKE_CURRENT_BINARY_DIR}/MINC2Config.cmake @ONLY )
+
+configure_file(UseMINC2.cmake.in
+  ${CMAKE_CURRENT_BINARY_DIR}/UseMINC2.cmake @ONLY)
 
-  SET(ITKIOMINC_LIBRARIES ITKIOMINC ${ITKHDF5_LIBRARIES} ${NETCDF_LIBRARY} ${ITKZLIB_LIBRARIES})
-  SET(ITKIOMINC_NO_SRC ON)
-  SET(ITKIOMINC_SYSTEM_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR}) 
-  
-  #SET(ITKIOMINC_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR})
-  SET(ITKIOMINC_THIRD_PARTY ON)
-  
-  IF(BUILD_MINC2)
-    ADD_DEFINITIONS( -DMINC2 )
-  ENDIF(BUILD_MINC2)
-  
-  INCLUDE_DIRECTORIES( ezminc minc4itk )
-  
-  ADD_LIBRARY(ITKIOMINC 
-    # EZ Minc
-    ezminc/minc_1_rw.cpp
-    ezminc/minc_1_simple_rw.cpp  
-    
-    # minc4itk
-    minc4itk/itkMincImageIO.cxx
-    minc4itk/itkMincImageIOFactory.cxx
-  
-    # volume io
-    ${volume_io_LIB_SRCS} 
-    
-    # minc low level
-    ${minc_LIB_SRCS} )
-  
-  target_link_libraries(ITKIOMINC
-    ${ITKIOImageBase_LIBRARIES}
-    ${ITKHDF5_LIBRARIES}
-    ${NETCDF_LIBRARY}
-    ${ITKZLIB_LIBRARIES}
-  )
-  
-  itk_module_target(ITKIOMINC NO_INSTALL)
-  
-  if(NOT ITK_INSTALL_NO_LIBRARIES)
-    install(TARGETS ITKIOMINC
-      EXPORT ${ITKIOMINC_INSTALL_EXPORT_NAME}
-      RUNTIME DESTINATION ${ITK_INSTALL_RUNTIME_DIR} COMPONENT RuntimeLibraries
-      LIBRARY DESTINATION ${ITK_INSTALL_LIBRARY_DIR} COMPONENT RuntimeLibraries
-      ARCHIVE DESTINATION ${ITK_INSTALL_ARCHIVE_DIR} COMPONENT Development
-      )
-  endif(NOT ITK_INSTALL_NO_LIBRARIES)
+# config for install dir
+set(MINC2_USE_FILE_CONFIG "${CMAKE_INSTALL_PREFIX}/lib/UseMINC2.cmake")
+
+set(MINC2_INCLUDE_DIRS_CONFIG
+  ${CMAKE_INSTALL_PREFIX}/include
+)
+
+set(MINC2_LIBRARY_DIRS_CONFIG ${CMAKE_INSTALL_PREFIX}/lib)
+
+configure_file(MINC2Config.cmake.in
+  ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MINC2Config.cmake @ONLY )
 
-  itk_module_impl()
-ENDIF(NOT itk-module)
+configure_file(UseMINC2.cmake.in
+  ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/UseMINC2.cmake @ONLY)
 
-IF(BUILD_TESTING AND NOT itk-module)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/UseMINC2.cmake ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MINC2Config.cmake
+  DESTINATION lib
+  COMPONENT Development)
+# testing
+
+IF(BUILD_TESTING)
   ADD_SUBDIRECTORY( testdir )
-ENDIF(BUILD_TESTING AND NOT itk-module)
+ENDIF(BUILD_TESTING)
--- a/MINC2Config.cmake.in
+++ b/MINC2Config.cmake.in
@@ -1,6 +1,6 @@
-set(HAVE_MINC2    @BUILD_MINC2@)
-set(HAVE_EZMINC   @BUILD_EZMINC@)
-set(HAVE_MINC4ITK @BUILD_MINC4ITK@)
+set(HAVE_MINC2    @MINC2_BUILD_V2@)
+set(HAVE_EZMINC   @MINC2_BUILD_EZMINC@)
+set(HAVE_MINC4ITK @MINC2_BUILD_MINC4ITK@)
 set(USE_ITK_HDF5  @USE_ITK_HDF5@)
 
 set(NETCDF_INCLUDE_DIR "@NETCDF_INCLUDE_DIR@")
@@ -8,7 +8,6 @@
 set(NETCDF_LIBRARY     "@NETCDF_LIBRARY@")
 set(HDF5_LIBRARY       "@HDF5_LIBRARY@")
 set(ZLIB_LIBRARIES     "@ZLIB_LIBRARIES@")
-set(ITK_DIR            "@ITK_DIR@")
 
 set(MINC2_INCLUDE_DIRS "@MINC2_INCLUDE_DIRS_CONFIG@")
 set(MINC2_LIBRARY_DIRS "@MINC2_LIBRARY_DIRS_CONFIG@")
@@ -16,5 +15,4 @@
 set(MINC2_LIBRARIES    "@MINC2_LIBRARIES@")
 
 set(EZMINC_LIBRARIES    "@EZMINC_LIBRARIES@")
-set(MINC4ITK_LIBRARIES  "@MINC4ITK_LIBRARIES@")
 set(VOLUME_IO_LIBRARIES "@VOLUME_IO_LIBRARY@")
--- a/UseMINC2.cmake.in
+++ b/UseMINC2.cmake.in
@@ -1,6 +1,6 @@
 INCLUDE_DIRECTORIES(${MINC2_INCLUDE_DIRS})
 LINK_DIRECTORIES(${MINC2_LIBRARY_DIRS})
-INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} )
+INCLUDE_DIRECTORIES(${NETCDF_INCLUDE_DIR} )
 
 IF(HAVE_MINC2)
   SET(MINC2 "1")