Mercurial > hg > minc-tools
changeset 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 |
files | CMakeLists.txt progs/CMakeLists.txt |
diffstat | 2 files changed, 65 insertions(+), 66 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,11 +30,6 @@ OPTION(BUILD_MINC2 "Support minc2 file format" ON) -# yes, build as minc2 -IF(BUILD_MINC2) - SET(MINC2 "1") -ENDIF(BUILD_MINC2) - ADD_DEFINITIONS(-DHAVE_CONFIG_H) # aliases @@ -50,15 +45,15 @@ CHECK_INCLUDE_FILES(float.h HAVE_FLOAT_H) # netcdf and HDF5 -SET(NETCDF_FIND_REQUIRED TRUE) -FIND_PACKAGE(NETCDF) +FIND_PACKAGE(NETCDF REQUIRED) INCLUDE_DIRECTORIES( ${NETCDF_INCLUDE_DIR} ) IF(BUILD_MINC2) - SET(HDF5_FIND_REQUIRED TRUE) + FIND_PACKAGE(HDF5 REQUIRED) + FIND_PACKAGE(ZLIB REQUIRED) + SET(MINC2 "1") INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIR} ) ENDIF(BUILD_MINC2) -FIND_PACKAGE(HDF5) # config files for build CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_SOURCE_DIR}/config.h) @@ -119,6 +114,9 @@ SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ${minc2_LIB_SRCS}) SET(minc_LIB minc2) ADD_LIBRARY(minc2 STATIC ${minc_LIB_SRCS} ) + + TARGET_LINK_LIBRARIES(minc2 ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ${ZLIB_LIBRARIES} m ) + INSTALL(TARGETS minc2 DESTINATION lib) INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h @@ -139,6 +137,7 @@ SET(minc_LIB_SRCS ${minc1_LIB_SRCS} ) SET(minc_LIB minc) ADD_LIBRARY(minc STATIC ${minc1_LIB_SRCS} ) + TARGET_LINK_LIBRARIES(minc ${NETCDF_LIBRARY} ) INSTALL(TARGETS minc DESTINATION lib) INSTALL(FILES libsrc/minc.h libsrc/ParseArgv.h @@ -200,10 +199,13 @@ 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}) + SET( volume_io_LIB volume_io2) + 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}) + SET( volume_io_LIB volume_io) ENDIF(BUILD_MINC2) INSTALL(FILES volume_io/Include/volume_io/alloc.h
--- a/progs/CMakeLists.txt +++ b/progs/CMakeLists.txt @@ -26,20 +26,45 @@ ADD_EXECUTABLE(mincaverage mincaverage/mincaverage.c) IF(BISON_FOUND AND FLEX_FOUND) + include_directories(${CMAKE_CURRENT_BINARY_DIR} minccalc) + + BISON_TARGET(gram ${CMAKE_CURRENT_SOURCE_DIR}/minccalc/gram.y ${CMAKE_CURRENT_BINARY_DIR}/gram.c COMPILE_FLAGS "--debug") + FLEX_TARGET(lex ${CMAKE_CURRENT_SOURCE_DIR}/minccalc/lex.l ${CMAKE_CURRENT_BINARY_DIR}/lex.c ) + #ADD_FLEX_BISON_DEPENDENCY(gram lex) - 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(minccalc + minccalc/minccalc.c + minccalc/eval.c + minccalc/ident.c + minccalc/node.c + minccalc/optim.c + minccalc/scalar.c + minccalc/sym.c + minccalc/vector.c + ${FLEX_lex_OUTPUTS} + ${BISON_gram_OUTPUTS} + ) + + TARGET_LINK_LIBRARIES(minccalc ${FLEX_LIBRARIES}) + + INSTALL( TARGETS minccalc DESTINATION bin) + + include_directories(${CMAKE_CURRENT_BINARY_DIR} mincgen) + BISON_TARGET(ncgentab ${CMAKE_CURRENT_SOURCE_DIR}/mincgen/ncgentab.y ${CMAKE_CURRENT_BINARY_DIR}/ncgentab.c) + FLEX_TARGET(ncgenyy ${CMAKE_CURRENT_SOURCE_DIR}/mincgen/ncgenyy.l ${CMAKE_CURRENT_BINARY_DIR}/ncgenyy.c) + #ADD_FLEX_BISON_DEPENDENCY(ncgenyy ncgentab) + + ADD_EXECUTABLE(mincgen mincgen/main.c + ${BISON_ncgentab_OUTPUTS} + ${FLEX_ncgenyy_OUTPUTS} + mincgen/escapes.c + mincgen/genlib.c + mincgen/getfill.c + mincgen/init.c + mincgen/load.c) + INSTALL( TARGETS mincgen DESTINATION bin) + + TARGET_LINK_LIBRARIES(mincgen ${FLEX_LIBRARIES}) ENDIF(BISON_FOUND AND FLEX_FOUND) @@ -55,23 +80,6 @@ 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) - INSTALL( TARGETS mincgen DESTINATION bin) - -ENDIF(BISON_FOUND AND FLEX_FOUND) - ADD_EXECUTABLE(mincinfo mincinfo/mincinfo.c) ADD_EXECUTABLE(minclookup minclookup/minclookup.c) ADD_EXECUTABLE(mincmakescalar mincmakescalar/mincmakescalar.c) @@ -82,7 +90,7 @@ 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_io_LIB} ${minc_LIB}) ADD_EXECUTABLE(mincreshape mincreshape/mincreshape.c mincreshape/copy_data.c) @@ -95,40 +103,20 @@ Proglib/convert_origin_to_start.c) 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) +TARGET_LINK_LIBRARIES(voxeltoworld ${volume_io_LIB} ${minc_LIB}) 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) +TARGET_LINK_LIBRARIES(worldtovoxel ${volume_io_LIB} ${minc_LIB}) 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) +TARGET_LINK_LIBRARIES(transformtags ${volume_io_LIB} ${minc_LIB}) 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) +TARGET_LINK_LIBRARIES(xfmconcat ${volume_io_LIB} ${minc_LIB}) 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) +TARGET_LINK_LIBRARIES(xfminvert ${volume_io_LIB} ${minc_LIB}) # install progs INSTALL(TARGETS @@ -166,7 +154,16 @@ mincdiff/mincdiff mincedit/mincedit mincheader/mincheader - minchistory/minchistory mincpik/mincpik mincview/mincview + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ DESTINATION bin ) + + +configure_file(minchistory/minchistory.in ${CMAKE_CURRENT_BINARY_DIR}/minchistory @ONLY) +add_custom_target(minchistory chmod +x ${CMAKE_CURRENT_BINARY_DIR}/minchistory DEPENDS minchistory/minchistory.in) + +INSTALL(FILES + ${CMAKE_CURRENT_BINARY_DIR}/minchistory + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ + DESTINATION bin )