Mercurial > hg > minc-tools
changeset 2549:dcef05d4c2e2
Beautifying cmake files
author | Vladimir S. FONOV <vladimir.fonov@gmail.com> |
---|---|
date | Thu, 08 Dec 2011 17:25:35 -0500 |
parents | 3f3e9cc93eee |
children | 1a69a4b622eb |
files | CMakeLists.txt conversion/CMakeLists.txt progs/CMakeLists.txt |
diffstat | 3 files changed, 232 insertions(+), 145 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,20 +28,18 @@ SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") +OPTION(BUILD_MINC2 "Support minc2 file format" ON) # yes, build as minc2 -SET(MINC2 "1") +IF(BUILD_MINC2) + SET(MINC2 "1") +ENDIF(BUILD_MINC2) + ADD_DEFINITIONS(-DHAVE_CONFIG_H) # aliases SET(VERSION "${PACKAGE_VERSION}") -# progs needed to build -#SET(FLEX_FIND_REQUIRED) -#SET(BISON_FIND_REQUIRED) -#FIND_PACKAGE(BISON) -#FIND_PACKAGE(FLEX) - # check for prereqs INCLUDE(CheckFunctionExists) @@ -53,10 +51,14 @@ # netcdf and HDF5 SET(NETCDF_FIND_REQUIRED TRUE) -SET(HDF5_FIND_REQUIRED TRUE) +FIND_PACKAGE(NETCDF) +INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} ) + +IF(BUILD_MINC2) + SET(HDF5_FIND_REQUIRED TRUE) + INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIR} ) +ENDIF(BUILD_MINC2) FIND_PACKAGE(HDF5) -FIND_PACKAGE(NETCDF) -INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} ${HDF5_INCLUDE_DIR} ) # config files for build CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_SOURCE_DIR}/config.h) @@ -68,10 +70,16 @@ INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/libsrc - ${CMAKE_SOURCE_DIR}/libsrc2 ${CMAKE_SOURCE_DIR}/volume_io/Include ) +IF(BUILD_MINC2) + INCLUDE_DIRECTORIES( + ${CMAKE_SOURCE_DIR}/libsrc2 + ) +ENDIF(BUILD_MINC2) + + # some variables SET(minc1_LIB_SRCS libsrc/ParseArgv.c @@ -105,26 +113,52 @@ libsrc2/volume.c ) +SET(minc_LIB minc) + +IF(BUILD_MINC2) + SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ${minc2_LIB_SRCS}) + SET(minc_LIB minc2) + ADD_LIBRARY(minc2 STATIC ${minc_LIB_SRCS} ) + INSTALL(TARGETS minc2 DESTINATION lib) + + INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h + libsrc/voxel_loop.h + libsrc/nd_loop.h + libsrc/time_stamp.h + libsrc/minc_compat.h + volume_io/Include/volume_io.h + libsrc2/minc2.h + libsrc/minc_simple.h + DESTINATION include + ) + + SET_TARGET_PROPERTIES(minc2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) + +ELSE(BUILD_MINC2) + + SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ) + SET(minc_LIB minc) + ADD_LIBRARY(minc STATIC ${minc1_LIB_SRCS} ) + INSTALL(TARGETS minc DESTINATION lib) + + INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h + libsrc/voxel_loop.h + libsrc/nd_loop.h + libsrc/time_stamp.h + libsrc/minc_compat.h + volume_io/Include/volume_io.h + libsrc/minc_simple.h + DESTINATION include + ) + + SET_TARGET_PROPERTIES(minc PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) + +ENDIF(BUILD_MINC2) # build the main minc2 library -ADD_LIBRARY(minc2 STATIC ${minc1_LIB_SRCS} ${minc2_LIB_SRCS}) -INSTALL(TARGETS minc2 DESTINATION lib) -INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h - libsrc/voxel_loop.h - libsrc/nd_loop.h - libsrc/time_stamp.h - libsrc/minc_compat.h - volume_io/Include/volume_io.h - libsrc2/minc2.h - libsrc/minc_simple.h - DESTINATION include - ) - -SET_TARGET_PROPERTIES(minc2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) - # volume_io2 -SET(volume_io2_LIB_SRCS +SET(volume_io_LIB_SRCS volume_io/Geometry/colour.c volume_io/Geometry/colour_def.c volume_io/Geometry/gaussian.c @@ -161,9 +195,17 @@ volume_io/Volumes/volumes.c ) -# build and install volume_io2 library -ADD_LIBRARY(volume_io2 STATIC ${volume_io2_LIB_SRCS}) -INSTALL(TARGETS volume_io2 DESTINATION lib) +IF(BUILD_MINC2) + # build and install volume_io2 library + ADD_LIBRARY(volume_io2 STATIC ${volume_io_LIB_SRCS}) + INSTALL(TARGETS volume_io2 DESTINATION lib) + SET_TARGET_PROPERTIES(volume_io2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) +ELSE(BUILD_MINC2) + ADD_LIBRARY(volume_io STATIC ${volume_io_LIB_SRCS}) + INSTALL(TARGETS volume_io DESTINATION lib) + SET_TARGET_PROPERTIES(volume_io PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) +ENDIF(BUILD_MINC2) + INSTALL(FILES volume_io/Include/volume_io/alloc.h volume_io/Include/volume_io/arrays.h volume_io/Include/volume_io/basic.h @@ -182,13 +224,9 @@ volume_io/Include/volume_io/volume_cache.h DESTINATION include/volume_io) -SET_TARGET_PROPERTIES(volume_io2 PROPERTIES VERSION ${PACKAGE_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) - - # now build the progs subdir ADD_SUBDIRECTORY( progs ) - # and then the conversion subdir ADD_SUBDIRECTORY( conversion )
--- a/conversion/CMakeLists.txt +++ b/conversion/CMakeLists.txt @@ -2,8 +2,13 @@ # # Andrew Janke - a.janke@gmail.com -LINK_DIRECTORIES(../) -LINK_LIBRARIES( minc2 ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ) +#LINK_DIRECTORIES() +IF(BUILD_MINC2) + LINK_LIBRARIES( minc2 ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ) +ELSE(BUILD_MINC2) + LINK_LIBRARIES( minc ${NETCDF_LIBRARY} ) +ENDIF(BUILD_MINC2) + ADD_DEFINITIONS(-DHAVE_CONFIG_H) @@ -19,9 +24,8 @@ Acr_nema/group.c Acr_nema/message.c Acr_nema/value_repr.c) -#INSTALL(TARGETS acr_nema DESTINATION lib) -ADD_EXECUTABLE(../dcm2mnc +ADD_EXECUTABLE(dcm2mnc dcm2mnc/dcm2mnc.c dcm2mnc/dicom_to_minc.c dcm2mnc/siemens_to_dicom.c @@ -29,49 +33,60 @@ dcm2mnc/minc_file.c dcm2mnc/progress.c dcm2mnc/string_to_filename.c) -TARGET_LINK_LIBRARIES(../dcm2mnc acr_nema ) +TARGET_LINK_LIBRARIES(dcm2mnc acr_nema ) -ADD_EXECUTABLE(../ecattominc +ADD_EXECUTABLE(ecattominc ecattominc/ecattominc.c ecattominc/insertblood.c ecattominc/ecat_file.c ecattominc/machine_indep.c ) -ADD_EXECUTABLE(../minctoecat +ADD_EXECUTABLE(minctoecat minctoecat/minctoecat.c minctoecat/ecat_write.c minctoecat/machine_indep.c ) -TARGET_LINK_LIBRARIES(../minctoecat volume_io2 minc2) -ADD_EXECUTABLE(../mnc2nii +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(minctoecat volume_io2 minc2) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(minctoecat volume_io minc) +ENDIF(BUILD_MINC2) + + +ADD_EXECUTABLE(mnc2nii nifti1/mnc2nii.c nifti1/nifti1_io.c nifti1/znzlib.c ) -ADD_EXECUTABLE(../nii2mnc +ADD_EXECUTABLE(nii2mnc nifti1/nii2mnc.c nifti1/nifti1_io.c nifti1/znzlib.c ) -TARGET_LINK_LIBRARIES(../nii2mnc volume_io2 minc2) -ADD_EXECUTABLE(../upet2mnc +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(nii2mnc volume_io2 minc2) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(nii2mnc volume_io minc) +ENDIF(BUILD_MINC2) + +ADD_EXECUTABLE(upet2mnc micropet/upet2mnc.c ) -ADD_EXECUTABLE(../vff2mnc +ADD_EXECUTABLE(vff2mnc vff2mnc/vff2mnc.c ) # install progs INSTALL(TARGETS - ../dcm2mnc - ../ecattominc - ../minctoecat - ../mnc2nii - ../nii2mnc - ../upet2mnc - ../vff2mnc + dcm2mnc + ecattominc + minctoecat + mnc2nii + nii2mnc + upet2mnc + vff2mnc DESTINATION bin)
--- a/progs/CMakeLists.txt +++ b/progs/CMakeLists.txt @@ -2,131 +2,165 @@ # # Andrew Janke - a.janke@gmail.com -#SET(CMAKE_MODULE_PATH "../cmake-modules") +#SET(CMAKE_MODULE_PATH "cmake-modules") + +#LINK_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/..) +INCLUDE_DIRECTORIES(Proglib) -LINK_DIRECTORIES(../) -INCLUDE_DIRECTORIES(Proglib) -LINK_LIBRARIES( minc2 ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ) +IF(BUILD_MINC2) + LINK_LIBRARIES( minc2 ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ) +ELSE(BUILD_MINC2) + LINK_LIBRARIES( minc ${NETCDF_LIBRARY} ) +ENDIF(BUILD_MINC2) + ADD_DEFINITIONS(-DHAVE_CONFIG_H) -SET(BISON_FIND_REQUIRED) -SET(FLEX_FIND_REQUIRED) +#SET(BISON_FIND_REQUIRED) +#SET(FLEX_FIND_REQUIRED) + FIND_PACKAGE(BISON) FIND_PACKAGE(FLEX) # all the progs -ADD_EXECUTABLE(../invert_raw_image mincview/invert_raw_image.c) -ADD_EXECUTABLE(../mincaverage mincaverage/mincaverage.c) +ADD_EXECUTABLE(invert_raw_image mincview/invert_raw_image.c) +ADD_EXECUTABLE(mincaverage mincaverage/mincaverage.c) + +IF(BISON_FOUND AND FLEX_FOUND) -BISON_TARGET(../minccalc minccalc/gram.y minccalc/gram.c COMPILE_FLAGS "--debug") -FLEX_TARGET(../minccalc minccalc/lex.l minccalc/lex.c) -ADD_EXECUTABLE(../minccalc minccalc/minccalc.c - minccalc/gram.c - minccalc/eval.c - minccalc/ident.c - minccalc/lex.c - minccalc/node.c - minccalc/optim.c - minccalc/scalar.c - minccalc/sym.c - minccalc/vector.c) + BISON_TARGET(minccalc minccalc/gram.y minccalc/gram.c COMPILE_FLAGS "--debug") + FLEX_TARGET(minccalc minccalc/lex.l minccalc/lex.c) + ADD_EXECUTABLE(minccalc minccalc/minccalc.c + minccalc/gram.c + minccalc/eval.c + minccalc/ident.c + minccalc/lex.c + minccalc/node.c + minccalc/optim.c + minccalc/scalar.c + minccalc/sym.c + minccalc/vector.c) + INSTALL( TARGETS minccalc DESTINATION bin) -ADD_EXECUTABLE(../mincconcat mincconcat/mincconcat.c) -ADD_EXECUTABLE(../mincconvert mincconvert/mincconvert.c) -ADD_EXECUTABLE(../minccopy minccopy/minccopy.c) +ENDIF(BISON_FOUND AND FLEX_FOUND) -ADD_EXECUTABLE(../mincdump mincdump/mincdump.c +ADD_EXECUTABLE(mincconcat mincconcat/mincconcat.c) +ADD_EXECUTABLE(mincconvert mincconvert/mincconvert.c) +ADD_EXECUTABLE(minccopy minccopy/minccopy.c) + +ADD_EXECUTABLE(mincdump mincdump/mincdump.c mincdump/vardata.c mincdump/dumplib.c) -ADD_EXECUTABLE(../mincexample1 mincexample/mincexample1.c) -ADD_EXECUTABLE(../mincexample2 mincexample/mincexample2.c) -ADD_EXECUTABLE(../mincexpand mincexpand/mincexpand.c) -ADD_EXECUTABLE(../mincextract mincextract/mincextract.c) +ADD_EXECUTABLE(mincexample1 mincexample/mincexample1.c) +ADD_EXECUTABLE(mincexample2 mincexample/mincexample2.c) +ADD_EXECUTABLE(mincexpand mincexpand/mincexpand.c) +ADD_EXECUTABLE(mincextract mincextract/mincextract.c) + +IF(BISON_FOUND AND FLEX_FOUND) -BISON_TARGET(../mincgen mincgen/ncgentab.y mincgen/nccentab.c) -FLEX_TARGET(../mincgen mincgen/ncgenyy.l mincgen/ncgenyy.c) -ADD_EXECUTABLE(../mincgen mincgen/main.c - mincgen/escapes.c - mincgen/genlib.c - mincgen/getfill.c - mincgen/init.c - mincgen/load.c - mincgen/ncgentab.c - mincgen/ncgenyy.c) + BISON_TARGET(mincgen mincgen/ncgentab.y mincgen/nccentab.c) + FLEX_TARGET(mincgen mincgen/ncgenyy.l mincgen/ncgenyy.c) + ADD_EXECUTABLE(mincgen mincgen/main.c + mincgen/escapes.c + mincgen/genlib.c + mincgen/getfill.c + mincgen/init.c + mincgen/load.c + mincgen/ncgentab.c + mincgen/ncgenyy.c) + INSTALL( TARGETS mincgen DESTINATION bin) -ADD_EXECUTABLE(../mincinfo mincinfo/mincinfo.c) -ADD_EXECUTABLE(../minclookup minclookup/minclookup.c) -ADD_EXECUTABLE(../mincmakescalar mincmakescalar/mincmakescalar.c) -ADD_EXECUTABLE(../mincmakevector mincmakevector/mincmakevector.c) -ADD_EXECUTABLE(../mincmath mincmath/mincmath.c) -ADD_EXECUTABLE(../minc_modify_header minc_modify_header/minc_modify_header.c) +ENDIF(BISON_FOUND AND FLEX_FOUND) -ADD_EXECUTABLE(../mincresample mincresample/mincresample.c +ADD_EXECUTABLE(mincinfo mincinfo/mincinfo.c) +ADD_EXECUTABLE(minclookup minclookup/minclookup.c) +ADD_EXECUTABLE(mincmakescalar mincmakescalar/mincmakescalar.c) +ADD_EXECUTABLE(mincmakevector mincmakevector/mincmakevector.c) +ADD_EXECUTABLE(mincmath mincmath/mincmath.c) +ADD_EXECUTABLE(minc_modify_header minc_modify_header/minc_modify_header.c) + +ADD_EXECUTABLE(mincresample mincresample/mincresample.c mincresample/resample_volumes.c Proglib/convert_origin_to_start.c) -TARGET_LINK_LIBRARIES(../mincresample volume_io2) +TARGET_LINK_LIBRARIES(mincresample volume_io2) -ADD_EXECUTABLE(../mincreshape mincreshape/mincreshape.c +ADD_EXECUTABLE(mincreshape mincreshape/mincreshape.c mincreshape/copy_data.c) -ADD_EXECUTABLE(../mincstats mincstats/mincstats.c) -ADD_EXECUTABLE(../minctoraw minctoraw/minctoraw.c) -ADD_EXECUTABLE(../mincwindow mincwindow/mincwindow.c) +ADD_EXECUTABLE(mincstats mincstats/mincstats.c) +ADD_EXECUTABLE(minctoraw minctoraw/minctoraw.c) +ADD_EXECUTABLE(mincwindow mincwindow/mincwindow.c) -ADD_EXECUTABLE(../rawtominc rawtominc/rawtominc.c +ADD_EXECUTABLE(rawtominc rawtominc/rawtominc.c Proglib/convert_origin_to_start.c) -ADD_EXECUTABLE(../voxeltoworld coordinates/voxeltoworld.c) -TARGET_LINK_LIBRARIES(../voxeltoworld volume_io2 minc2) +ADD_EXECUTABLE(voxeltoworld coordinates/voxeltoworld.c) +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(voxeltoworld volume_io2 ) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(voxeltoworld volume_io ) +ENDIF(BUILD_MINC2) -ADD_EXECUTABLE(../worldtovoxel coordinates/worldtovoxel.c) -TARGET_LINK_LIBRARIES(../worldtovoxel volume_io2 minc2) +ADD_EXECUTABLE(worldtovoxel coordinates/worldtovoxel.c) +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(worldtovoxel volume_io2 ) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(worldtovoxel volume_io ) +ENDIF(BUILD_MINC2) -ADD_EXECUTABLE(../transformtags xfm/transformtags.c) -TARGET_LINK_LIBRARIES(../transformtags volume_io2 minc2) +ADD_EXECUTABLE(transformtags xfm/transformtags.c) +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(transformtags volume_io2 ) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(transformtags volume_io ) +ENDIF(BUILD_MINC2) -ADD_EXECUTABLE(../xfmconcat xfm/xfmconcat.c) -TARGET_LINK_LIBRARIES(../xfmconcat volume_io2 minc2) +ADD_EXECUTABLE(xfmconcat xfm/xfmconcat.c) +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(xfmconcat volume_io2 ) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(xfmconcat volume_io ) +ENDIF(BUILD_MINC2) -ADD_EXECUTABLE(../xfminvert xfm/xfminvert.c) -TARGET_LINK_LIBRARIES(../xfminvert volume_io2 minc2) +ADD_EXECUTABLE(xfminvert xfm/xfminvert.c) +IF(BUILD_MINC2) + TARGET_LINK_LIBRARIES(xfminvert volume_io2 ) +ELSE(BUILD_MINC2) + TARGET_LINK_LIBRARIES(xfminvert volume_io ) +ENDIF(BUILD_MINC2) # install progs INSTALL(TARGETS - ../invert_raw_image - ../mincaverage - ../minccalc - ../mincconcat - ../mincconvert - ../minccopy - ../mincdump -# ../mincexample1 -# ../mincexample2 - ../mincexpand - ../mincextract - ../mincgen - ../mincinfo - ../minclookup - ../mincmakescalar - ../mincmakevector - ../mincmath - ../minc_modify_header - ../mincresample - ../mincreshape - ../mincstats - ../minctoraw - ../mincwindow - ../rawtominc - ../voxeltoworld - ../worldtovoxel - ../transformtags - ../xfmconcat - ../xfminvert + invert_raw_image + mincaverage + mincconcat + mincconvert + minccopy + mincdump +# mincexample1 +# mincexample2 + mincexpand + mincextract + mincinfo + minclookup + mincmakescalar + mincmakevector + mincmath + minc_modify_header + mincresample + mincreshape + mincstats + minctoraw + mincwindow + rawtominc + voxeltoworld + worldtovoxel + transformtags + xfmconcat + xfminvert DESTINATION bin) - # perl and shell scripts INSTALL(FILES mincdiff/mincdiff