# HG changeset patch # User Vladimir Fonov # Date 1331056495 18000 # Node ID a9aee65d93ad1c368d54eb6cf35e05cb0a0b6e27 # Parent 9a29271fcbbeebd1d1aac63f2d4fd8a852376d63# Parent 55fac3cfdf486dbafe4b8fb09155ab099251c6f3 Merged with Andrew's patches and also resolving errors for in-source build diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,11 +37,11 @@ SET(PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") -option(BUILD_SHARED_LIBS "Build minc2 with shared libraries." OFF) 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" OFF) @@ -58,16 +58,16 @@ IF(BUILD_MINC2) IF(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library - IF(ITKHDF5_LOADED)#ITK_MODULES_ENABLED MATCHES "ITKHDF5" - message(WARNING "ITK compiled with HDF5 support!") + IF(ITKHDF5_LOADED) + message(WARNING "ITK compiled with HDF5 support!") SET(USE_ITK_HDF5 ON) - ENDIF(ITKHDF5_LOADED)#ITK_MODULES_ENABLED MATCHES "ITKHDF5" + ENDIF(ITKHDF5_LOADED) ELSE(ITK_FOUND AND ITK_VERSION_MAJOR VERSION_EQUAL 4) # check if using ITK HDF5 library IF(ENABLE_SUPERBUILD) - OPTION(USE_SYSTEM_HDF5 "Use System HDF5 > 1.8" OFF) - ELSE(ENABLE_SUPERBUILD) - SET(USE_SYSTEM_HDF5 ON) + OPTION(USE_SYSTEM_HDF5 "Use System HDF5 > 1.8" OFF) + 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 @@ -111,6 +111,12 @@ ADD_DEFINITIONS(-DHAVE_CONFIG_H) +# 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) + # aliases SET(VERSION "${PACKAGE_VERSION}") @@ -455,6 +461,3 @@ IF(BUILD_TESTING) ADD_SUBDIRECTORY( testdir ) ENDIF(BUILD_TESTING) - - - diff --git a/progs/CMakeLists.txt b/progs/CMakeLists.txt --- a/progs/CMakeLists.txt +++ b/progs/CMakeLists.txt @@ -155,7 +155,7 @@ DESTINATION bin) # perl and shell scripts -INSTALL(FILES +INSTALL(PROGRAMS mincdiff/mincdiff mincedit/mincedit mincheader/mincheader @@ -165,10 +165,11 @@ 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) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/minchistory/minchistory.in ${CMAKE_CURRENT_BINARY_DIR}/minchistory.pl @ONLY) +add_custom_target(minchistory.pl chmod +x ${CMAKE_CURRENT_BINARY_DIR}/minchistory.pl DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/minchistory/minchistory.in) -INSTALL(FILES - ${CMAKE_CURRENT_BINARY_DIR}/minchistory +INSTALL(PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/minchistory.pl PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ - DESTINATION bin ) + DESTINATION bin + RENAME minchistory )