From 979d342fd74d6bf1fbf7b0f1868ec76a6cee2d24 Mon Sep 17 00:00:00 2001 From: Achim Gsell <achim.gsell@psi.ch> Date: Fri, 23 Aug 2013 08:11:39 +0000 Subject: [PATCH] CMake configuration cleanup and changes for H5hut >= 1.99.11 --- .gitignore | 9 ++ CMakeLists.txt | 180 +++++++++++++++++------------------ CMakeModules/FindGSL.cmake | 8 +- CMakeModules/FindH5Hut.cmake | 12 +-- CMakeModules/FindHDF5.cmake | 8 +- src/CMakeLists.txt | 3 +- 6 files changed, 106 insertions(+), 114 deletions(-) diff --git a/.gitignore b/.gitignore index acd6aa1e5..7aa1319ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +/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 diff --git a/CMakeLists.txt b/CMakeLists.txt index e1d676d17..345bf089c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") diff --git a/CMakeModules/FindGSL.cmake b/CMakeModules/FindGSL.cmake index f55d82d1f..6b16d530a 100644 --- a/CMakeModules/FindGSL.cmake +++ b/CMakeModules/FindGSL.cmake @@ -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) diff --git a/CMakeModules/FindH5Hut.cmake b/CMakeModules/FindH5Hut.cmake index 6581b2baa..67169f115 100644 --- a/CMakeModules/FindH5Hut.cmake +++ b/CMakeModules/FindH5Hut.cmake @@ -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) diff --git a/CMakeModules/FindHDF5.cmake b/CMakeModules/FindHDF5.cmake index e65833565..429d5930d 100644 --- a/CMakeModules/FindHDF5.cmake +++ b/CMakeModules/FindHDF5.cmake @@ -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) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1c7c2a2e3..46c71d114 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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 ) -- GitLab