Commit be7610b0 authored by Andreas Tille's avatar Andreas Tille
Browse files

New upstream version 3.17.0

parent 066e6cd2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
*.dylib
*.real
*.cplx
*.bak
inc/
*.d
!CMakeLists.txt
@@ -24,3 +25,6 @@ external/
test/integration/test_cases.txt
*.h5
tags
test/integration/*.xprot
test/integration/*.xml
.atom-build.json
+218 −125
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 2.8.7) #Currently targeting to TRAVIS CI cmake version from 2011
foreach(p
    CMP0025 # CMake 3.0 Compiler id for Apple Clang is now ``AppleClang``.
    CMP0042 # CMake 3.0 ``MACOSX_RPATH`` is enabled by default.
    CMP0046 # CMake 3.0 Error on non-existent dependency in add_dependencies.
    CMP0054 # CMake 3.1 Only interpret ``if()`` arguments as variables or keywords when unquoted.
    CMP0056 # CMake 3.2 Honor link flags in ``try_compile()`` source-file signature.
    CMP0058 # CMake 3.3 Ninja requires custom command byproducts to be explicit.
    )
  if(POLICY ${p})
    cmake_policy(SET ${p} NEW)
  endif()
endforeach()
project(GADGETRON)

find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
  set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
  set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
endif(CCACHE_FOUND)
# --- Provide good defaults for searching for packages (i.e. ismrmrd)
set(CMAKE_PREFIX_PATH "")
if(CMAKE_PREFIX_PATH)
  list(APPEND CMAKE_PREFIX_PATH "/usr/local")
endif()
if(EXISTS $ENV{CMAKE_PREFIX_PATH})
  list(APPEND CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
endif()
if(EXISTS $ENV{ISMRMRD_HOME})
  list(APPEND CMAKE_PREFIX_PATH $ENV{ISMRMRD_HOME})
endif()
list(REMOVE_DUPLICATES CMAKE_PREFIX_PATH)
message(STATUS "Looking for packages in : ${CMAKE_PREFIX_PATH}")
# ---

# check the compiler version
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  if (NOT CMAKE_CXX_COMPILER_VERSION) #Compiler version is not set on Ubuntu 12.02 (gcc 4.6)
@@ -10,7 +42,7 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
    message("CXX COMPILER VERSION: ${CMAKE_CXX_COMPILER_ID} : ${CMAKE_CXX_COMPILER_VERSION}")
    message(FATAL_ERROR "Gadgetron requires GCC version >= 4.8")
  endif()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
  if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
    message(FATAL_ERROR "Gadgetron requires Clang version >= 3.5")
  endif()
@@ -24,8 +56,8 @@ endif()

#VERSIONING AND INSTALL PATHS
set(GADGETRON_VERSION_MAJOR 3)
set(GADGETRON_VERSION_MINOR 7)
set(GADGETRON_VERSION_PATCH 5) 
set(GADGETRON_VERSION_MINOR 17)
set(GADGETRON_VERSION_PATCH 0) 
set(GADGETRON_VERSION_STRING ${GADGETRON_VERSION_MAJOR}.${GADGETRON_VERSION_MINOR}.${GADGETRON_VERSION_PATCH})
set(GADGETRON_SOVERSION ${GADGETRON_VERSION_MAJOR}.${GADGETRON_VERSION_MINOR})
find_package(Git)
@@ -37,7 +69,7 @@ if (GIT_FOUND)
  if(${GADGETRON_GIT_SHA1_LEN} LESS 40)
    message(WARNING "Could not determine SHA-1 hash: ${GADGETRON_GIT_STDERR}")
    set(GADGETRON_GIT_SHA1 "NA")
  endif(${GADGETRON_GIT_SHA1_LEN} LESS 40)
  endif()
else()
  set(GADGETRON_GIT_SHA1 "NA")
endif()
@@ -51,83 +83,109 @@ set(GADGETRON_INSTALL_CHROOT_SCRIPTS_PATH share/gadgetron/chroot)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)

#Set the build type to Release if not specified
IF(NOT CMAKE_BUILD_TYPE)
  SET(CMAKE_BUILD_TYPE Release CACHE STRING
if(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Release CACHE STRING
      "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
      FORCE)
ENDIF(NOT CMAKE_BUILD_TYPE)
endif()

# build options for 64 bits system
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
  message("64bit system is found")
  set( HAS_64_BIT On CACHE BOOL "64bit build")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
else()
  message("32bit system is found")
  set( HAS_64_BIT Off CACHE BOOL "64bit build")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
endif()

# whether to install dependencies
OPTION(GADGETRON_INSTALL_DEPENDENCIES "Install gadgetron dependencies" Off)
option(GADGETRON_INSTALL_DEPENDENCIES "Install gadgetron dependencies" Off)

# build options for OpenMP support
find_package(OpenMP)
OPTION(USE_OPENMP "Use OpenMP" On)
option(USE_OPENMP "Use OpenMP" On)
if (OPENMP_FOUND)
  if(USE_OPENMP)
    message("OpenMP multithreading enabled")
    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    ADD_DEFINITIONS(-DUSE_OMP)
  else (USE_OPENMP)
    add_definitions(-DUSE_OMP)
  else ()
    message("OpenMP multithreading is supported, but disabled")
  endif(USE_OPENMP) 
else (OPENMP_FOUND)
  endif()
else ()
  message("OpenMP multithreading not supported")
endif (OPENMP_FOUND)
endif ()

if (WIN32)
  ADD_DEFINITIONS(-DWIN32 -D_WIN32 -D_WINDOWS)
#  ADD_DEFINITIONS(-DUNICODE -D_UNICODE)
  ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
  ADD_DEFINITIONS(-D_VARIADIC_MAX=10) #to fix compiler limitations in Visual Studio Express
  ADD_DEFINITIONS("/wd4251") #disable warnings, 4251: needs to have dll-interface to be used by clients
  ADD_DEFINITIONS("/wd4344") #disable warnings, 4344: behavior change: use of explicit template arguments
  ADD_DEFINITIONS("/wd4996") #disable warnings, 4996: the POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name
  add_definitions(-DWIN32 -D_WIN32 -D_WINDOWS)
  #add_definitions(-DUNICODE -D_UNICODE)
  add_definitions(-D_CRT_SECURE_NO_WARNINGS)
  add_definitions(-D_VARIADIC_MAX=10) #to fix compiler limitations in Visual Studio Express
  add_definitions("/wd4251") #disable warnings, 4251: needs to have dll-interface to be used by clients
  add_definitions("/wd4344") #disable warnings, 4344: behavior change: use of explicit template arguments
  add_definitions("/wd4996") #disable warnings, 4996: the POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name
  if ( HAS_64_BIT )
    ADD_DEFINITIONS(-DWIN64 -D_WIN64)
  endif ( HAS_64_BIT )
  SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP")
  SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
  SET (CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} /INCREMENTAL:NO")
  SET (CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} /INCREMENTAL:NO")
  SET (CMAKE_EXE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  SET (CMAKE_STATIC_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
    add_definitions(-DWIN64 -D_WIN64)
  endif ()
  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /bigobj")
  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3")
  set (CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} /INCREMENTAL:NO")
  set (CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} /INCREMENTAL:NO")
  set (CMAKE_EXE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  set (CMAKE_SHARED_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  set (CMAKE_STATIC_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  set (CMAKE_MODULE_LINKER_FLAGS_DEBUG "/debug /INCREMENTAL:NO")
  # The two flags below is to fix Windows problems in relation to multiple defined operators new/delete and some constructors that are defined in our headers
#  SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /FORCE:MULTIPLE") 
#  SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /FORCE:MULTIPLE") 
else (WIN32)
  if (UNIX)
  #  set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /FORCE:MULTIPLE")
  #  set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /FORCE:MULTIPLE")
else ()
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")

  include(CheckCXXCompilerFlag)
  set(CXX_STANDARDS 20 17 14 11)

  set(CXX_STANDARD_FOUND 0)
  foreach(year ${CXX_STANDARDS})
    check_cxx_compiler_flag(-std=c++${year} COMPILER_SUPPORTS_CXX${year})
    if(COMPILER_SUPPORTS_CXX${year})
      set(CXX_STANDARD_FOUND 1)
      message(STATUS "Compiling using C++${year} standard")
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++${year}")
      break()
    endif()
  endforeach()

  if(APPLE)
      SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
    else (APPLE)
      SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -std=c++11")
    endif (APPLE)
  endif (UNIX)
endif (WIN32)
    if(NOT CXX_STANDARD_FOUND)
      set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y")
    endif()
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
    set(CXX_STANDARD_FOUND 1)
  else()
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type")
    check_cxx_compiler_flag(-Werror=terminate COMPILER_SUPPORTS_WTERMINATE)
    if(COMPILER_SUPPORTS_WTERMINATE)
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=terminate")
    endif()
  endif()

  if(NOT CXX_STANDARD_FOUND)
    message(FATAL_ERROR "The compiler does not support the most recent C++ standards. Please change compiler")
  endif()
endif ()

include_directories(${CMAKE_SOURCE_DIR}/toolboxes/log)

# whether to suppress compilation warnings
OPTION(BUILD_SUPPRESS_WARNINGS "Build package while suppressing warnings" Off)
option(BUILD_SUPPRESS_WARNINGS "Build package while suppressing warnings" Off)
if (BUILD_SUPPRESS_WARNINGS)
  if (WIN32)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
  elseif (WIN32)
    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -w")
  endif (WIN32)
endif (BUILD_SUPPRESS_WARNINGS)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -w")
  endif ()
endif ()

set(Boost_USE_STATIC_LIBS OFF)
set(Boost_USE_MULTITHREADED ON)
@@ -138,34 +196,34 @@ set(Boost_NO_BOOST_CMAKE ON)
if(WIN32)
  add_definitions( -DBOOST_ALL_NO_LIB )
  add_definitions( -DBOOST_ALL_DYN_LINK )
endif(WIN32)
endif()

if(WIN32)
  add_definitions( -DBOOST_ALL_NO_LIB )
  add_definitions( -DBOOST_ALL_DYN_LINK )
endif(WIN32)
endif()

# We actually only use system and thread explicitly, but they require linking in date_time and chrono
if (WIN32)
  find_package(Boost COMPONENTS system thread date_time chrono program_options filesystem REQUIRED)
else(WIN32)
  find_package(Boost COMPONENTS system thread program_options filesystem REQUIRED)
endif(WIN32)
  find_package(Boost COMPONENTS system thread date_time chrono program_options filesystem timer REQUIRED)
else()
  find_package(Boost COMPONENTS system thread program_options filesystem timer REQUIRED)
endif()

find_package(ACE)
if(NOT ACE_FOUND)
  MESSAGE("ACE not found. Only toolboxes and standalone applications are compiled. The streaming framework will NOT be compiled.")
endif(NOT ACE_FOUND)
find_package(ACE REQUIRED)

find_package(CUDA_advanced)
option(USE_CUDA "Build with CUDA support" On)

if (CUDA_FOUND)
  ADD_DEFINITIONS(-DUSE_CUDA)
  SET( GADGETRON_CUDA_FOUND_BOOL 1 )
if (USE_CUDA)
find_package(CUDA_advanced)
endif()
if (CUDA_FOUND AND USE_CUDA)
  add_definitions(-DUSE_CUDA)
  set( GADGETRON_CUDA_FOUND_BOOL 1 )
  include_directories( ${CUDA_INCLUDE_DIRS} )
  if (NOT WIN32)
    set(CUDA_PROPAGATE_HOST_FLAGS OFF)
  endif (NOT WIN32)
#  if (NOT WIN32)
#    set(CUDA_PROPAGATE_HOST_FLAGS OFF)
#  endif ()
  set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} )
  set(CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
  #set(CUDA_VERBOSE_BUILD ON)
@@ -174,20 +232,23 @@ if (CUDA_FOUND)
  # Support compute model 3.0 from Cuda 4.2 and up
  # Support compute model 3.5 from Cuda 5 and up

  OPTION(GADGETRON_CUDA_ALL_COMPUTE_MODEL "Build CUDA components for all computing models" Off)
  option(GADGETRON_CUDA_ALL_COMPUTE_MODEL "Build CUDA components for all computing models" OFF)
  if (GADGETRON_CUDA_ALL_COMPUTE_MODEL)
    MESSAGE("Compiling CUDA components to support compute model 2.0, 3.0 and 3.5") 
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_20,code=sm_20")
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_30,code=sm_30")
    message("Compiling CUDA components to support all compute model 3.5, 5.0, 5.2, 6.0, 6.1, 7.0")
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_35,code=sm_35")
  endif (GADGETRON_CUDA_ALL_COMPUTE_MODEL)
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_50,code=sm_50")
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_52,code=sm_52")
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_60,code=sm_60")
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_61,code=sm_61")
    set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-gencode arch=compute_70,code=sm_70")
  endif ()

  MESSAGE("Compiling with ${CUDA_NVCC_FLAGS}")
else (CUDA_FOUND)
  MESSAGE("CUDA not found. CUDA components will not be compiled.")
  SET( GADGETRON_CUDA_FOUND_BOOL 0 )
  SET( CUDA_NVCC_FLAGS "NA")
endif (CUDA_FOUND)
  message("Compiling with ${CUDA_NVCC_FLAGS}")
else ()
  message("CUDA not found. CUDA components will not be compiled.")
  set( GADGETRON_CUDA_FOUND_BOOL 0 )
  set( CUDA_NVCC_FLAGS "NA")
endif ()

find_package(GTest)
#Add support for the default ubuntu package of gtest (which is not compiled
@@ -195,80 +256,106 @@ if (NOT GTEST_FOUND)
  find_path(GTEST_SRC_DIR src/gtest.cc HINTS /usr/src/gtest)
  find_path(GTEST_INCLUDE_DIRS gtest.h HINTS /usr/include/gtest)
  if (GTEST_SRC_DIR AND GTEST_INCLUDE_DIRS)
    MESSAGE("GTest src package found. Compiling as part of Gadgetron.")
    message("GTest src package found. Compiling as part of Gadgetron.")
    add_subdirectory(${GTEST_SRC_DIR} ${CMAKE_BINARY_DIR}/gtest )
    include_directories(${GTEST_INCLUDE_DIRS})
    set(GTEST_FOUND 1)
    set(GTEST_LIBRARIES gtest gtest_main)
  endif (GTEST_SRC_DIR AND GTEST_INCLUDE_DIRS)
endif (NOT GTEST_FOUND)
  endif ()
endif ()

find_package(Armadillo)
find_package(Armadillo 4.600 REQUIRED)
# check whether ILP64 MKL should is used
if(ARMADILLO_FOUND)
  ADD_DEFINITIONS(-DUSE_ARMADILLO)
  set(ARMADILLO_BLAS_LONG_LONG FALSE)
  if(EXISTS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/config.hpp")
    # Read and parse armadillo config.hpp to find out whether BLAS uses long long
    file(STRINGS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/config.hpp" _armadillo_blas_long_long REGEX "// #define ARMA_BLAS_LONG_LONG")
    if ( NOT _armadillo_blas_long_long )
      set(ARMADILLO_BLAS_LONG_LONG TRUE)
      MESSAGE("Armadillo is found to use long long for BLAS calls")
    else ( NOT _armadillo_blas_long_long )
      MESSAGE("Armadillo found. Note that ARMADILLO_BLAS_LONG_LONG _must_ be defined in ${ARMADILLO_INCLUDE_DIR}/armadillo_bits/config.hpp to link against the MKL ILP64 interface.")
    endif ( NOT _armadillo_blas_long_long )
    unset(_armadillo_blas_long_long)
  endif()
else()
  message("Armadillo not found. This will disable many toolboxes and gadgets.")
endif()

find_package(HDF5 1.8 COMPONENTS C CXX HL)
if (HDF5_FOUND)
  message("HDF5 Found")
      message("Armadillo is found to use long long for BLAS calls")
    else ()
  message("HDF5 not found")
      message("Armadillo found. Note that ARMADILLO_BLAS_LONG_LONG _must_ be defined in ${ARMADILLO_INCLUDE_DIR}/armadillo_bits/config.hpp to link against the MKL ILP64 interface.")
    endif ()
find_package(FFTW3 COMPONENTS single double)
if (FFTW3_FOUND)
  message("FFTW3 Found")
else()
  message("FFTW3 not found")
    unset(_armadillo_blas_long_long)
  endif()
find_package(Ismrmrd)
if (ISMRMRD_FOUND)
  message("ISMRMRD Found")
else()
  message("ISMRMRD not found")

endif()

find_package(HDF5 1.8 COMPONENTS C CXX HL REQUIRED)
find_package(FFTW3 COMPONENTS single double REQUIRED)
find_package(ISMRMRD REQUIRED)
link_directories(${ISMRMRD_LIBRARY_DIRS})
find_package(MKL)
if (MKL_FOUND)
  if ( MKL_VERSION_STRING VERSION_LESS 11.2.0 )
    message(FATAL_ERROR "Gadgetron requires Intel MKL version >= 11.2.0")
  endif ()
endif (MKL_FOUND)
endif ()
find_package(BLAS)
find_package(LAPACK)
if (LAPACK_FOUND)
  message("LAPACK Found")
  ADD_DEFINITIONS(-DUSE_LAPACK)
endif (LAPACK_FOUND)
  add_definitions(-DUSE_LAPACK)
endif ()

find_package(Eigen3)
find_package(Ceres)

option(BUILD_PYTHON_SUPPORT "Build Python gadgets etc" On)

if (BUILD_PYTHON_SUPPORT)

  option(BUILD_WITH_PYTHON3 "Build with Python 3.x" Off)

  if (BUILD_WITH_PYTHON3)
    find_package(Python3)
  else()
    find_package(PythonLibs 2)
  endif ()

  string(REPLACE "." ";" PYTHON_VERSION_MAJOR ${PYTHONLIBS_VERSION_STRING})
  list(GET PYTHON_VERSION_MAJOR 0 PYVER)
  add_definitions(-DPYVER=${PYVER})

  find_package(NumPy)
  if(NOT PYTHONLIBS_FOUND)
    message(STATUS "Python Libraries/Headers NOT found, NOT compiling Python Gadgets")
    set(BUILD_PYTHON_SUPPORT OFF)
  endif()
  if(NOT NUMPY_FOUND)
    message("NumPy NOT found, NOT compiling Python Gadgets")
    set(BUILD_PYTHON_SUPPORT OFF)
  else()
    message("Found numpy : ${NUMPY_INCLUDE_DIRS} ${NUMPY_LIBRARIES}")
  endif()

endif()

option(BUILD_MATLAB_SUPPORT "Build of MATLAB gadgets etc" On)
if (BUILD_MATLAB_SUPPORT)
  find_package(GMatlab)
  if (MATLAB_FOUND)
  ADD_DEFINITIONS(-DUSE_MATLAB)
endif (MATLAB_FOUND)
    add_definitions(-DUSE_MATLAB)
  else()
    set(BUILD_MATLAB_SUPPORT OFF)
  endif ()
else()
  # explicitly set it, just in case BUILD_MATLAB_SUPPORT was set to OFF
  # after Matlab was already found.
  set(MATLAB_FOUND OFF)
endif ()

message("Searching for OpenGL, GLEW, GLUT, and Qt. These libraries are only used in a single standalone application and are thus non-essential.")
if(WIN32)
  message("For Windows users in particular, for ease of installation we do not reccomend installing these libraries.")
endif(WIN32)
endif()

find_package(OpenGL)
find_package(GLEW)
find_package(GLUT)
find_package(Qt4 4.6)
find_package(PLplot)

add_subdirectory(toolboxes)
add_subdirectory(apps)
@@ -279,6 +366,12 @@ else()
  message("Required dependencies for gadget compilation not found (ACE, ISMRMRD, FFTW3, HDF5).")
endif()

option(BUILD_WITH_GPERFTOOLS_PROFILER "Build with the gperftools profiler." Off)
if (BUILD_WITH_GPERFTOOLS_PROFILER)
  message("Adding gpertools to build.")
  find_package(Gperftools REQUIRED)
endif()

add_subdirectory(test)
add_subdirectory(cmake)
add_subdirectory(doc)
@@ -288,16 +381,16 @@ add_subdirectory(chroot)
if (WIN32)
  if (GADGETRON_INSTALL_DEPENDENCIES)
    include(${CMAKE_SOURCE_DIR}/cmake/InstallWinDependencies.cmake)
  endif (GADGETRON_INSTALL_DEPENDENCIES)
endif (WIN32)
  endif ()
endif ()

if (UNIX)
  if (NOT APPLE)
    if (GADGETRON_INSTALL_DEPENDENCIES)
      include(${CMAKE_SOURCE_DIR}/cmake/InstallLinuxDependencies.cmake)
    endif (GADGETRON_INSTALL_DEPENDENCIES)
  endif (NOT APPLE)
endif (UNIX)
    endif ()
  endif ()
endif ()

#  ---   Main Library  (end) ----

@@ -309,4 +402,4 @@ if(CPACK_GENERATOR)
  configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack_options.cmake.in" ${GADGETRON_CPACK_CFG_FILE} @ONLY)
  set(CPACK_PROJECT_CONFIG_FILE ${GADGETRON_CPACK_CFG_FILE})
  include(CPack)
endif(CPACK_GENERATOR)
endif()
+4 −1
Original line number Diff line number Diff line
GADGETRON IMAGE RECONSTRUCTION FRAMEWORK
=========================================

Please read LICENSE file for licensing details.

@@ -6,14 +7,16 @@ Detailed installation instructions and manual is available at:

http://gadgetron.github.io

-------------------------------------
General Building Instructions (on Unix platforms)
-------------------------------------------------

```
mkdir build
cd build
cmake ../
make
sudo make install
```

Please check manual for detailed instructions for your platform.
+6 −2
Original line number Diff line number Diff line
IF (ACE_FOUND )
if (ACE_FOUND )
  add_subdirectory(gadgetron)
ENDIF (ACE_FOUND )
endif ()

add_subdirectory(clients)
add_subdirectory(standalone)

if (MATLAB_FOUND )
  add_subdirectory(matlab)
endif ()
+4 −4
Original line number Diff line number Diff line
IF(ACE_FOUND)
if(ACE_FOUND)
  add_subdirectory(utilities)
ENDIF()
endif()

IF(ISMRMRD_FOUND AND HDF5_FOUND)
if(ISMRMRD_FOUND AND HDF5_FOUND)
  add_subdirectory(gadgetron_ismrmrd_client)
ENDIF()
 No newline at end of file
endif()
 No newline at end of file
Loading