comparison CMakeLists.txt @ 2550:1a69a4b622eb

finished beatifying cmake scripts
author Vladimir S. FONOV <vladimir.fonov@gmail.com>
date Thu, 08 Dec 2011 18:35:49 -0500
parents dcef05d4c2e2
children 3fe122bac48b
comparison
equal deleted inserted replaced
2549:dcef05d4c2e2 2550:1a69a4b622eb
28 SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") 28 SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
29 SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 29 SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
30 30
31 OPTION(BUILD_MINC2 "Support minc2 file format" ON) 31 OPTION(BUILD_MINC2 "Support minc2 file format" ON)
32 32
33 # yes, build as minc2
34 IF(BUILD_MINC2)
35 SET(MINC2 "1")
36 ENDIF(BUILD_MINC2)
37
38 ADD_DEFINITIONS(-DHAVE_CONFIG_H) 33 ADD_DEFINITIONS(-DHAVE_CONFIG_H)
39 34
40 # aliases 35 # aliases
41 SET(VERSION "${PACKAGE_VERSION}") 36 SET(VERSION "${PACKAGE_VERSION}")
42 37
48 43
49 INCLUDE(CheckIncludeFiles) 44 INCLUDE(CheckIncludeFiles)
50 CHECK_INCLUDE_FILES(float.h HAVE_FLOAT_H) 45 CHECK_INCLUDE_FILES(float.h HAVE_FLOAT_H)
51 46
52 # netcdf and HDF5 47 # netcdf and HDF5
53 SET(NETCDF_FIND_REQUIRED TRUE) 48 FIND_PACKAGE(NETCDF REQUIRED)
54 FIND_PACKAGE(NETCDF)
55 INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} ) 49 INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} )
56 50
57 IF(BUILD_MINC2) 51 IF(BUILD_MINC2)
58 SET(HDF5_FIND_REQUIRED TRUE) 52 FIND_PACKAGE(HDF5 REQUIRED)
53 FIND_PACKAGE(ZLIB REQUIRED)
54 SET(MINC2 "1")
59 INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIR} ) 55 INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIR} )
60 ENDIF(BUILD_MINC2) 56 ENDIF(BUILD_MINC2)
61 FIND_PACKAGE(HDF5)
62 57
63 # config files for build 58 # config files for build
64 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_SOURCE_DIR}/config.h) 59 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_SOURCE_DIR}/config.h)
65 60
66 # others 61 # others
117 112
118 IF(BUILD_MINC2) 113 IF(BUILD_MINC2)
119 SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ${minc2_LIB_SRCS}) 114 SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ${minc2_LIB_SRCS})
120 SET(minc_LIB minc2) 115 SET(minc_LIB minc2)
121 ADD_LIBRARY(minc2 STATIC ${minc_LIB_SRCS} ) 116 ADD_LIBRARY(minc2 STATIC ${minc_LIB_SRCS} )
117
118 TARGET_LINK_LIBRARIES(minc2 ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ${ZLIB_LIBRARIES} m )
119
122 INSTALL(TARGETS minc2 DESTINATION lib) 120 INSTALL(TARGETS minc2 DESTINATION lib)
123 121
124 INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h 122 INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h
125 libsrc/voxel_loop.h 123 libsrc/voxel_loop.h
126 libsrc/nd_loop.h 124 libsrc/nd_loop.h
137 ELSE(BUILD_MINC2) 135 ELSE(BUILD_MINC2)
138 136
139 SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ) 137 SET(minc_LIB_SRCS ${minc1_LIB_SRCS} )
140 SET(minc_LIB minc) 138 SET(minc_LIB minc)
141 ADD_LIBRARY(minc STATIC ${minc1_LIB_SRCS} ) 139 ADD_LIBRARY(minc STATIC ${minc1_LIB_SRCS} )
140 TARGET_LINK_LIBRARIES(minc ${NETCDF_LIBRARY} )
142 INSTALL(TARGETS minc DESTINATION lib) 141 INSTALL(TARGETS minc DESTINATION lib)
143 142
144 INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h 143 INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h
145 libsrc/voxel_loop.h 144 libsrc/voxel_loop.h
146 libsrc/nd_loop.h 145 libsrc/nd_loop.h
198 IF(BUILD_MINC2) 197 IF(BUILD_MINC2)
199 # build and install volume_io2 library 198 # build and install volume_io2 library
200 ADD_LIBRARY(volume_io2 STATIC ${volume_io_LIB_SRCS}) 199 ADD_LIBRARY(volume_io2 STATIC ${volume_io_LIB_SRCS})
201 INSTALL(TARGETS volume_io2 DESTINATION lib) 200 INSTALL(TARGETS volume_io2 DESTINATION lib)
202 SET_TARGET_PROPERTIES(volume_io2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) 201 SET_TARGET_PROPERTIES(volume_io2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
202 SET( volume_io_LIB volume_io2)
203
203 ELSE(BUILD_MINC2) 204 ELSE(BUILD_MINC2)
204 ADD_LIBRARY(volume_io STATIC ${volume_io_LIB_SRCS}) 205 ADD_LIBRARY(volume_io STATIC ${volume_io_LIB_SRCS})
205 INSTALL(TARGETS volume_io DESTINATION lib) 206 INSTALL(TARGETS volume_io DESTINATION lib)
206 SET_TARGET_PROPERTIES(volume_io PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) 207 SET_TARGET_PROPERTIES(volume_io PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
208 SET( volume_io_LIB volume_io)
207 ENDIF(BUILD_MINC2) 209 ENDIF(BUILD_MINC2)
208 210
209 INSTALL(FILES volume_io/Include/volume_io/alloc.h 211 INSTALL(FILES volume_io/Include/volume_io/alloc.h
210 volume_io/Include/volume_io/arrays.h 212 volume_io/Include/volume_io/arrays.h
211 volume_io/Include/volume_io/basic.h 213 volume_io/Include/volume_io/basic.h