Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects
Commit 979d342f authored by gsell's avatar gsell
Browse files

CMake configuration cleanup and changes for H5hut >= 1.99.11

parent 04851d68
No related branches found
No related tags found
No related merge requests found
/CMakeCache.txt
/Makefile
/build
classic/5.0/src/AbsBeamline/CMakeFiles
classic/5.0/src/AbsBeamline/Makefile
classic/5.0/src/AbsBeamline/cmake_install.cmake
......@@ -53,6 +56,7 @@ classic/5.0/src/Utilities/Makefile
classic/5.0/src/Utilities/cmake_install.cmake
classic/5.0/src/cmake_install.cmake
classic/5.0/src/config.h
/cmake_install.cmake
src/AbstractObjects/CMakeFiles
src/AbstractObjects/Makefile
src/AbstractObjects/cmake_install.cmake
......@@ -71,6 +75,7 @@ src/Attributes/cmake_install.cmake
src/BasicActions/CMakeFiles
src/BasicActions/Makefile
src/BasicActions/cmake_install.cmake
src/CMakeFiles
src/Distribution/CMakeFiles
src/Distribution/Makefile
src/Distribution/cmake_install.cmake
......@@ -89,6 +94,7 @@ src/Expressions/cmake_install.cmake
src/Lines/CMakeFiles
src/Lines/Makefile
src/Lines/cmake_install.cmake
src/Makefile
src/Match/CMakeFiles
src/Match/Makefile
src/Match/cmake_install.cmake
......@@ -116,3 +122,6 @@ src/Utilities/cmake_install.cmake
src/ValueDefinitions/CMakeFiles
src/ValueDefinitions/Makefile
src/ValueDefinitions/cmake_install.cmake
src/cmake_install.cmake
src/config.h
src/opal
......@@ -5,6 +5,9 @@ SET (OPAL_VERSION_MINOR 1.9)
SET (CMAKE_CXX_COMPILER ${MPI_COMPILER})
MESSAGE (STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
MESSAGE (STATUS "MPI_COMPILER: ${iMPI_COMPILER}")
IF (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
SET (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
......@@ -23,14 +26,14 @@ SET (CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
# Resolve all library dependencies
SET (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules")
FIND_PACKAGE (IPPL REQUIRED HINTS $ENV{IPPL_PREFIX})
MESSAGE (STATUS "Found IPPL library dir: ${IPPL_LIBRARY_DIR}")
FIND_PACKAGE (IPPL REQUIRED HINTS $ENV{IPPL_PREFIX} $ENV{IPPL_DIR} $ENV{IPPL})
MESSAGE (STATUS "Found IPPL library: ${IPPL_LIBRARY}")
MESSAGE (STATUS "Found IPPL include dir: ${IPPL_INCLUDE_DIR}")
FIND_PACKAGE (H5Hut REQUIRED)
FIND_PACKAGE (HDF5 REQUIRED)
FIND_PACKAGE (GSL REQUIRED)
FIND_PACKAGE (MPI REQUIRED)
# Handle options
OPTION (ENABLE_ML_SOLVER "Enable iteartive SA-AMG-PCG self field solver" OFF)
......@@ -81,113 +84,100 @@ ENDIF (NO_FIELD_ASSIGN_OPTIMIZATION)
IF (ENABLE_ML_SOLVER)
# Get Trilinos as one entity
FIND_PACKAGE(Trilinos REQUIRED HINTS $ENV{TRILINOS})
FIND_PACKAGE(Trilinos REQUIRED HINTS $ENV{TRILINOS_PREFIX} $ENV{TRILINOS_DIR} $ENV{TRILINOS})
SET (Trilinos_LIBRARIES "${Trilinos_LIBRARIES} -lgfortran"
)
IF (NOT Trilinos_FOUND)
MESSAGE (FATAL_ERROR "Could not find Trilinos!")
ENDIF (NOT Trilinos_FOUND)
# Echo trilinos build info just for fun
MESSAGE (STATUS "\nFound Trilinos! Here are the details: ")
MESSAGE (STATUS " Trilinos_DIR = ${Trilinos_DIR}")
MESSAGE (STATUS " Trilinos_VERSION = ${Trilinos_VERSION}")
MESSAGE (STATUS " Trilinos_PACKAGE_LIST = ${Trilinos_PACKAGE_LIST}")
MESSAGE (STATUS " Trilinos_LIBRARIES = ${Trilinos_LIBRARIES}")
MESSAGE (STATUS " Trilinos_INCLUDE_DIRS = ${Trilinos_INCLUDE_DIRS}")
MESSAGE (STATUS " Trilinos_LIBRARY_DIRS = ${Trilinos_LIBRARY_DIRS}")
MESSAGE (STATUS " Trilinos_TPL_LIST = ${Trilinos_TPL_LIST}")
MESSAGE (STATUS " Trilinos_TPL_INCLUDE_DIRS = ${Trilinos_TPL_INCLUDE_DIRS}")
MESSAGE (STATUS " Trilinos_TPL_LIBRARIES = ${Trilinos_TPL_LIBRARIES}")
MESSAGE (STATUS " Trilinos_TPL_LIBRARY_DIRS = ${Trilinos_TPL_LIBRARY_DIRS}")
MESSAGE (STATUS " Trilinos_BUILD_SHARED_LIBS = ${Trilinos_BUILD_SHARED_LIBS}")
MESSAGE (STATUS "End of Trilinos details\n")
MESSAGE (STATUS "Found Trilinos: ${Trilinos_DIR}")
MESSAGE (STATUS " Trilinos version: ${Trilinos_VERSION}")
MESSAGE (STATUS " Trilinos package list: ${Trilinos_PACKAGE_LIST}")
MESSAGE (STATUS " Trilinos libraries: ${Trilinos_LIBRARIES}")
MESSAGE (STATUS " Trilinos TPL libraries: ${Trilinos_TPL_LIBRARIES}")
# Make sure to use same compilers and flags as Trilinos
#SET(CMAKE_C_COMPILER ${Trilinos_C_COMPILER} )
#SET(CMAKE_CXX_COMPILER ${Trilinos_CXX_COMPILER} )
#SET(CMAKE_Fortran_COMPILER ${Trilinos_Fortran_COMPILER} )
IF (NOT ${CMAKE_CXX_COMPILER} STREQUAL ${Trilinos_CXX_COMPILER} )
MESSAGE (STATUS "Compiler mismatch:")
MESSAGE (STATUS " Trilinos was compiled with:")
MESSAGE (STATUS " ${Trilinos_C_COMPILER}")
MESSAGE (STATUS " ${Trilinos_CXX_COMPILER}")
MESSAGE (STATUS " ${Trilinos_Fortran_COMPILER}")
MESSAGE (STATUS " You are using:")
MESSAGE (STATUS " ${CMAKE_C_COMPILER}")
MESSAGE (STATUS " ${CMAKE_CXX_COMPILER}")
MESSAGE (STATUS " ${CMAKE_Fortran_COMPILER}")
MESSAGE (FATAL_ERROR "Oops ...")
ENDIF ()
#SET(CMAKE_CXX_FLAGS "${Trilinos_CXX_COMPILER_FLAGS} ${CMAKE_CXX_FLAGS}")
#SET(CMAKE_C_FLAGS "${Trilinos_C_COMPILER_FLAGS} ${CMAKE_C_FLAGS}")
#SET(CMAKE_Fortran_FLAGS "${Trilinos_Fortran_COMPILER_FLAGS} ${CMAKE_Fortran_FLAGS}")
ENDIF (ENABLE_ML_SOLVER)
MESSAGE (STATUS "Using C++ compiler: ${CMAKE_CXX_COMPILER}")
# compiler dependent flags
STRING (REGEX REPLACE ".*/([A-Za-z]*)$" "\\1" COMPILER_NAME ${CMAKE_CXX_COMPILER})
MESSAGE (STATUS "Your compiler is: ${COMPILER_NAME}")
IF ("${COMPILER_NAME}" STREQUAL "mpicxx")
SET (MPI_UNDERLYING_COMPILER
"")
EXECUTE_PROCESS (COMMAND ${CMAKE_CXX_COMPILER} -show
OUTPUT_VARIABLE MPI_COMPILER_OUTPUT
ERROR_VARIABLE MPI_COMPILER_ERROR)
IF ("${MPI_COMPILER_ERROR}" STREQUAL "")
STRING (REGEX REPLACE "([A-Za-z.0-9/]*) .*$" "\\1" MPI_UNDERLYING_COMPILER ${MPI_COMPILER_OUTPUT})
STRING (REGEX REPLACE "/" ";" MPI_UNDERLYING_COMPILER_SPLIT ${MPI_UNDERLYING_COMPILER})
LIST (REVERSE MPI_UNDERLYING_COMPILER_SPLIT)
LIST (GET MPI_UNDERLYING_COMPILER_SPLIT 0 MPI_UNDERLYING_COMPILER_NAME)
ENDIF ("${MPI_COMPILER_ERROR}" STREQUAL "")
IF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
# using intel compiler
MESSAGE (STATUS "The underlying compiler of ${COMPILER_NAME} is: icpc")
SET (MPI_UNDERLYING_COMPILER "")
EXECUTE_PROCESS (COMMAND ${CMAKE_CXX_COMPILER} -show
OUTPUT_VARIABLE MPI_COMPILER_OUTPUT
ERROR_VARIABLE MPI_COMPILER_ERROR)
IF ("${MPI_COMPILER_ERROR}" STREQUAL "")
STRING (REGEX REPLACE "([A-Za-z.0-9/]*) .*$" "\\1" MPI_UNDERLYING_COMPILER ${MPI_COMPILER_OUTPUT})
STRING (REGEX REPLACE "/" ";" MPI_UNDERLYING_COMPILER_SPLIT ${MPI_UNDERLYING_COMPILER})
LIST (REVERSE MPI_UNDERLYING_COMPILER_SPLIT)
LIST (GET MPI_UNDERLYING_COMPILER_SPLIT 0 MPI_UNDERLYING_COMPILER_NAME)
ENDIF ("${MPI_COMPILER_ERROR}" STREQUAL "")
IF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
# using intel compiler
MESSAGE (STATUS "The underlying compiler is: icpc")
SET (OTHER_CMAKE_CXX_FLAGS
"-diag-disable 383 -diag-disable 981 ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "clang++")
# using clang compiler
MESSAGE (STATUS "The underlying compiler is: clang++")
SET (OTHER_CMAKE_CXX_FLAGS
"-Wsign-compare -Wunused-variable -Warray-bounds -DIPPL_RESTRICT_BUG ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "g++")
# using gnu compiler
MESSAGE (STATUS "The underlying compiler is: g++")
EXECUTE_PROCESS (COMMAND ${MPI_UNDERLYING_COMPILER} --version
OUTPUT_VARIABLE GCC_VERSION_OUTPUT
ERROR_VARIABLE GCC_VERSION_ERROR)
STRING (REGEX REPLACE ".*([0-9]\\.[0-9]\\.[0-9]).*" "\\1" GCC_VERSION ${GCC_VERSION_OUTPUT})
MESSAGE (STATUS "Your gcc version is: ${GCC_VERSION}")
IF (${GCC_VERSION} VERSION_LESS "4.5.0")
MESSAGE (FATAL_ERROR "To build OPAL you need gcc version 4.5.0 or greater")
ELSEIF (${GCC_VERSION} VERSION_LESS "4.6.0")
SET (OTHER_CMAKE_CXX_FLAGS
"-diag-disable 383 -diag-disable 981 ${OTHER_CMAKE_CXX_FLAGS}")
"-DOPAL_NOCPLUSPLUS11_NULLPTR -DOPAL_NOCPLUSPLUS11_FOREACH ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF (${GCC_VERSION} VERSION_LESS "4.7.0")
SET (CMAKE_CXX_FLAGS
"-Wall -Werror -Wno-reorder -std=c++0x $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "clang++")
# using clang compiler
MESSAGE (STATUS "The underlying compiler of ${COMPILER_NAME} is: clang++")
ELSEIF (${GCC_VERSION} VERSION_EQUAL "4.7.0")
SET (OTHER_CMAKE_CXX_FLAGS
"-Wsign-compare -Wunused-variable -Warray-bounds -DIPPL_RESTRICT_BUG ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "g++")
# using gnu compiler
MESSAGE (STATUS "The underlying compiler of ${COMPILER_NAME} is: g++")
EXECUTE_PROCESS (COMMAND ${MPI_UNDERLYING_COMPILER} --version
OUTPUT_VARIABLE GCC_VERSION_OUTPUT
ERROR_VARIABLE GCC_VERSION_ERROR)
STRING (REGEX REPLACE ".*([0-9]\\.[0-9]\\.[0-9]).*" "\\1" GCC_VERSION ${GCC_VERSION_OUTPUT})
MESSAGE (STATUS "Your gcc version is: ${GCC_VERSION}")
IF (${GCC_VERSION} VERSION_LESS "4.5.0")
MESSAGE (FATAL_ERROR "To build OPAL you need gcc version 4.5.0 or greater")
ELSEIF (${GCC_VERSION} VERSION_LESS "4.6.0")
SET (OTHER_CMAKE_CXX_FLAGS
"-DOPAL_NOCPLUSPLUS11_NULLPTR -DOPAL_NOCPLUSPLUS11_FOREACH ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF (${GCC_VERSION} VERSION_EQUAL "4.7.0")
SET (OTHER_CMAKE_CXX_FLAGS
"-DdontOPTIMIZE_FIELD_ASSIGNMENT ${OTHER_CMAKE_CXX_FLAGS}")
ENDIF (${GCC_VERSION} VERSION_LESS "4.5.0")
ELSE ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
# using unknown compiler
MESSAGE (STATUS "${COMPILER_NAME} is using a compiler (${MPI_UNDERLYING_COMPILER}) we were not thinking of!
Please use the gnu compiler or the intel compiler IF you are having problems.")
ENDIF ("${MPI_UNDERLYING_COMPILER_NAME}" STREQUAL "icpc")
ELSE ("${COMPILER_NAME}" STREQUAL "mpicxx")
# using unknown mpi implementation
MESSAGE (STATUS "You are using an unsupported MPI compiler: ${COMPILER_NAME}!
Please use the OpenMPI or MPICH IF you are having problems.")
ENDIF ("${COMPILER_NAME}" STREQUAL "mpicxx")
IF (${GCC_VERSION} VERSION_LESS "4.7.0")
SET (CMAKE_CXX_FLAGS
"-Wall -Werror -Wno-reorder -std=c++0x $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF (${GCC_VERSION} VERSION_GREATER "4.7")
SET (CMAKE_CXX_FLAGS
"-Wall -Werror -Wno-reorder -std=c++11 $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
#Make sure the members appear in the initializer list in the same order as they appear in the class or turn -Wno-reorder
ENDIF (${GCC_VERSION} VERSION_LESS "4.7.0")
"-DdontOPTIMIZE_FIELD_ASSIGNMENT ${OTHER_CMAKE_CXX_FLAGS}")
ELSEIF (${GCC_VERSION} VERSION_GREATER "4.7")
SET (CMAKE_CXX_FLAGS
"-Wall -Werror -Wno-reorder -std=c++11 $ENV{CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${OTHER_CMAKE_CXX_FLAGS}")
ENDIF ()
ELSE ()
# using unknown compiler
MESSAGE (STATUS "${CMAKE_CXX_COMPILER} is using a compiler (${MPI_UNDERLYING_COMPILER}) we were not thinking of!
Please use the gnu compiler or the intel compiler IF you are having problems.")
ENDIF ()
MESSAGE (STATUS "Compiling with ${CMAKE_CXX_FLAGS}")
......
......@@ -10,18 +10,18 @@
# GSL_FOUND - do not attempt to use if "no" or undefined.
FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_fft.h
HINTS $ENV{GSL_PREFIX}/include
HINTS $ENV{GSL_INCLUDE_PATH} $ENV{GSL_INCLUDE_DIR} $ENV{GSL_PREFIX}/include $ENV{GSL_DIR}/include $ENV{GSL}/include
PATHS ENV CPP_INCLUDE_PATH
)
FIND_LIBRARY(GSL_LIBRARY gsl
HINTS $ENV{GSL_PREFIX}/lib
HINTS $ENV{GSL_LIBRARY_PATH} $ENV{GSL_LIBRARY_DIR} $ENV{GSL_PREFIX}/lib $ENV{GSL_DIR}/lib $ENV{GSL}/lib
PATHS ENV LIBRARY_PATH
)
FIND_LIBRARY(GSL_LIBRARY_CBLAS gslcblas
HINTS $ENV{GSL_PREFIX}/lib
HINTS $ENV{GSL_LIBRARY_PATH} $ENV{GSL_LIBRARY_DIR} $ENV{GSL_PREFIX}/lib $ENV{GSL_DIR}/lib $ENV{GSL}/lib
PATHS ENV LIBRARY_PATH
)
......@@ -36,7 +36,7 @@ ENDIF(GSL_INCLUDE_DIR AND GSL_LIBRARY)
IF (GSL_FOUND)
IF (NOT GSL_FIND_QUIETLY)
MESSAGE(STATUS "Found GSL library dir: ${GSL_LIBRARY}")
MESSAGE(STATUS "Found GSL libraries: ${GSL_LIBRARY}")
MESSAGE(STATUS "Found GSL include dir: ${GSL_INCLUDE_DIR}")
ENDIF (NOT GSL_FIND_QUIETLY)
ELSE (GSL_FOUND)
......
......@@ -10,28 +10,22 @@
# H5Hut_FOUND - do not attempt to use if "no" or undefined.
FIND_PATH(H5Hut_INCLUDE_DIR H5hut.h
HINTS $ENV{H5hut}/src $ENV{H5hut}/include
HINTS $ENV{H5HUT_INCLUDE_PATH} $ENV{H5HUT_INCLUDE_DIR} $ENV{H5HUT}/include $ENV{H5HUT_PREFIX}/include $ENV{H5HUT_DIR}/include $ENV{H5hut}/include
PATHS ENV C_INCLUDE_PATH
)
FIND_LIBRARY(H5Hut_LIBRARY H5hut
HINTS $ENV{H5hut}/lib
HINTS $ENV{H5HUT_LIBRARY_PATH} $ENV{H5HUT_LIBRARY_DIR} $ENV{H5HUT}/lib $ENV{H5HUT_PREFIX}/lib $ENV{H5HUT_DIR}/lib $ENV{H5hut}/lib
PATHS ENV LIBRARY_PATH
)
FIND_LIBRARY(H5Hut_LIBRARY_C H5hutC
HINTS $ENV{H5hut}/lib
PATHS ENV LIBRARY_PATH
)
IF(H5Hut_INCLUDE_DIR AND H5Hut_LIBRARY)
SET( H5Hut_FOUND "YES" )
ENDIF(H5Hut_INCLUDE_DIR AND H5Hut_LIBRARY)
IF (H5Hut_FOUND)
IF (NOT H5Hut_FIND_QUIETLY)
MESSAGE(STATUS "Found H5Hut library dir: ${H5Hut_LIBRARY}; ${H5Hut_LIBRARY_C}")
MESSAGE(STATUS "Found H5Hut libraries: ${H5Hut_LIBRARY}")
MESSAGE(STATUS "Found H5Hut include dir: ${H5Hut_INCLUDE_DIR}")
ENDIF (NOT H5Hut_FIND_QUIETLY)
ELSE (H5Hut_FOUND)
......
......@@ -12,12 +12,12 @@
SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
FIND_PATH(HDF5_INCLUDE_DIR hdf5.h
HINTS $ENV{HDF5_INCLUDE_PATH}
PATHS ENV CPLUS_INCLUDE_PATH
HINTS $ENV{HDF5_INCLUDE_PATH} $ENV{HDF5_INCLUDE_DIR} $ENV{HDF5_PREFIX}/include $ENV{HDF5_DIR}/include $ENV{HDF5}/include
PATHS ENV C_INCLUDE_PATH
)
FIND_LIBRARY(HDF5_LIBRARY libhdf5.a
HINTS $ENV{HDF5_LIBRARY_PATH}
HINTS $ENV{HDF5_LIBRARY_PATH} $ENV{HDF5_LIBRARY_DIR} $ENV{HDF5_PREFIX}/lib $ENV{HDF5_DIR}/lib $ENV{HDF5}/lib
PATHS ENV LIBRARY_PATH
)
......@@ -28,7 +28,7 @@ ENDIF(HDF5_INCLUDE_DIR AND HDF5_LIBRARY)
IF (HDF5_FOUND)
IF (NOT HDF5_FIND_QUIETLY)
MESSAGE(STATUS "Found HDF5 library dir: ${HDF5_LIBRARY}")
MESSAGE(STATUS "Found HDF5 library: ${HDF5_LIBRARY}")
MESSAGE(STATUS "Found HDF5 include dir: ${HDF5_INCLUDE_DIR}")
ENDIF (NOT HDF5_FIND_QUIETLY)
ELSE (HDF5_FOUND)
......
......@@ -101,7 +101,6 @@ link_directories (
set (OPAL_LIBS
m
${GSL_LIBRARY}
${H5Hut_LIBRARY_C}
${H5Hut_LIBRARY}
${HDF5_LIBRARY}
${IPPL_LIBRARY}
......@@ -109,7 +108,7 @@ set (OPAL_LIBS
)
add_executable( opal ${OPAL_SRCS} Main.cpp )
target_link_libraries( opal CLASSIC ${OPAL_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES})
target_link_libraries( opal CLASSIC ${OPAL_LIBS} ${Trilinos_LIBRARIES} ${Trilinos_TPL_LIBRARIES} -lgfortran)
if (BUILD_LIBOPAL)
add_library( OPAL ${OPAL_SRCS} opal.cpp )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment