From 1002fe0409403a3fd283a7c7872b625e1fb0dc63 Mon Sep 17 00:00:00 2001 From: Felix Albrecht <felix.albrecht@uni-muenster.de> Date: Wed, 10 Oct 2012 22:23:41 +0200 Subject: [PATCH] [cmake] superlu and local/ changes --- CMakeLists.txt.felix | 19 ++++--------------- cmake/FindSuperLU.cmake | 36 ++++++++++++++++++++++++------------ 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt.felix b/CMakeLists.txt.felix index 76e7a56bb..cff5fff45 100644 --- a/CMakeLists.txt.felix +++ b/CMakeLists.txt.felix @@ -1,7 +1,7 @@ PROJECT( dune-detailed-discretizations) SET( CMAKE_CXX_COMPILER - "g++-4.4" CACHE FORCE + "g++-4.6" CACHE FORCE "" ) # cmake settings @@ -33,30 +33,25 @@ SET( POLORDER "POLORDER" ) SET( ALUGRID_BASE_PATH - "${CMAKE_CURRENT_SOURCE_DIR}/../alugrid" CACHE STRING + "${CMAKE_CURRENT_SOURCE_DIR}/../local" CACHE STRING "ALUGRID_BASE_PATH" ) -#SET( ALBERTAGRID_BASE_PATH -# "${CMAKE_CURRENT_SOURCE_DIR}/../alberta" CACHE STRING -# "ALBERTAGRID_BASE_PATH" ) - SET( CUSTOM_FLAGS "-Wall -O0 -DDEBUG -g -fdiagnostics-show-option" CACHE LIST "CUSTOM_FLAGS" ) # boost -set( BOOST_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../boost" ) +set( BOOST_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../local" ) find_package( Boost 1.42.0 REQUIRED ) include_directories(${Boost_INCLUDE_DIR}) link_directories( ${Boost_LIBRARY_DIRS} ) # eigen3 -set( EIGEN3_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../eigen") +set( EIGEN3_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../local/include/eigen3") find_package( Eigen3 REQUIRED) include_directories(${EIGEN3_INCLUDE_DIR}) # superlu -set( SUPERLU_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../superlu" ) find_package( SuperLU REQUIRED) include_directories( ${SUPERLU_INCLUDES} ) link_directories( ${SUPERLU_LIBRARY_DIRS} ) @@ -69,14 +64,8 @@ add_cxx_flags( -DPOLORDER=${POLORDER} ) add_cxx_flags( -I${ALUGRID_BASE_PATH}/include -I${ALUGRID_BASE_PATH}/include/serial -I${ALUGRID_BASE_PATH}/include/duneinterface -DENABLE_ALUGRID ) -#add_cxx_flags( -DENABLE_ALBERTA=1 -# -DWORLDDIM=${GRIDDIM} -# -DALBERTA_DIM=${GRIDDIM} -# -I${ALBERTAGRID_BASE_PATH}/include -# -I${ALBERTAGRID_BASE_PATH}/include/alberta ) add_cxx_flags(-DBOOST_DATE_TIME_NO_LOCALE) link_directories( "${ALUGRID_BASE_PATH}/lib" ) -#link_directories( "${ALBERTAGRID_BASE_PATH}/lib" ) add_cxx_flags(-std=c++0x) add_cxx_flags(${CUSTOM_FLAGS}) diff --git a/cmake/FindSuperLU.cmake b/cmake/FindSuperLU.cmake index 2a3bb13c9..2d9f7d494 100644 --- a/cmake/FindSuperLU.cmake +++ b/cmake/FindSuperLU.cmake @@ -2,20 +2,32 @@ if (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES) set(SUPERLU_FIND_QUIETLY TRUE) endif (SUPERLU_INCLUDES AND SUPERLU_LIBRARIES) -find_path(SUPERLU_INCLUDES - NAMES supermatrix.h - HINTS ${SUPERLU_ROOT} - PATH_SUFFIXES "SRC" "include" - ) +find_package(BLAS) -find_path(SUPERLU_LIBRARY_DIRS - NAMES "libsuperlu.a" "libsuperlu_4.3.a" - HINTS ${SUPERLU_ROOT} - PATH_SUFFIXES "lib" +if(BLAS_FOUND) + + find_path(SUPERLU_INCLUDES + NAMES + superlu/supermatrix.h + PATHS + $ENV{SUPERLUDIR} + ${INCLUDE_INSTALL_DIR} ) - + + find_library(SUPERLU_LIBRARIES superlu PATHS $ENV{SUPERLUDIR} ${LIB_INSTALL_DIR}) + + if(SUPERLU_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX) + set(SUPERLU_LIBRARIES ${SUPERLU_LIBRARIES} -lgfortran) + endif(SUPERLU_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX) + + if(SUPERLU_LIBRARIES) + set(SUPERLU_LIBRARIES ${SUPERLU_LIBRARIES} ${BLAS_LIBRARIES}) + endif(SUPERLU_LIBRARIES) + +endif(BLAS_FOUND) + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(SUPERLU DEFAULT_MSG - SUPERLU_INCLUDES SUPERLU_LIBRARY_DIRS) + SUPERLU_INCLUDES SUPERLU_LIBRARIES) -mark_as_advanced(SUPERLU_INCLUDES SUPERLU_LIBRARY_DIRS) +mark_as_advanced(SUPERLU_INCLUDES SUPERLU_LIBRARIES) -- GitLab