changeset 2645:d7d5ce3e8a64

integrating with minc-toolkit
author Vladimir S. FONOV <vladimir.fonov@gmail.com>
date Tue, 20 Mar 2012 00:13:37 -0400
parents d714b50ca099
children 199f91058105
files CMakeLists.txt
diffstat 1 files changed, 43 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,38 +4,41 @@
 # Vladimir S. FONOV - vladimir.fonov@gmail.com
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-INCLUDE(ExternalProject)
-
-PROJECT(minc2)
+SET(MINC2_PACKAGE_VERSION_MAJOR 2)
+SET(MINC2_PACKAGE_VERSION_MINOR 1)
+SET(MINC2_PACKAGE_VERSION_PATCH 20)
 
-SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake-modules")
-ENABLE_TESTING()
-INCLUDE(CTest)
 
-IF(CMAKE_VERSION VERSION_GREATER 2.8.2)
-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)
+IF(NOT MINC_TOOLKIT_BUILD)
+  PROJECT(minc2)
+  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)
+ENDIF(NOT MINC_TOOLKIT_BUILD)
 
 #ADD_SUBDIRECTORY( doc )
 
-# Packaging defines
-SET(CPACK_GENERATOR TGZ)
-SET(CPACK_PACKAGE_VERSION_MAJOR 2)
-SET(CPACK_PACKAGE_VERSION_MINOR 1)
-SET(CPACK_PACKAGE_VERSION_PATCH 20)
-INCLUDE(CPack)
-
-
 SET(PACKAGE "minc2")
 SET(PACKAGE_BUGREPORT "a.janke@gmail.com")
 
 SET(PACKAGE_NAME "minc2")
-SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
-SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
+SET(PACKAGE_VERSION "${MINC2_PACKAGE_VERSION_MAJOR}.${MINC2_PACKAGE_VERSION_MINOR}.${MINC2_PACKAGE_VERSION_PATCH}")
+SET(PACKAGE_STRING  "${PACKAGE_NAME} ${PACKAGE_VERSION}")
 
 OPTION(BUILD_MINC2       "Support minc2 file format" ON)
 OPTION(BUILD_TOOLS       "Build minc tools (mincreshape,mincresample, etc)" ON)
@@ -44,9 +47,9 @@
 OPTION(BUILD_SHARED_LIBS "Build minc2 with shared libraries." OFF)
 
 IF(ENABLE_SUPERBUILD)
-OPTION(USE_SYSTEM_NETCDF "Use System NETCDF > 3.6.3" ON)
+  OPTION(USE_SYSTEM_NETCDF "Use System NETCDF > 3.6.3" ON)
 ELSE(ENABLE_SUPERBUILD)
-SET(USE_SYSTEM_NETCDF ON)
+  SET(USE_SYSTEM_NETCDF ON)
 ENDIF(ENABLE_SUPERBUILD)
 
 FIND_PACKAGE(ITK QUIET)
@@ -86,7 +89,6 @@
 # external packages
 IF(USE_SYSTEM_NETCDF)
   FIND_PACKAGE(NETCDF REQUIRED)
-  
 ELSE(USE_SYSTEM_NETCDF)
   build_netcdf(${CMAKE_INSTALL_PREFIX})
 ENDIF(USE_SYSTEM_NETCDF)
@@ -180,11 +182,11 @@
 
 IF(BUILD_MINC4ITK AND BUILD_EZMINC)
   set(MINC2_INCLUDE_DIRS_CONFIG    
-    ${CMAKE_SOURCE_DIR}/minc4itk
+    ${CMAKE_CURRENT_SOURCE_DIR}/minc4itk
   )
 
   INCLUDE_DIRECTORIES(
-    ${CMAKE_SOURCE_DIR}/minc4itk
+    ${CMAKE_CURRENT_SOURCE_DIR}/minc4itk
    )
 ENDIF(BUILD_MINC4ITK AND BUILD_EZMINC)
 
@@ -199,25 +201,25 @@
 ENDIF(BUILD_MINC2)
 
 # config files for build
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h @ONLY)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
 
 # others
-CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/epm-header.in ${CMAKE_BINARY_DIR}/epm-header)
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/epm-header.in ${CMAKE_CURRENT_BINARY_DIR}/epm-header)
 
 
 # set the master INCLUDE directories
 INCLUDE_DIRECTORIES(
    ${CMAKE_CURRENT_SOURCE_DIR}
-   ${CMAKE_BINARY_DIR}
-   ${CMAKE_SOURCE_DIR}/libsrc
-   ${CMAKE_SOURCE_DIR}/volume_io/Include
+   ${CMAKE_CURRENT_BINARY_DIR}
+   ${CMAKE_CURRENT_SOURCE_DIR}/libsrc
+   ${CMAKE_CURRENT_SOURCE_DIR}/volume_io/Include
    )
 
 INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} )
 
 IF(BUILD_MINC2)
   INCLUDE_DIRECTORIES(
-   ${CMAKE_SOURCE_DIR}/libsrc2
+   ${CMAKE_CURRENT_SOURCE_DIR}/libsrc2
    )
 ENDIF(BUILD_MINC2)
 
@@ -284,7 +286,7 @@
     DESTINATION include
     )
 
-  SET_TARGET_PROPERTIES(minc2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
+  SET_TARGET_PROPERTIES(minc2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
 
   IF(NOT USE_SYSTEM_HDF5)
       ADD_DEPENDENCIES(${MINC2_LIBRARY} HDF5)
@@ -307,7 +309,7 @@
       DESTINATION include
       )
 
-    SET_TARGET_PROPERTIES(minc PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
+    SET_TARGET_PROPERTIES(minc PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
 ENDIF(BUILD_MINC2)
 
 IF(NOT USE_SYSTEM_NETCDF)
@@ -358,14 +360,14 @@
   # build and install volume_io2 library
   ADD_LIBRARY(volume_io2 ${LIBRARY_TYPE} ${volume_io_LIB_SRCS})
   INSTALL(TARGETS volume_io2 ${LIBRARY_INSTALL} DESTINATION lib)
-  SET_TARGET_PROPERTIES(volume_io2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
+  SET_TARGET_PROPERTIES(volume_io2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
   SET( VOLUME_IO_LIBRARY volume_io2)
   ADD_DEPENDENCIES(volume_io2 ${MINC2_LIBRARY})
 
 ELSE(BUILD_MINC2)
   ADD_LIBRARY(volume_io ${LIBRARY_TYPE} ${volume_io_LIB_SRCS})
   INSTALL(TARGETS volume_io ${LIBRARY_INSTALL} DESTINATION lib)
-  SET_TARGET_PROPERTIES(volume_io PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
+  SET_TARGET_PROPERTIES(volume_io PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${MINC2_PACKAGE_VERSION_MAJOR})
   SET( VOLUME_IO_LIBRARY volume_io)
   ADD_DEPENDENCIES(volume_io ${MINC2_LIBRARY})
 ENDIF(BUILD_MINC2)
@@ -411,14 +413,14 @@
 
 set(MINC2_INCLUDE_DIRS_CONFIG
    ${CMAKE_CURRENT_SOURCE_DIR}
-   ${CMAKE_SOURCE_DIR}/libsrc
-   ${CMAKE_SOURCE_DIR}/volume_io/Include
+   ${CMAKE_CURRENT_SOURCE_DIR}/libsrc
+   ${CMAKE_CURRENT_SOURCE_DIR}/volume_io/Include
 )
 
 IF(BUILD_MINC2)
   set(MINC2_INCLUDE_DIRS_CONFIG
     ${MINC2_INCLUDE_DIRS_CONFIG}
-    ${CMAKE_SOURCE_DIR}/libsrc2
+    ${CMAKE_CURRENT_SOURCE_DIR}/libsrc2
   )
 ENDIF(BUILD_MINC2)