SET(CMAKE_PREFIX_PATH ${_cmake_prefix_path_backup})
MARK_AS_ADVANCED(
- atlas_LIBRARY
- atlcblas_LIBRARY
- atllapack_LIBRARY
- blas_LIBRARY
- eigen_blas_LIBRARY
- f77blas_LIBRARY
- gslcblas_LIBRARY
- lapack_LIBRARY
- m_LIBRARY
- ptf77blas_LIBRARY
- ptlapack_LIBRARY
- refblas_LIBRARY
+ atlas_LIBRARY atlcblas_LIBRARY atllapack_LIBRARY blas_LIBRARY
+ eigen_blas_LIBRARY f77blas_LIBRARY gslcblas_LIBRARY lapack_LIBRARY
+ m_LIBRARY ptf77blas_LIBRARY ptlapack_LIBRARY refblas_LIBRARY
reflapack_LIBRARY
)
FIND_UMFPACK_LIBRARY(CAMD camd)
FIND_UMFPACK_LIBRARY(SuiteSparse_config suitesparseconfig)
+#
+# Test whether libsuitesparseconfig.xxx can be used for shared library
+# linkage. If not, exclude it from the command line.
+#
+LIST(APPEND CMAKE_REQUIRED_LIBRARIES
+ "-shared"
+ ${SuiteSparse_config_LIBRARY}
+ )
+SET(CMAKE_REQUIRED_FLAGS ${DEAL_II_CXX_FLAGS})
+CHECK_CXX_SOURCE_COMPILES("extern int SuiteSparse_version (int[3]);
+ void foo(int bar[3]) { SuiteSparse_version(bar);}"
+ LAPACK_SUITESPARSECONFIG_WITH_PIC
+ )
+RESET_CMAKE_REQUIRED()
+
IF(EXISTS ${UMFPACK_INCLUDE_DIR}/umfpack.h)
FILE(STRINGS "${UMFPACK_INCLUDE_DIR}/umfpack.h" UMFPACK_VERSION_MAJOR_STRING
REGEX "#define.*UMFPACK_MAIN_VERSION")
${COLAMD_LIBRARY}
${CAMD_LIBRARY}
${AMD_LIBRARY}
- ${SuiteSparse_config_LIBRARY}
)
+ IF(LAPACK_SUITESPARSECONFIG_WITH_PIC OR NOT BUILD_SHARED_LIBS)
+ LIST(APPEND UMFPACK_LIBRARIES ${SuiteSparse_config_LIBRARY})
+ ENDIF()
#
# For good measure:
#
# Sanity check: The variables defined in DEAL_II_REMOVED_FLAGS must not be
-# used during the comfiguration stage:
+# used during the configuration stage:
#
FOREACH(_flag ${DEAL_II_REMOVED_FLAGS})
IF(NOT "${_flag}" STREQUAL "")
#
# Cleanup deal.IITargets.cmake in the build directory:
#
-FILE(WRITE
+FILE(REMOVE
${CMAKE_BINARY_DIR}/${DEAL_II_PROJECT_CONFIG_RELDIR}/${DEAL_II_PROJECT_CONFIG_NAME}Targets.cmake
- ""
)
<h3>Specific improvements</h3>
<ol>
+ <li>Fixed: A configuration error on Debian Testing where accidentally a
+ non-pic libSuiteSparse_config.a was picked up when building a shared
+ library up resulting in a link error.
+ <br>
+ (Matthias Maier, 2014/02/04)
+
<li> Changed: GridTools::transform() can now deal with meshes with hanging nodes.
<br>
(Timo Heister, 2014/02/04)